Make Maven build compatible withe new BND build.
[lgpl/argeo-commons.git] / sdk / build.sh
index 7a482932b084ce8679f686d664661c4a8da87a4c..4cfd55d276bd6bb10487b8e55e5cdfe4c56ea12d 100644 (file)
@@ -1,13 +1,22 @@
 #!/bin/bash
 
+# TODO source files and allow to override
+A2_CATEGORY=org.argeo.commons
+
 # Works on Fedora 34
 JVM=/usr/lib/jvm/jre-11/bin/java
 ECJ_JAR=/usr/share/java/ecj/ecj.jar
 OSGI_JAR=/usr/share/java/eclipse/osgi.jar
 
+SDK_DIR="$(cd "$(dirname "$0")"; pwd -P)"
+echo SDK: $SDK_DIR
+BUNDLES_BASEDIR="$(cd "$SDK_DIR/.."; pwd -P)"
+A2_UPSTREAM="$(cd "$SDK_DIR/a2/upstream"; pwd -P)"
+A2_BUILD="$(cd "$SDK_DIR/a2/build"; pwd -P)"
+
 echo PREPARING
 SOURCE_PATH=
-for bundle in ../*.*.*/ ; do
+for bundle in $BUNDLES_BASEDIR/*.*.*/ ; do
 echo $bundle
 # clean
 rm -rf $bundle/generated/*
@@ -18,12 +27,13 @@ SOURCE_PATH="$SOURCE_PATH $bundle/src[-d $bundle/bin]"
 done
 
 echo COMPILING
-$JVM -jar $ECJ_JAR @ecj.args -time -cp $OSGI_JAR:"$(printf %s: target/sdk-*-a2-target/*/*.jar)" $SOURCE_PATH 
+$JVM -jar $ECJ_JAR @$SDK_DIR/ecj.args -time -cp $OSGI_JAR:"$(printf %s: $A2_UPSTREAM/*/*.jar)" $SOURCE_PATH 
 
 echo PACKAGING
-bnd build
+bnd -b $SDK_DIR build
 
-mkdir -p target/a2/org.argeo.commons
-cp ../*/generated/*.jar target/a2/org.argeo.commons
+mkdir -p $A2_BUILD/$A2_CATEGORY
+mv $BUNDLES_BASEDIR/*/generated/*.jar $A2_BUILD/$A2_CATEGORY
+bnd index -d $A2_BUILD/ */*.jar
 
-echo DONE
\ No newline at end of file
+echo DONE