]> git.argeo.org Git - lgpl/argeo-commons.git/blob - sdk/build.sh
Fix MANIFEST generation issues.
[lgpl/argeo-commons.git] / sdk / build.sh
1 #!/bin/bash
2
3 # TODO source files and allow to override
4 A2_CATEGORY=org.argeo.commons
5
6 # Works on Fedora 34
7 JVM=/usr/lib/jvm/jre-11/bin/java
8 ECJ_JAR=/usr/share/java/ecj/ecj.jar
9 OSGI_JAR=/usr/share/java/eclipse/osgi.jar
10
11 SDK_DIR="$(cd "$(dirname "$0")"; pwd -P)"
12 echo SDK: $SDK_DIR
13 BUNDLES_BASEDIR="$(cd "$SDK_DIR/.."; pwd -P)"
14 A2_UPSTREAM="$(cd "$SDK_DIR/a2/upstream"; pwd -P)"
15 A2_BUILD="$(cd "$SDK_DIR/a2/build"; pwd -P)"
16
17 echo PREPARING
18 SOURCE_PATH=
19 for bundle in $BUNDLES_BASEDIR/*.*.*/ ; do
20 echo $bundle
21 # clean
22 rm -rf $bundle/generated/*
23 rm -rf $bundle/bin/*
24 # copy resources
25 rsync -r --exclude "*.java" $bundle/src/ $bundle/bin
26 SOURCE_PATH="$SOURCE_PATH $bundle/src[-d $bundle/bin]"
27 done
28
29 echo COMPILING
30 $JVM -jar $ECJ_JAR @$SDK_DIR/ecj.args -time -cp $OSGI_JAR:"$(printf %s: $A2_UPSTREAM/*/*.jar)" $SOURCE_PATH
31
32 echo PACKAGING
33 bnd -b $SDK_DIR build
34
35 mkdir -p $A2_BUILD/$A2_CATEGORY
36 mv $BUNDLES_BASEDIR/*/generated/*.jar $A2_BUILD/$A2_CATEGORY
37 bnd index -d $A2_BUILD/ */*.jar
38
39 echo DONE