summaryrefslogtreecommitdiff
path: root/classes
diff options
context:
space:
mode:
Diffstat (limited to 'classes')
-rw-r--r--classes/base.bbclass2
-rw-r--r--classes/java.bbclass26
2 files changed, 18 insertions, 10 deletions
diff --git a/classes/base.bbclass b/classes/base.bbclass
index ac73e909f8..1a7ef4f143 100644
--- a/classes/base.bbclass
+++ b/classes/base.bbclass
@@ -636,7 +636,7 @@ def oe_unpack_file(file, data, url = None):
cmd = 'gzip -dc %s > %s' % (file, efile)
elif file.endswith('.bz2'):
cmd = 'bzip2 -dc %s > %s' % (file, efile)
- elif file.endswith('.zip'):
+ elif file.endswith('.zip') or file.endswith('.jar'):
cmd = 'unzip -q -o'
(type, host, path, user, pswd, parm) = bb.decodeurl(url)
if 'dos' in parm:
diff --git a/classes/java.bbclass b/classes/java.bbclass
index 11a2bf5c0c..620dae79fb 100644
--- a/classes/java.bbclass
+++ b/classes/java.bbclass
@@ -70,19 +70,27 @@ oe_jarinstall() {
oe_makeclasspath() {
# Purpose: Generate a classpath variable from the given Jar file names
- # where the ".jar" has been omitted.
+ # where the ".jar" has been omitted. The string is stored in the script
+ # variable whose name is given in the first argument to this function.
#
- # oe_makeclasspath foo baz bar
- # Prints ${datadir_java}/foo.jar:${datadir_java}/baz.jar:${datadir_java}/bar.jar
- #
- # oe_makeclasspath -s foo baz bar
- # Prints ${STAGING_DATADIR_JAVA}/foo.jar:${STAGING_DATADIR_JAVA}/baz.jar:${STAGING_DATADIR_JAVA}/bar.jar
+ # oe_makeclasspath cp foo baz bar
+ # Stores ${datadir_java}/foo.jar:${datadir_java}/baz.jar:${datadir_java}/bar.jar
+ # in variable "cp".
#
+ # oe_makeclasspath bootcp -s foo baz bar
+ # Stores ${STAGING_DATADIR_JAVA}/foo.jar:${STAGING_DATADIR_JAVA}/baz.jar:${STAGING_DATADIR_JAVA}/bar.jar
+ # in variable "bootcp".
+ #
# 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.
+ #
dir=${datadir_java}
classpath=
delimiter=
+ retval=$1
+
+ shift
while [ "$#" -gt 0 ]; do
case "$1" in
@@ -95,7 +103,7 @@ oe_makeclasspath() {
*)
file=$dir/$1.jar
- if [ ! -f $file ]; then
+ if [ -z "$dir" -a ! -f $file ]; then
oefatal "oe_makeclasspath: Jar file for '$1' not found at $file"
fi
@@ -106,7 +114,7 @@ oe_makeclasspath() {
shift
done
- echo $classpath
+ eval $retval="$classpath"
}
# Creates a simple wrapper script for your Java program.