ForgePatch/forge/package.sh
LexManos 08195cfc03 Streamlined the Setup, Build and Package scripts:
On windows they no longer need the user to press enter every step
Moved version info out to version.txt, This will only effect the svn. If you update the version do it in version.txt not in ForgeHooks.java.
Introduced the build number into the version string.
Cleaned up some extra echos in scripts.
2012-01-25 07:00:31 +00:00

91 lines
1.5 KiB
Bash
Executable file

read major minor revision build <version.txt
version=$major.$minor.$revision.$build
build_dir=`pwd`
dir=`pwd`/../forge-$version
function remove_svn () {
(
cd "$1"
if [ -d .svn ]; then
rm -rf .svn
fi
for j in `ls`
do
if [ -d $j ]; then
remove_svn $j
fi
done
)
}
function package_all () {
qual=$1
cp $build_dir/minecraftforge_credits.txt .
zip -r "$dir/minecraftforge$qual-$version.zip" \
minecraftforge_credits.txt \
*.class \
forge
}
cd ../reobf
remove_svn .
rm -rf "$dir"
mkdir "$dir"
cd minecraft
package_all "-client"
cd ../minecraft_server
package_all "-server"
cd ../..
rm -rf reobf
cd $build_dir
mkdir forge
cd forge
mkdir src
mkdir src/minecraft
mkdir src/minecraft_server
mkdir patches
mkdir conf
cp -r ../forge_client/src/* src/minecraft
cp -r ../forge_server/src/* src/minecraft_server
cp -r ../forge_common/* src/minecraft
cp -r ../forge_common/* src/minecraft_server
cp -r ../patches/* patches
cp -r ../conf/* conf
cp ../lfcr.py .
cp ../install/install.cmd .
cp ../install/install.sh .
cp ../modLoaderMP.patch .
cp ../MLProp.java .
cp ../install/README.txt .
cp ../minecraftforge_credits.txt .
cp -r ../doc .
cd ..
sh inject_version.sh forge/src/minecraft/net/minecraft/src/forge/ForgeHooks.java
sh inject_version.sh forge/src/minecraft_server/net/minecraft/src/forge/ForgeHooks.java
cd forge
cd src
remove_svn .
cd ../patches
remove_svn .
cd ../conf
remove_svn .
cd ..
cd ..
zip -r "$dir/minecraftforge-src-$version.zip" forge
rm -rf forge