forked from tModLoader/tModLoader
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCompleteRelease.bat
130 lines (107 loc) · 5.58 KB
/
CompleteRelease.bat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
:: After Pulling, Patching, and making sure the version number is changed in src, this bat will compile and create zips for all release.
:: It will also create a zip for ExampleMod
@ECHO off
:: Compile/Build exe
echo "Building Release"
set version=v0.11 Beta 3
call buildRelease.bat
set destinationFolder=.\tModLoader %version% Release
@IF %ERRORLEVEL% NEQ 0 (
pause
EXIT /B %ERRORLEVEL%
)
@ECHO on
:: Make up-to-date Installers
cd ..\installer2
call createInstallers.bat
cd ..\solutions
:: Folder for release
mkdir "%destinationFolder%"
:: Temp Folders
set win=%destinationFolder%\tModLoader Windows %version%
set mac=%destinationFolder%\tModLoader Mac %version%
set lnx=%destinationFolder%\tModLoader Linux %version%
set winmc=%destinationFolder%\ModCompile_Windows
set monomc=%destinationFolder%\ModCompile_Mono
mkdir "%win%"
mkdir "%mac%"
mkdir "%lnx%"
mkdir "%winmc%"
mkdir "%monomc%"
:: TODO: Automatically create version string file. Or have setup.sln copy it to ReleaseExtras
:: Windows release
copy ..\src\tModLoader\bin\WindowsRelease\net40\Terraria.exe "%win%\Terraria.exe" /y
copy ..\src\tModLoader\bin\WindowsServerRelease\net40\Terraria.exe "%win%\tModLoaderServer.exe" /y
copy ..\installer2\WindowsInstaller.jar "%win%\tModLoaderInstaller.jar" /y
copy ReleaseExtras\README_Windows.txt "%win%\README.txt" /y
copy ReleaseExtras\start-tModLoaderServer.bat "%win%\start-tModLoaderServer.bat" /y
copy ReleaseExtras\start-tModLoaderServer-steam-friends.bat "%win%\start-tModLoaderServer-steam-friends.bat" /y
copy ReleaseExtras\start-tModLoaderServer-steam-private.bat "%win%\start-tModLoaderServer-steam-private.bat" /y
call zipjs.bat zipDirItems -source "%win%" -destination "%win%.zip" -keep yes -force yes
:: Windows ModCompile
copy ..\src\tModLoader\bin\MacRelease\net40\Terraria.exe "%winmc%\tModLoaderMac.exe" /y
copy ..\references\FNA.dll "%winmc%\FNA.dll" /y
copy ..\references\Mono.Cecil.Pdb.dll "%winmc%\Mono.Cecil.Pdb.dll" /y
copy ..\references\Mono.Cecil.Mdb.dll "%winmc%\Mono.Cecil.Mdb.dll" /y
copy ..\RoslynWrapper\bin\Release\RoslynWrapper.dll "%winmc%\RoslynWrapper.dll" /y
copy ..\RoslynWrapper\bin\Release\System.Reflection.Metadata.dll "%winmc%\System.Reflection.Metadata.dll" /y
copy ..\RoslynWrapper\bin\Release\System.Collections.Immutable.dll "%winmc%\System.Collections.Immutable.dll" /y
copy ..\RoslynWrapper\bin\Release\Microsoft.CodeAnalysis.dll "%winmc%\Microsoft.CodeAnalysis.dll" /y
copy ..\RoslynWrapper\bin\Release\Microsoft.CodeAnalysis.CSharp.dll "%winmc%\Microsoft.CodeAnalysis.CSharp.dll" /y
copy ..\src\tModLoader\bin\WindowsRelease\net40\Terraria.xml "%winmc%\Terraria.xml" /y
copy ReleaseExtras\version "%winmc%\version" /y
call zipjs.bat zipDirItems -source "%winmc%" -destination "%winmc%.zip" -keep yes -force yes
:: Linux release
copy ..\src\tModLoader\bin\LinuxRelease\net40\Terraria.exe "%lnx%\tModLoader.exe" /y
copy ..\src\tModLoader\bin\LinuxServerRelease\net40\Terraria.exe "%lnx%\tModLoaderServer.exe" /y
copy ReleaseExtras\tModLoader-mono "%lnx%\tModLoader-mono" /y
copy ReleaseExtras\tModLoader-kick "%lnx%\tModLoader-kick" /y
copy ReleaseExtras\tModLoader-kick "%lnx%\tModLoader" /y
copy ReleaseExtras\tModLoader-kick "%lnx%\tModLoaderServer" /y
copy ReleaseExtras\Terraria "%lnx%\Terraria" /y
copy ..\installer2\LinuxInstaller.jar "%lnx%\tModLoaderInstaller.jar" /y
copy ReleaseExtras\README_Linux.txt "%lnx%\README.txt" /y
call zipjs.bat zipDirItems -source "%lnx%" -destination "%lnx%.zip" -keep yes -force yes
:: Mac release
copy "%lnx%" "%mac%"
copy ..\src\tModLoader\bin\MacRelease\net40\Terraria.exe "%mac%\tModLoader.exe" /y
copy ..\src\tModLoader\bin\MacServerRelease\net40\Terraria.exe "%mac%\tModLoaderServer.exe" /y
copy ..\installer2\MacInstaller.jar "%mac%\tModLoaderInstaller.jar" /y
copy ReleaseExtras\README_Mac.txt "%mac%\README.txt" /y
mkdir "%mac%\osx"
copy ReleaseExtras\osx "%mac%\osx" /y
call zipjs.bat zipDirItems -source "%mac%" -destination "%mac%.zip" -keep yes -force yes
:: Mono ModCompile
copy "%winmc%" "%monomc%"
del "%monomc%\tModLoaderMac.exe"
del "%monomc%\FNA.dll"
copy ..\src\tModLoader\bin\WindowsRelease\net40\Terraria.exe "%monomc%\tModLoaderWindows.exe" /y
copy ReleaseExtras\Microsoft.Xna.Framework.dll "%monomc%\Microsoft.Xna.Framework.dll" /y
copy ReleaseExtras\Microsoft.Xna.Framework.Game.dll "%monomc%\Microsoft.Xna.Framework.Game.dll" /y
copy ReleaseExtras\Microsoft.Xna.Framework.Graphics.dll "%monomc%\Microsoft.Xna.Framework.Graphics.dll" /y
copy ReleaseExtras\Microsoft.Xna.Framework.Xact.dll "%monomc%\Microsoft.Xna.Framework.Xact.dll" /y
call zipjs.bat zipDirItems -source "%monomc%" -destination "%monomc%.zip" -keep yes -force yes
:: CleanUp, Delete temp Folders
rmdir "%win%" /S /Q
rmdir "%mac%" /S /Q
rmdir "%lnx%" /S /Q
rmdir "%winmc%" /S /Q
rmdir "%monomc%" /S /Q
:: Copy to public DropBox Folder
::copy "%win%.zip" "C:\Users\Javid\Dropbox\Public\TerrariaModding\tModLoaderReleases\tModLoader Windows %version%.zip"
::copy "%mac%.zip" "C:\Users\Javid\Dropbox\Public\TerrariaModding\tModLoaderReleases\tModLoader Mac %version%.zip"
::copy "%lnx%.zip" "C:\Users\Javid\Dropbox\Public\TerrariaModding\tModLoaderReleases\tModLoader Linux %version%.zip"
:: ExampleMod.zip (TODO, other parts of ExampleMod release)
rmdir ..\ExampleMod\bin /S /Q
rmdir ..\ExampleMod\obj /S /Q
:: TODO: ignore .vs folder
call zipjs.bat zipItem -source "..\ExampleMod" -destination "%destinationFolder%\ExampleMod %version%.zip" -keep yes -force yes
::copy "%destinationFolder%\ExampleMod %version%.zip" "C:\Users\Javid\Dropbox\Public\TerrariaModding\tModLoaderReleases\"
echo(
echo(
echo(
echo tModLoader %version% ready to release.
echo Upload the 6 zip files to github.
echo(
echo(
pause