Various bugfixes to update.sh

This commit is contained in:
Adam
2016-04-16 21:29:19 -04:00
parent a79db93833
commit 1d0ee8bfcb

View File

@@ -1,20 +1,17 @@
#!/bin/bash
JAVA="java -cp target/deob-1.0-SNAPSHOT-jar-with-dependencies.jar"
JAVA_ARGS="-ea -Xmx512m"
DEOBFUSCATOR_REPO=/home/runelite/jbytecode
RS_CLIENT_REPO=/home/runelite/rs2-client
RS_API_REPO=/home/runelite/rs2-api
M2_REPOSITORY=/home/runelite/.m2/repository
FERNFLOWER_JAR=/home/runelite/fernflower/fernflower.jar
DEPLOY_REPO_URL=file:///var/www/repo.runelite.net/
# Find latest deobfuscator
DEOB_VER=$(mvn -f $DEOBFUSCATOR_REPO/pom.xml org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version | grep -e '^[[:digit:]]')
DEOB_JAR="$M2_REPOSITORY/net/runelite/deob/$DEOB_VER/deob-$DEOB_VER-jar-with-dependencies.jar"
# Update deobfuscator
cd $DEOBFUSCATOR_REPO
# Update latest api
cd $RS_API_REPO
git pull
#mvn install -Dmaven.test.skip=true
mvn clean install -Dmaven.test.skip=true
# Find latest client
RS_CLIENT_VER=$(mvn -f $RS_CLIENT_REPO/pom.xml org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version | grep -e '^[[:digit:]]')
@@ -23,7 +20,16 @@ RS_CLIENT_JAR="$M2_REPOSITORY/net/runelite/rs/rs-client/$RS_CLIENT_VER/rs-client
# Update latest client
cd $RS_CLIENT_REPO
git pull
#mvn install -Dmaven.test.skip=true
mvn clean install -Dmaven.test.skip=true
# Find latest deobfuscator
DEOB_VER=$(mvn -f $DEOBFUSCATOR_REPO/pom.xml org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version | grep -e '^[[:digit:]]')
DEOB_JAR="$M2_REPOSITORY/net/runelite/deob/$DEOB_VER/deob-$DEOB_VER-jar-with-dependencies.jar"
# Update deobfuscator
cd $DEOBFUSCATOR_REPO
git pull
mvn clean install -Dmaven.test.skip=true
echo Deobfuscator version $DEOB_VER, jar $DEOB_JAR
echo RS client version $RS_CLIENT_VER, jar at $RS_CLIENT_JAR
@@ -34,7 +40,7 @@ DEOBFUSCATED=/tmp/deobfuscated.jar
DEOBFUSCATED_WITH_MAPPINGS=/tmp/deobfuscated_with_mappings.jar
VANILLA_INJECTED=/tmp/vanilla_injected.jar
#curl -L oldschool.runescape.com/jav_config.ws > $JAV_CONFIG
curl -L oldschool.runescape.com/jav_config.ws > $JAV_CONFIG
CODEBASE=$(grep codebase $JAV_CONFIG | cut -d'=' -f2)
INITIAL_JAR=$(grep initial_jar $JAV_CONFIG | cut -d'=' -f2)
@@ -42,20 +48,20 @@ JAR_URL=$CODEBASE$INITIAL_JAR
echo Downloading vanilla client from $JAR_URL
rm $VANILLA
#wget $JAR_URL -O $VANILLA
rm -f $VANILLA
wget $JAR_URL -O $VANILLA
# step 1. deobfuscate vanilla jar. store in $DEOBFUSCATED.
rm $DEOBFUSCATED
java -cp $DEOB_JAR net.runelite.deob.Deob $VANILLA $DEOBFUSCATED
rm -f $DEOBFUSCATED
java $JAVA_ARGS -cp $DEOB_JAR net.runelite.deob.Deob $VANILLA $DEOBFUSCATED
# step 2. map old deob (which has the mapping annotations) -> new client
rm $DEOBFUSCATED_WITH_MAPPINGS
java -cp $DEOB_JAR net.runelite.deob.updater.UpdateMappings $RS_CLIENT_JAR $DEOBFUSCATED $DEOBFUSCATED_WITH_MAPPINGS
rm -f $DEOBFUSCATED_WITH_MAPPINGS
java $JAVA_ARGS -cp $DEOB_JAR net.runelite.deob.updater.UpdateMappings $RS_CLIENT_JAR $DEOBFUSCATED $DEOBFUSCATED_WITH_MAPPINGS
# step 3. inject vanilla client.
rm $VANILLA_INJECTED
java -cp $DEOB_JAR net.runelite.deob.updater.UpdateIject $DEOBFUSCATED_WITH_MAPPINGS $VANILLA $VANILLA_INJECTED
rm -f $VANILLA_INJECTED
java $JAVA_ARGS -cp $DEOB_JAR net.runelite.deob.updater.UpdateInject $DEOBFUSCATED_WITH_MAPPINGS $VANILLA $VANILLA_INJECTED
# step 4. deploy vanilla client.
mvn deploy:deploy-file -DgroupId=net.runelite.rs -DartifactId=client -Dversion=1.0.0-SNAPSHOT -Dpackaging=jar -Dfile=$VANILLA_INJECTED -Durl=$DEPLOY_REPO_URL
@@ -63,7 +69,7 @@ mvn deploy:deploy-file -DgroupId=net.runelite.rs -DartifactId=client -Dversion=1
# step 5. decompile deobfuscated mapped client.
rm -rf /tmp/dest
mkdir /tmp/dest
java -Xmx1024m -jar $FERNFLOWER_JAR $DEOBFUSCATED_WITH_MAPPINGS /tmp/dest/
java $JAVA_ARGS -jar $FERNFLOWER_JAR $DEOBFUSCATED_WITH_MAPPINGS /tmp/dest/
# extract source
cd /tmp/dest
@@ -71,7 +77,7 @@ jar xf *.jar
cd -
# update deobfuscated client repository
cd $DEOBFUSCATOR_REPO
cd $RS_CLIENT_REPO
git rm src/main/java/*.java
mkdir -p src/main/java/
cp /tmp/dest/*.java src/main/java/