aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/buglabs-osgi/bug-osgi.inc
blob: 56374b6a8e8c6b814ce9b686a3c11c0881d7d840 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
DESCRIPTION = "Bug Labs OSGi bundle: ${PN}"
LICENSE = "BSD"
DEPENDS = "felix felix-log service-tracker com.buglabs.osgi felix-configadmin"

PE = "1"

inherit bug-java-library

JARFILENAME = "${BPN}.jar"
ALTJARFILENAMES = ""

INC_PR = "r1"

SRCREV = "12839"

SRC_URI = "svn://bugcamp.net/bug/trunk;module=${PN};proto=svn "

FILES_${PN} += "/usr/share/java/bundle/${PN}.jar"
FILES_${PN} += "/usr/share/java/bundle/${P}.jar"
FILES_${PN}-dbg += "${JNI_LIB_DIR}/.debug/*"

PACKAGES = "${PN} ${PN}-dbg"

S = "${WORKDIR}/${PN}"

datadir_java = ${datadir}/java/bundle/

EXTRA_OEMAKE += "CLASSPATH_INCDIR=${STAGING_INCDIR}/classpath"

JAVAC_COMMAND ?= "javac"
JAVAC_OPTIONS ?= "-source 1.6"

CXXFLAGS += "-fPIC"

do_compile() {
  mkdir -p build
  oe_makeclasspath cp -s ${DEPENDS} ${EXTRA_CP}
  cp=$cp:${STAGING_DIR_JAVA}/felix.jar
  
  echo "javac version: `${JAVAC_COMMAND} -version`"
  echo "javac params:  ${JAVAC_COMMAND} ${JAVAC_OPTIONS} -sourcepath . -cp $cp -d build"
  echo "javac classpath:"
  echo $cp | awk 'BEGIN {FS=":"} {split($0,a,":"); for (i=1; i<=NF; i++) print a[i]; }'
  echo "-------------------------"

  ${JAVAC_COMMAND} ${JAVAC_OPTIONS} -sourcepath . -cp $cp -d build `find . -name \*.java`
}

addtask jar_package after do_compile before do_install

do_jar_package() {
  echo 'Bundle-BuildDate: ${DATETIME}' >> META-INF/MANIFEST.MF
  sed -e '/Bundle-Version/d' -e '/^$/d' META-INF/MANIFEST.MF > META-INF/MANIFEST.MF.tmp
  echo 'Bundle-Version: 2.0.${SRCREV}' >> META-INF/MANIFEST.MF.tmp
  sed '/^[ \t]*$/d' META-INF/MANIFEST.MF.tmp > META-INF/MANIFEST.MF
  fastjar -0 -m ./META-INF/MANIFEST.MF -C build -c -f ${JARFILENAME} .
}

# dummy to keep osgi.jar from being removed by java-library.bbclass
do_removebinaries() {
    :
}