X-Git-Url: https://git.distorted.org.uk/~mdw/termux-packages/blobdiff_plain/382cfb780ca9a40f80e3932544bd32aeccb66e5a..11cc96baf4ecd577500cf9f18b2d7698f4e9760b:/packages/jack/build.sh diff --git a/packages/jack/build.sh b/packages/jack/build.sh index 4dfb4cfb..85f4c0d8 100755 --- a/packages/jack/build.sh +++ b/packages/jack/build.sh @@ -1,21 +1,35 @@ -# Issue: -# java.lang.NoClassDefFoundError: org.eclipse.jdt.internal.compiler.apt.dispatch.BatchProcessingEnvImpl -# perhaps because BatchProcessingEnvImpl uses javax.tools which does not exist on android? -TERMUX_PKG_HOMEPAGE=http://tools.android.com/tech-docs/jackandjill +TERMUX_PKG_HOMEPAGE=https://source.android.com/source/jack.html TERMUX_PKG_DESCRIPTION="Java Android Compiler Kit" -TERMUX_PKG_VERSION=$TERMUX_ANDROID_BUILD_TOOLS_VERSION +# Use the date of the below git commit as the version number: +TERMUX_PKG_VERSION=20161006 +TERMUX_PKG_SRCURL=https://android.googlesource.com/toolchain/jack/+archive/c6eba4aeed80acd6b0f41a06463d484c2b06596a.tar.gz TERMUX_PKG_PLATFORM_INDEPENDENT=true +termux_step_extract_package() { + mkdir -p $TERMUX_PKG_SRCDIR + cd $TERMUX_PKG_SRCDIR + + filename=`basename $TERMUX_PKG_SRCURL` + file=$TERMUX_PKG_CACHEDIR/$filename + test ! -f $file && termux_download $TERMUX_PKG_SRCURL $file $TERMUX_PKG_SHA256 + tar xf $file + + rm sched/src/com/android/sched/util/log/tracer/probe/GcDurationProbe.java +} + termux_step_make () { - JACK_JAR=$ANDROID_HOME/build-tools/$TERMUX_ANDROID_BUILD_TOOLS_VERSION/jack.jar - JILL_JAR=$ANDROID_HOME/build-tools/$TERMUX_ANDROID_BUILD_TOOLS_VERSION/jill.jar + cd $TERMUX_PKG_SRCDIR + ant jack jill + TERMUX_JACK=$PWD/jack/dist/jack.jar + TERMUX_JILL=$PWD/jill/dist/jill.jar # Create $USR/share/dex for dex files, and $USR/share/jack for .jack library files produced by jill: - mkdir -p $TERMUX_PREFIX/share/{dex,jack} + mkdir -p $TERMUX_PREFIX/share/{dex,jack} $TERMUX_DX \ + -JXmx4096M --num-threads=4 \ --dex \ --output=$TERMUX_PREFIX/share/dex/jack.jar \ - $JACK_JAR + $TERMUX_JACK cd $TERMUX_PKG_TMPDIR rm -rf android-jar @@ -23,13 +37,23 @@ termux_step_make () { cd android-jar # We need the android.jar clases in jill format (.jack extension) for jack to compile against. - cp $ANDROID_HOME/platforms/android-23/android.jar . + cp $ANDROID_HOME/platforms/android-24/android.jar . # Remove resources not needed for compilation to reduce size: - unzip android.jar + unzip -q android.jar rm -Rf android.jar resources.arsc res assets - zip -r android.jar . + zip -r -q android.jar . + java -jar $TERMUX_JILL $TERMUX_PKG_TMPDIR/android-jar/android.jar --output $TERMUX_PREFIX/share/jack/android.jack + + # Add support annotations .jack file: + local ANNOTATIONS_VERSION=24.2.0 + local ANNOTATIONS_JAR=$TERMUX_PKG_CACHEDIR/support-annotations-${ANNOTATIONS_VERSION}.jar + if [ ! -f $ANNOTATIONS_JAR ]; then + termux_download http://uiq3.sourceforge.net/Repository/com/android/support/support-annotations/${ANNOTATIONS_VERSION}/support-annotations-${ANNOTATIONS_VERSION}.jar \ + $ANNOTATIONS_JAR \ + af5868da6750bdf42aec5d85fa87ac30de2b72939ca80437a6247e5753a07cad + fi + java -jar $TERMUX_JILL $ANNOTATIONS_JAR --output $TERMUX_PREFIX/share/jack/support-annotations-${ANNOTATIONS_VERSION}.jack - java -jar $JILL_JAR $TERMUX_PKG_TMPDIR/android-jar/android.jar --output $TERMUX_PREFIX/share/jack/android.jack mkdir -p $TERMUX_PREFIX/bin install $TERMUX_PKG_BUILDER_DIR/jack.sh $TERMUX_PREFIX/bin/jack perl -p -i -e "s%\@TERMUX_PREFIX\@%${TERMUX_PREFIX}%g" $TERMUX_PREFIX/bin/jack