diff options
-rw-r--r-- | classes/java.bbclass | 53 |
1 files changed, 28 insertions, 25 deletions
diff --git a/classes/java.bbclass b/classes/java.bbclass index 7b67bcd510..38256d7798 100644 --- a/classes/java.bbclass +++ b/classes/java.bbclass @@ -92,8 +92,12 @@ oe_makeclasspath() { # # Provide the -s at the beginning otherwise strange things happen. # If -s is given the function checks whether the requested jar file exists - # and exits with an error message if it cannot be found. + # and exits with an error message if it cannot be found. # + # Note: In order to encourage usage of the DEPENDS variable, the function + # can accept recipe names. If a recipe has no corresponding Jar file it + # is ignored. Be careful with recipes where the recipe name is different + # from the the Jar file name! dir=${datadir_java} classpath= delimiter= @@ -102,30 +106,29 @@ oe_makeclasspath() { shift while [ "$#" -gt 0 ]; do - case "$1" in - -s) - # take jar files from native staging if this is a -native recipe - if [ ${PACKAGE_ARCH} = ${BUILD_ARCH} ]; then - dir=${STAGING_DATADIR_JAVA_NATIVE} - else - dir=${STAGING_DATADIR_JAVA} - fi - ;; - -*) - oefatal "oe_makeclasspath: unknown option: $1" - ;; - *) - file=$dir/$1.jar - - if [ -z "$dir" -a ! -f $file ]; then - oefatal "oe_makeclasspath: Jar file for '$1' not found at $file" - fi - - classpath=$classpath$delimiter$file - delimiter=":" - ;; - esac - shift + case "$1" in + -s) + # take jar files from native staging if this is a -native recipe + if [ ${PACKAGE_ARCH} = ${BUILD_ARCH} ]; then + dir=${STAGING_DATADIR_JAVA_NATIVE} + else + dir=${STAGING_DATADIR_JAVA} + fi + ;; + -*) + oefatal "oe_makeclasspath: unknown option: $1" + ;; + *) + file=$dir/$1.jar + + if [ -e $file ]; then + classpath=$classpath$delimiter$file + delimiter=":" + fi + + ;; + esac + shift done eval $retval="$classpath" |