# Inherit this bbclass for each java recipe that builds a Java library (jar file[s]). # # It automatically adds important build dependencies, defines JPN (Java Package Name) # a package named ${JPN} whose contents are those of ${datadir}/java (the jar location). # # The JPN is basically lib${PN}-java but takes care of the fact that ${PN} already # starts with "lib" and/or ends with "-java". In case the "lib" prefix is part of # your package's normal name (e.g. liberator) the guessing is wrong and you have # to set JPN manually! inherit java def java_package_name(d): import bb; pre="" post="" pn = bb.data.getVar('PN', d, 1) if not pn.startswith("lib"): pre='lib' if not pn.endswith("-java"): post='-java' return pre + pn + post JPN ?= "${@java_package_name(d)}" DEPENDS_prepend = "virtual/javac-native fastjar-native " PACKAGES = "${JPN}" PACKAGE_ARCH_${JPN} = "all" FILES_${JPN} = "${datadir_java}" # File name of the libraries' main Jar file JARFILENAME = "${P}.jar" # Space-separated list of alternative file names. ALTJARFILENAMES = "${PN}.jar" java_install() { oe_jarinstall ${JARFILENAME} ${ALTJARFILENAMES} } do_install() { java_install } java_stage() { oe_jarinstall -s ${JARFILENAME} ${ALTJARFILENAMES} } do_stage() { java_stage }