chiark / gitweb /
a83c739dd15fc4ba9c0a96b996bdc99a27c21f7d
[termux-packages] / packages / jack / build.sh
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 }