Commit | Line | Data |
---|---|---|
341728f5 FF |
1 | TERMUX_PKG_HOMEPAGE=https://source.android.com/source/jack.html |
2 | TERMUX_PKG_DESCRIPTION="Java Android Compiler Kit" | |
3 | # Use the date of the below git commit as the version number: | |
a2734601 FF |
4 | TERMUX_PKG_VERSION=20170216 |
5 | _COMMIT=3626c3909d03c304b595a86a8a7700ac83ec4e95 | |
6 | TERMUX_PKG_SRCURL=https://android.googlesource.com/toolchain/jack/+archive/${_COMMIT}.tar.gz | |
341728f5 FF |
7 | TERMUX_PKG_PLATFORM_INDEPENDENT=true |
8 | ||
9 | termux_step_extract_package() { | |
10 | mkdir -p $TERMUX_PKG_SRCDIR | |
11 | cd $TERMUX_PKG_SRCDIR | |
12 | ||
13 | filename=`basename $TERMUX_PKG_SRCURL` | |
14 | file=$TERMUX_PKG_CACHEDIR/$filename | |
15 | test ! -f $file && termux_download $TERMUX_PKG_SRCURL $file $TERMUX_PKG_SHA256 | |
16 | tar xf $file | |
17 | ||
18 | rm sched/src/com/android/sched/util/log/tracer/probe/GcDurationProbe.java | |
19 | } | |
20 | ||
21 | termux_step_make () { | |
22 | cd $TERMUX_PKG_SRCDIR | |
23 | ./gradlew assemble | |
24 | local JACK_JAR=$PWD/jack/gradle-build/libs/jack.jar | |
25 | local JILL_JAR=$PWD/jill/gradle-build/libs/jill.jar | |
26 | ||
27 | # Create $USR/share/dex for dex files, and $USR/share/jack for .jack library files produced by jill: | |
28 | mkdir -p $TERMUX_PREFIX/share/{dex,jack} | |
29 | local JACK_JACK=$TERMUX_PKG_TMPDIR/jack.jack | |
341728f5 | 30 | java -jar $JACK_JAR --output-dex $TERMUX_PKG_TMPDIR --import $JACK_JAR |
a2734601 FF |
31 | |
32 | cp ./jill/gradle-build/jill-version.properties $TERMUX_PKG_TMPDIR/ | |
33 | cp ./jack/gradle-build/jack-version.properties $TERMUX_PKG_TMPDIR/ | |
34 | cd $TERMUX_PKG_TMPDIR | |
35 | zip $TERMUX_PREFIX/share/dex/jack.jar \ | |
36 | jill-version.properties \ | |
37 | jack-version.properties \ | |
38 | classes.dex | |
341728f5 FF |
39 | |
40 | cd $TERMUX_PKG_TMPDIR | |
41 | rm -rf android-jar | |
42 | mkdir android-jar | |
43 | cd android-jar | |
44 | ||
45 | # We need the android.jar clases in jill format (.jack extension) for jack to compile against. | |
46 | cp $ANDROID_HOME/platforms/android-24/android.jar . | |
47 | # Remove resources not needed for compilation to reduce size: | |
48 | unzip -q android.jar | |
49 | rm -Rf android.jar resources.arsc res assets | |
50 | zip -r -q android.jar . | |
51 | java -jar $JILL_JAR $TERMUX_PKG_TMPDIR/android-jar/android.jar --output $TERMUX_PREFIX/share/jack/android.jack | |
52 | ||
53 | # Add support annotations .jack file: | |
54 | local ANNOTATIONS_VERSION=24.2.0 | |
55 | local ANNOTATIONS_JAR=$TERMUX_PKG_CACHEDIR/support-annotations-${ANNOTATIONS_VERSION}.jar | |
56 | if [ ! -f $ANNOTATIONS_JAR ]; then | |
57 | termux_download http://uiq3.sourceforge.net/Repository/com/android/support/support-annotations/${ANNOTATIONS_VERSION}/support-annotations-${ANNOTATIONS_VERSION}.jar \ | |
58 | $ANNOTATIONS_JAR \ | |
59 | af5868da6750bdf42aec5d85fa87ac30de2b72939ca80437a6247e5753a07cad | |
60 | fi | |
61 | java -jar $JILL_JAR $ANNOTATIONS_JAR --output $TERMUX_PREFIX/share/jack/support-annotations-${ANNOTATIONS_VERSION}.jack | |
62 | ||
63 | mkdir -p $TERMUX_PREFIX/bin | |
64 | install $TERMUX_PKG_BUILDER_DIR/jack.sh $TERMUX_PREFIX/bin/jack | |
65 | perl -p -i -e "s%\@TERMUX_PREFIX\@%${TERMUX_PREFIX}%g" $TERMUX_PREFIX/bin/jack | |
66 | } |