]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - Makefile
Moce sync and CLI from Argeo Commons to SLC
[gpl/argeo-slc.git] / Makefile
index d6bda7804bdc61f1076b9a960f1ba72186770191..0f0c8455c725750545a07174a8555047ad012dcb 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,16 +1,19 @@
 include sdk.mk
 .PHONY: clean all osgi
 
-all: osgi
+all: osgi distribution
 
 BUNDLE_PREFIX = org.argeo
-A2_CATEGORY = org.argeo
+A2_CATEGORY = org.argeo.slc
 
 BUNDLES = \
 org.argeo.slc.api \
-org.argeo.slc.build \
+org.argeo.slc.factory \
+org.argeo.slc.runtime \
+ext/org.argeo.ext.slf4j \
+ext/org.argeo.ext.equinox.jetty \
 
-BUILD_CLASSPATH = \
+BUILD_CLASSPATH_FEDORA = \
 /usr/share/java/osgi-core/osgi.core.jar:$\
 /usr/share/java/osgi-compendium/osgi.cmpn.jar:$\
 /usr/share/java/ecj/ecj.jar:$\
@@ -20,46 +23,81 @@ BUILD_CLASSPATH = \
 /usr/share/java/commons-cli.jar:$\
 /usr/share/java/commons-exec.jar:$\
 
+BUILD_CLASSPATH = \
+/usr/share/java/osgi.core.jar:$\
+/usr/share/java/osgi.cmpn.jar:$\
+/usr/share/java/ecj.jar:$\
+/usr/share/java/bndlib.jar:$\
+/usr/share/java/slf4j-api.jar:$\
+/usr/share/java/commons-io.jar:$\
+/usr/share/java/commons-cli.jar:$\
+/usr/share/java/commons-exec.jar:$\
+
 # TODO relativize from SDK_SRC_BASE
 BUILD_BASE = $(SDK_BUILD_BASE)
 
+
+
 #
 # GENERIC
 #
-JVM := /usr/lib/jvm/jre-11/bin/java
-JAVADOC := /usr/lib/jvm/jre-11/bin/javadoc
-ECJ_JAR := /usr/share/java/ecj/ecj.jar
+JVM := /usr/bin/java
+JAVADOC := /usr/bin/javadoc
+ECJ_JAR := $(SDK_BUILD_BASE)/a2/org.argeo.tp.sdk/org.eclipse.jdt.core.compiler.batch.3.28.jar
 BND_TOOL := /usr/bin/bnd
 
-WORKSPACE_BNDS := $(shell cd $(SDK_SRC_BASE) && find cnf -name '*.bnd')
-#BND_WORKSPACES := $(foreach bundle, $(BUNDLES), ./$(dir $(bundle)))
-BUILD_WORKSPACE_BNDS := $(WORKSPACE_BNDS:%=$(SDK_BUILD_BASE)/%)
+WORKSPACE_BNDS := $(shell cd $(SDK_SRC_BASE) && find cnf -name '*.bnd') 
+BUILD_WORKSPACE_BNDS := $(WORKSPACE_BNDS:%=$(SDK_BUILD_BASE)/%) $(WORKSPACE_BNDS:%=$(SDK_BUILD_BASE)/ext/%)
 
 cnf: $(BUILD_WORKSPACE_BNDS)
 
 A2_BUNDLES = $(BUNDLES:%=$(SDK_BUILD_BASE)/a2/$(A2_CATEGORY)/%.$(MAJOR).$(MINOR).jar)
 
+A2_JARS = $(shell find $(SDK_BUILD_BASE)/a2 -name '*.jar')
+A2_CLASSPATH = $(subst $(space),$(pathsep),$(strip $(A2_JARS)))
+
+
 #JAVA_SRCS = $(shell find $(BUNDLE_PREFIX).* -name '*.java')
 JAVA_SRCS = $(foreach bundle, $(BUNDLES), $(shell find $(bundle) -name '*.java'))
 ECJ_SRCS = $(foreach bundle, $(BUNDLES), $(bundle)/src[-d $(BUILD_BASE)/$(bundle)/bin])
 
 osgi: cnf $(A2_BUNDLES)
+       mkdir -p $(SDK_BUILD_BASE)/a2/org.argeo.tp
+       mv $(SDK_BUILD_BASE)/a2/$(A2_CATEGORY)/ext/org.argeo.ext.slf4j.$(MAJOR).$(MINOR).jar $(SDK_BUILD_BASE)/a2/org.argeo.tp
+       mv $(SDK_BUILD_BASE)/a2/$(A2_CATEGORY)/ext/org.argeo.ext.equinox.jetty.$(MAJOR).$(MINOR).jar $(SDK_BUILD_BASE)/a2/org.argeo.tp.eclipse.equinox
+       rmdir $(SDK_BUILD_BASE)/a2/$(A2_CATEGORY)/ext
+
+distribution: bootstrap
+       $(JVM) -cp \
+        $(SDK_BUILD_BASE)/bootstrap/bndlib.jar:$(SDK_BUILD_BASE)/bootstrap/slf4j-api.jar:$(SDK_BUILD_BASE)/org.argeo.slc.api/bin:$(SDK_BUILD_BASE)/org.argeo.slc.factory/bin \
+        tp/Make.java
+       
+bootstrap :
+       mkdir -p $(SDK_BUILD_BASE)/bootstrap
+       wget -c -O $(SDK_BUILD_BASE)/bootstrap/ecj.jar https://repo1.maven.org/maven2/org/eclipse/jdt/ecj/3.28.0/ecj-3.28.0.jar
+       wget -c -O $(SDK_BUILD_BASE)/bootstrap/slf4j-api.jar https://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.28/slf4j-api-1.7.28.jar
+       wget -c -O $(SDK_BUILD_BASE)/bootstrap/bndlib.jar https://repo1.maven.org/maven2/biz/aQute/bnd/biz.aQute.bndlib/5.3.0/biz.aQute.bndlib-5.3.0.jar
+       $(JVM) -cp $(SDK_BUILD_BASE)/bootstrap/ecj.jar org.eclipse.jdt.internal.compiler.batch.Main -11 -nowarn -time -cp \
+        $(SDK_BUILD_BASE)/bootstrap/bndlib.jar:$(SDK_BUILD_BASE)/bootstrap/slf4j.jar \
+        org.argeo.slc.api/src[-d $(SDK_BUILD_BASE)/org.argeo.slc.api/bin] \
+        org.argeo.slc.factory/src[-d $(SDK_BUILD_BASE)/org.argeo.slc.factory/bin] \
 
 clean:
        rm -rf $(BUILD_BASE)/*-compiled
-       rm -rf $(BUILD_BASE)/{cnf,a2}
+       rm -rf $(BUILD_BASE)/cnf
+       rm -rf $(BUILD_BASE)/a2
        rm -rf $(BUILD_BASE)/$(BUNDLE_PREFIX).* 
+       rm -rf $(BUILD_BASE)/ext
+       rm -rf $(BUILD_BASE)/build
+       rm -rf $(BUILD_BASE)/deb
+       rm -rf $(BUILD_BASE)/bootstrap
 
 # SDK level
 $(SDK_BUILD_BASE)/cnf/%.bnd: cnf/%.bnd
        mkdir -p $(dir $@)
        cp $< $@
        
-$(SDK_BUILD_BASE)/eclipse/cnf/%.bnd: cnf/%.bnd
-       mkdir -p $(dir $@)
-       cp $< $@
-
-$(SDK_BUILD_BASE)/rcp/cnf/%.bnd: cnf/%.bnd
+$(SDK_BUILD_BASE)/ext/cnf/%.bnd: cnf/%.bnd
        mkdir -p $(dir $@)
        cp $< $@
 
@@ -69,6 +107,7 @@ $(SDK_BUILD_BASE)/a2/$(A2_CATEGORY)/%.$(MAJOR).$(MINOR).jar : $(BUILD_BASE)/%/bu
 
 # Build level
 $(BUILD_BASE)/%/bundle.jar : %/bnd.bnd $(BUILD_BASE)/java-compiled 
+       mkdir -p $(dir $@)
        rsync -r --exclude "*.java" $(dir  $<)src/ $(dir $@)bin
        rsync -r $(dir  $<)src/ $(dir $@)src
        if [ -d "$(dir  $<)OSGI-INF" ]; then rsync -r $(dir  $<)OSGI-INF/ $(dir $@)/OSGI-INF; fi
@@ -77,7 +116,7 @@ $(BUILD_BASE)/%/bundle.jar : %/bnd.bnd $(BUILD_BASE)/java-compiled
        mv $(dir $@)generated/*.jar $(dir $@)bundle.jar
 
 $(BUILD_BASE)/java-compiled : $(JAVA_SRCS)
-       $(JVM) -jar $(ECJ_JAR) -11 -nowarn -time -cp $(BUILD_CLASSPATH) \
+       $(JVM) -jar $(ECJ_JAR) -11 -nowarn -time -cp $(A2_CLASSPATH) \
        $(ECJ_SRCS)
        touch $@
        
@@ -85,5 +124,4 @@ null  :=
 space := $(null) #
 pathsep := :
 
-#WITH_LIST    := $(subst $(space),$(pathsep),$(strip $(WITH_LIST)))