Make Maven build compatible withe new BND build.
[lgpl/argeo-commons.git] / sdk / build.sh
index 7757592747683aa81e03a29c9cdaa2a7b807b6d8..4cfd55d276bd6bb10487b8e55e5cdfe4c56ea12d 100644 (file)
@@ -1,17 +1,39 @@
 #!/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/*
+rm -rf $bundle/bin/*
+# copy resources
+rsync -r --exclude "*.java" $bundle/src/ $bundle/bin
 SOURCE_PATH="$SOURCE_PATH $bundle/src[-d $bundle/bin]"
 done
 
-echo ### COMPILATION ###
-time $JVM -jar $ECJ_JAR @ecj.args -time -cp $OSGI_JAR:"$(printf %s: target/sdk-*-a2-target/*/*.jar)" $SOURCE_PATH 
+echo COMPILING
+$JVM -jar $ECJ_JAR @$SDK_DIR/ecj.args -time -cp $OSGI_JAR:"$(printf %s: $A2_UPSTREAM/*/*.jar)" $SOURCE_PATH 
+
+echo PACKAGING
+bnd -b $SDK_DIR build
+
+mkdir -p $A2_BUILD/$A2_CATEGORY
+mv $BUNDLES_BASEDIR/*/generated/*.jar $A2_BUILD/$A2_CATEGORY
+bnd index -d $A2_BUILD/ */*.jar
 
-echo ### PACKAGING ###
+echo DONE