| 1 | # Issue: |
| 2 | # java.lang.NoClassDefFoundError: org.eclipse.jdt.internal.compiler.apt.dispatch.BatchProcessingEnvImpl |
| 3 | # perhaps because BatchProcessingEnvImpl uses javax.tools which does not exist on android? |
| 4 | TERMUX_PKG_HOMEPAGE=http://tools.android.com/tech-docs/jackandjill |
| 5 | TERMUX_PKG_DESCRIPTION="Java Android Compiler Kit" |
| 6 | TERMUX_PKG_VERSION="1.1-mr2" |
| 7 | TERMUX_PKG_BUILD_REVISION=4 |
| 8 | TERMUX_PKG_PLATFORM_INDEPENDENT=true |
| 9 | |
| 10 | termux_step_make () { |
| 11 | JACK_JAR=$ANDROID_HOME/build-tools/$TERMUX_ANDROID_BUILD_TOOLS_VERSION/jack.jar |
| 12 | JILL_JAR=$ANDROID_HOME/build-tools/$TERMUX_ANDROID_BUILD_TOOLS_VERSION/jill.jar |
| 13 | |
| 14 | # Create $USR/share/dex for dex files, and $USR/share/jack for .jack library files produced by jill: |
| 15 | mkdir -p $TERMUX_PREFIX/share/{dex,jack} |
| 16 | $ANDROID_HOME/build-tools/$TERMUX_ANDROID_BUILD_TOOLS_VERSION/dx \ |
| 17 | --dex \ |
| 18 | --output=$TERMUX_PREFIX/share/dex/jack.jar \ |
| 19 | $JACK_JAR |
| 20 | |
| 21 | cd $TERMUX_PKG_TMPDIR |
| 22 | rm -rf android-jar |
| 23 | mkdir android-jar |
| 24 | cd android-jar |
| 25 | |
| 26 | # We need the android.jar clases in jill format (.jack extension) for jack to compile against. |
| 27 | cp $ANDROID_HOME/platforms/android-23/android.jar . |
| 28 | # Remove resources not needed for compilation to reduce size: |
| 29 | unzip android.jar |
| 30 | rm -Rf android.jar resources.arsc res assets |
| 31 | zip -r android.jar . |
| 32 | |
| 33 | java -jar $JILL_JAR $TERMUX_PKG_TMPDIR/android-jar/android.jar --output $TERMUX_PREFIX/share/jack/android.jack |
| 34 | mkdir -p $TERMUX_PREFIX/bin |
| 35 | install $TERMUX_PKG_BUILDER_DIR/jack.sh $TERMUX_PREFIX/bin/jack |
| 36 | perl -p -i -e "s%\@TERMUX_PREFIX\@%${TERMUX_PREFIX}%g" $TERMUX_PREFIX/bin/jack |
| 37 | } |