buglabs-osgi: introduce ant hack to use openjdk's javac for ant
[leafcutter:leafcutter-oe.git] / recipes / buglabs-osgi / buglabs-osgi.inc
1 # org.openembedded.openjdk.jar is a custom javac configuration class for ant.
2 # It allows ant to use the javac provided by openjdk rather than the one provided by ecj
3 # Ant is hardcoded to expect a javac in JAVA_HOME, and since the openjdk javac is called something 
4 # else, this customizer is necessary.
5 # See http://ant.apache.org/manual/Tasks/javac.html
6
7 OSGI_BASE_DIR ?= "/usr/share/osgi"
8
9 DEPENDS = "ant-native"
10
11 OSGI_BASE_DIR = "/usr/share/osgi"
12 SRC_URI="git://github.com/buglabs/bug-osgi.git;protocol=git;branch=${BRANCH} \
13         file://org.openembedded.openjdk.jar \
14         "
15 BRANCH = "master"
16
17 INC_PR = "r6"
18
19 S = "${WORKDIR}/git/${PN}"
20
21 FILES_${PN} = "${OSGI_BASE_DIR}/bundle/${PN}.jar"
22 PACKAGE_ARCH = "all"
23
24 # Must set this explicitly because it defaults to a value of 1.
25 SRCREV = "321035a6cc5cb0ec79f2"
26
27 # Default file permissions on jar.  If jar is executable that means it should be started under knapsack.
28 BUNDLE_PERM="0644"
29
30 do_compile() {
31         export OE.JAVAC.PATH=${STAGING_DIR_NATIVE}/jvm/icedtea6-native/bin/javac
32         export CLASSPATH=${WORKDIR}:$CLASSPATH
33         ant -d -Dbuild.compiler=org.openembedded.openjdk.JavacExternal -Dbase.build.dir=${WORKDIR}/git/com.buglabs.osgi.build -Dcheckout.dir=${WORKDIR}/git -DexternalDirectory=${WORKDIR}/external -DdistDirectory=${WORKDIR}/dist create_dirs build.jars
34         echo $?
35 }
36
37 do_install() {
38         install -d ${D}/${OSGI_BASE_DIR}/bundle
39         install -m ${BUNDLE_PERM} ${WORKDIR}/dist/${PN}.jar ${D}/${OSGI_BASE_DIR}/bundle/${PN}.jar
40 }
41
42
43