Build script alterations, submodule update
This commit is contained in:
parent
272cc31b28
commit
703a31580e
6 changed files with 105 additions and 18 deletions
|
|
@ -29,6 +29,7 @@ cur_wd = os.getcwd()
|
|||
release_dir = os.path.join(cur_wd, "releases")
|
||||
|
||||
terraria_bin_name = "TerrariaServer.exe"
|
||||
otapi_bin_name = "OTAPI.dll"
|
||||
mysql_bin_name = "MySql.Data.dll"
|
||||
sqlite_dep_name = "sqlite3.dll"
|
||||
sqlite_bin_name = "Mono.Data.Sqlite.dll"
|
||||
|
|
@ -39,13 +40,14 @@ tshock_symbols = "TShockAPI.dll.mdb"
|
|||
bcrypt_bin_name = "BCrypt.Net.dll"
|
||||
geoip_db_name = "GeoIP.dat"
|
||||
|
||||
terraria_release_bin = os.path.join(cur_wd, "TerrariaServerAPI", "bin", "Release", terraria_bin_name)
|
||||
terraria_debug_bin = os.path.join(cur_wd, "TerrariaServerAPI", "bin", "Debug", terraria_bin_name)
|
||||
terraria_release_bin = os.path.join(cur_wd, "TerrariaServerAPI", "TerrariaServerAPI", "bin", "Release", terraria_bin_name)
|
||||
terraria_debug_bin = os.path.join(cur_wd, "TerrariaServerAPI", "TerrariaServerAPI", "bin", "Debug", terraria_bin_name)
|
||||
otapi_bin = os.path.join(cur_wd, "TerrariaServerAPI", "TerrariaServerAPI", "bin", "Release", otapi_bin_name)
|
||||
mysql_bin = os.path.join(cur_wd, "packages", "MySql.Data.6.9.8", "lib", "net45", mysql_bin_name)
|
||||
sqlite_dep = os.path.join(cur_wd, "prebuilts", sqlite_dep_name)
|
||||
sqlite_bin = os.path.join(cur_wd, "prebuilts", sqlite_bin_name)
|
||||
http_bin = os.path.join(cur_wd, "prebuilts", http_bin_name)
|
||||
json_bin = os.path.join(cur_wd, "packages", "Newtonsoft.Json.8.0.3", "lib", "net45", json_bin_name)
|
||||
json_bin = os.path.join(cur_wd, "packages", "Newtonsoft.Json.9.0.1", "lib", "net45", json_bin_name)
|
||||
bcrypt_bin = os.path.join(cur_wd, "packages", "BCrypt.Net.0.1.0", "lib", "net35", bcrypt_bin_name)
|
||||
geoip_db = os.path.join(cur_wd, "prebuilts", geoip_db_name)
|
||||
release_bin = os.path.join(cur_wd, "TShockAPI", "bin", "Release", tshock_bin_name)
|
||||
|
|
@ -66,18 +68,20 @@ def copy_dependencies():
|
|||
|
||||
def copy_debug_files():
|
||||
shutil.copy(terraria_debug_bin, release_dir)
|
||||
shutil.copy(otapi_bin, release_dir)
|
||||
shutil.copy(os.path.join(debug_folder, tshock_bin_name), release_dir)
|
||||
shutil.copy(os.path.join(debug_folder, tshock_symbols), release_dir)
|
||||
|
||||
def copy_release_files():
|
||||
shutil.copy(terraria_release_bin, release_dir)
|
||||
shutil.copy(release_bin, release_dir)
|
||||
shutil.copy(otapi_bin, release_dir)
|
||||
shutil.copy(release_bin, release_dir)
|
||||
|
||||
def create_base_zip(name):
|
||||
os.chdir(release_dir)
|
||||
zip = zipfile.ZipFile(name, "w")
|
||||
zip.write(terraria_bin_name)
|
||||
zip.write(otapi_bin_name)
|
||||
zip.write(sqlite_dep_name)
|
||||
zip.write(geoip_db_name)
|
||||
zip.write(http_bin_name, os.path.join("ServerPlugins", http_bin_name))
|
||||
|
|
@ -136,6 +140,44 @@ def upload_artifacts():
|
|||
def update_terraria_source():
|
||||
subprocess.check_call(['/usr/bin/git', 'submodule', 'init'])
|
||||
subprocess.check_call(['/usr/bin/git', 'submodule', 'update'])
|
||||
subprocess.check_call(['nuget', 'restore', 'TerrariaServerAPI/'])
|
||||
|
||||
def run_bootstrapper():
|
||||
for build_config in ['Debug','Release'] :
|
||||
mod_bootstrapper_proc = subprocess.Popen(['xbuild', './TerrariaServerAPI/TShock.Modifications.Bootstrapper/TShock.Modifications.Bootstrapper.csproj', '/p:Configuration=' + build_config])
|
||||
mod_clientuuid_proc = subprocess.Popen(['xbuild', './TerrariaServerAPI/TShock.Modifications.ClientUUID/TShock.Modifications.ClientUUID.csproj', '/p:Configuration=' + build_config])
|
||||
mod_explosives_proc = subprocess.Popen(['xbuild', './TerrariaServerAPI/TShock.Modifications.Explosives/TShock.Modifications.Explosives.csproj', '/p:Configuration=' + build_config])
|
||||
mod_ssc_proc = subprocess.Popen(['xbuild', './TerrariaServerAPI/TShock.Modifications.SSC/TShock.Modifications.SSC.csproj', '/p:Configuration=' + build_config])
|
||||
|
||||
mod_bootstrapper_proc.wait()
|
||||
mod_clientuuid_proc.wait()
|
||||
mod_explosives_proc.wait()
|
||||
mod_ssc_proc.wait()
|
||||
|
||||
if (mod_bootstrapper_proc.returncode != 0):
|
||||
raise CalledProcessError(mod_bootstrapper_proc.returncode)
|
||||
if (mod_clientuuid_proc.returncode != 0):
|
||||
raise CalledProcessError(mod_clientuuid_proc.returncode)
|
||||
if (mod_explosives_proc.returncode != 0):
|
||||
raise CalledProcessError(mod_explosives_proc.returncode)
|
||||
if (mod_ssc_proc.returncode != 0):
|
||||
raise CalledProcessError(mod_ssc_proc.returncode)
|
||||
|
||||
# run the bootstrapper to generate the new OTAPI.dll
|
||||
os.chdir('./TerrariaServerAPI/TShock.Modifications.Bootstrapper/bin/' + build_config)
|
||||
bootstrapper_proc = subprocess.Popen(['mono', 'TShock.Modifications.Bootstrapper.exe', '-in=OTAPI.dll', '-mod=../../../TShock.Modifications.**/bin/' + build_config + '/TShock.Modifications.*.dll', '-o=Output/OTAPI.dll'])
|
||||
os.chdir(cur_wd)
|
||||
|
||||
bootstrapper_proc.wait()
|
||||
if (bootstrapper_proc.returncode != 0):
|
||||
raise CalledProcessError(bootstrapper_proc.returncode)
|
||||
|
||||
tsapi_proc = subprocess.Popen(['xbuild', './TerrariaServerAPI/TerrariaServerAPI/TerrariaServerAPI.csproj', '/p:Configuration=' + build_config])
|
||||
|
||||
tsapi_proc.wait()
|
||||
|
||||
if (tsapi_proc.returncode != 0):
|
||||
raise CalledProcessError(tsapi_proc.returncode)
|
||||
|
||||
def build_software():
|
||||
release_proc = subprocess.Popen(['xbuild', './TShockAPI/TShockAPI.csproj', '/p:Configuration=Release'])
|
||||
|
|
@ -146,10 +188,12 @@ def build_software():
|
|||
raise CalledProcessError(release_proc.returncode)
|
||||
if (debug_proc.returncode != 0):
|
||||
raise CalledProcessError(debug_proc.returncode)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
create_release_folder()
|
||||
update_terraria_source()
|
||||
run_bootstrapper();
|
||||
copy_dependencies()
|
||||
build_software()
|
||||
package_release()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue