diff options
Diffstat (limited to 'recipes-core/jakarta-commons/jakarta-commons.inc')
-rw-r--r-- | recipes-core/jakarta-commons/jakarta-commons.inc | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/recipes-core/jakarta-commons/jakarta-commons.inc b/recipes-core/jakarta-commons/jakarta-commons.inc new file mode 100644 index 0000000..3ee081e --- /dev/null +++ b/recipes-core/jakarta-commons/jakarta-commons.inc @@ -0,0 +1,60 @@ +LICENSE = "AL2.0" +AUTHOR = "Apache Software Foundation" + +inherit java-library + +S = "${WORKDIR}/${BP}-src" + +# Directory in which the projects sources are located. +MAINSOURCES = "src/java" + +# Directories which should appear in the -sourcepath argument. +COMPILE_SOURCEPATH = "src/java" + +COMPILE_FINDARGS = "-name '*.java'" +FINDARGS = "-name '*.properties'" + +# Directories to be removed after compilation. +CLEAN_PATH = "" + +# Some projects have a replaceable version number in their manifest template. +do_unpackpost() { + if [ -d src/conf ] + then + find src/conf -exec \ + sed -i -e "s|@version@|${PV}|" {} \; + fi +} + +addtask unpackpost after do_unpack before do_patch +# Compile step is very similar for Jakarta commons packages +do_compile() { + mkdir -p build + + if [ "${CP}" ] + then + oe_makeclasspath cp -s ${CP} + else + cp=. + fi + + echo "javac -sourcepath ${COMPILE_SOURCEPATH} -cp $cp -d build \`find ${MAINSOURCES} ${COMPILE_FINDARGS}\`" + javac -sourcepath ${COMPILE_SOURCEPATH} -cp $cp -d build `find ${MAINSOURCES} ${COMPILE_FINDARGS}` + + # Copy extraneous files + echo "(cd ${MAINSOURCES} && find . ${FINDARGS} -exec cp {} ../../build/{} \;)" + (cd ${MAINSOURCES} && find . ${FINDARGS} -exec cp {} ../../build/{} \;) + + # Optionally remove stuff after compilation (needed for sourcepath hacks). + if [ ${CLEAN_PATH} ]; then + rm -rf ${CLEAN_PATH} + fi + + # Some projects have manifest, some have not. This works for both. + if [ -f src/conf/MANIFEST.MF ] + then + fastjar -C build -c -m src/conf/MANIFEST.MF -f ${JARFILENAME} . + else + fastjar -C build -c -f ${JARFILENAME} . + fi +} |