OSGi packaging working
[cc0/argeo-build.git] / osgi.mk
diff --git a/osgi.mk b/osgi.mk
index 303f5eef4a95acbfba5ca0f2d7231dd06bdfe2ea..5eef8daefc619fc8be6e25b45bea9a3d38b259d4 100644 (file)
--- a/osgi.mk
+++ b/osgi.mk
@@ -6,9 +6,13 @@
 JVM := $(JAVA_HOME)/bin/java
 JAVADOC := $(JAVA_HOME)/bin/javadoc
 ECJ_JAR := $(A2_BASE)/org.argeo.tp.sdk/org.eclipse.jdt.core.compiler.batch.3.29.jar
-BND_TOOL := /usr/bin/bnd
+BNDLIB_JAR := $(A2_BASE)/org.argeo.tp.sdk/biz.aQute.bndlib.5.3.jar
+SLF4J_API_JAR := $(A2_BASE)/org.argeo.tp/org.slf4j.api.1.7.jar
 
-BUILD_BASE = $(SDK_BUILD_BASE)/$(A2_CATEGORY)
+ARGEO_MAKE := $(JVM) -cp $(ECJ_JAR):$(BNDLIB_JAR):$(SLF4J_API_JAR) $(SDK_SRC_BASE)/sdk/argeo-build/java/org/argeo/build/Make.java
+#BND_TOOL := /usr/bin/bnd
+
+BUILD_BASE = $(SDK_BUILD_BASE)/$(shell basename $(SDK_SRC_BASE))
 
 WORKSPACE_BNDS := $(shell cd $(SDK_SRC_BASE) && find cnf -name '*.bnd') sdk/argeo-build/argeo.bnd
 BUILD_WORKSPACE_BNDS := $(WORKSPACE_BNDS:%=$(BUILD_BASE)/%)
@@ -20,7 +24,7 @@ A2_BUNDLES = $(foreach bundle, $(BUNDLES),$(A2_OUTPUT)/$(A2_CATEGORY)/$(shell ba
 
 JAVA_SRCS = $(foreach bundle, $(BUNDLES), $(shell find $(bundle) -name '*.java'))
 BNDS = $(foreach bundle, $(BUNDLES), $(BUILD_BASE)/$(shell basename $(bundle))/bnd.bnd)
-ECJ_SRCS = $(foreach bundle, $(BUNDLES), $(bundle)/src[-d $(BUILD_BASE)/$(shell basename $(bundle))/bin])
+ECJ_SRCS = $(foreach bundle, $(BUNDLES), $(bundle)/src[-d $(BUILD_BASE)/$(bundle)/bin])
 
 JAVADOC_SRCS = $(foreach bundle, $(JAVADOC_BUNDLES),$(bundle)/src)
 
@@ -44,20 +48,11 @@ $(A2_OUTPUT)/$(A2_CATEGORY)/%.$(MAJOR).$(MINOR).jar : $(BUILD_BASE)/%.jar
        cp $< $@
 
 $(BUILD_BASE)/%.jar: $(BUILD_BASE)/jars-built
-       mv $(basename $@)/generated/*.jar $(basename $@).jar
+       #mv $(basename $@)/generated/*.jar $(basename $@).jar
 
 # Build level
-$(BUILD_BASE)/jars-built: $(BNDS)
-       cd $(BUILD_BASE) && $(BND_TOOL) build
-       touch $@
-
-$(BUILD_BASE)/%/bnd.bnd : %/bnd.bnd $(BUILD_BASE)/java-compiled 
-       mkdir -p $(dir $@)bin
-       #rsync -r --exclude "*.java" $(dir  $<)src/ $(dir $@)bin
-       #rsync -r --exclude-from $(SDK_SRC_BASE)/sdk/argeo-build/excludes.txt $(dir  $<) $(dir $@)bin
-       #if [ -d "$(dir  $<)OSGI-INF" ]; then rsync -r $(dir  $<)OSGI-INF/ $(dir $@)/OSGI-INF; fi
-       cp $< $@
-       #echo "\n-sourcepath:$(SDK_SRC_BASE)/$(dir  $<)src\n" >> $@
+$(BUILD_BASE)/jars-built: $(BUILD_BASE)/java-compiled 
+       $(ARGEO_MAKE) bundle --bundles $(BUNDLES)
 
 $(BUILD_BASE)/java-compiled : $(JAVA_SRCS)
        $(JVM) -jar $(ECJ_JAR) @$(SDK_SRC_BASE)/sdk/argeo-build/ecj.args -cp $(A2_CLASSPATH) $(ECJ_SRCS)