X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=Makefile;h=74fb23f18d9196ba1c85b17a3a45bdad8ef958cc;hb=c0b17b772af41e1fd7b729695ad9d350c4db0a55;hp=d6bda7804bdc61f1076b9a960f1ba72186770191;hpb=1b8b4c8443356a7a4adc632f391daa8c0ded8053;p=gpl%2Fargeo-slc.git diff --git a/Makefile b/Makefile index d6bda7804..74fb23f18 100644 --- a/Makefile +++ b/Makefile @@ -3,87 +3,56 @@ include sdk.mk all: osgi -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 \ +cms/org.argeo.slc.cms \ +swt/rap/org.argeo.tool.server \ -BUILD_CLASSPATH = \ -/usr/share/java/osgi-core/osgi.core.jar:$\ -/usr/share/java/osgi-compendium/osgi.cmpn.jar:$\ -/usr/share/java/ecj/ecj.jar:$\ -/usr/share/java/aqute-bnd/biz.aQute.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 -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)/%) - -cnf: $(BUILD_WORKSPACE_BNDS) - -A2_BUNDLES = $(BUNDLES:%=$(SDK_BUILD_BASE)/a2/$(A2_CATEGORY)/%.$(MAJOR).$(MINOR).jar) - -#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) +VPATH = .:cms:swt/rap clean: - rm -rf $(BUILD_BASE)/*-compiled - rm -rf $(BUILD_BASE)/{cnf,a2} - rm -rf $(BUILD_BASE)/$(BUNDLE_PREFIX).* - -# 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 - mkdir -p $(dir $@) - cp $< $@ - -$(SDK_BUILD_BASE)/a2/$(A2_CATEGORY)/%.$(MAJOR).$(MINOR).jar : $(BUILD_BASE)/%/bundle.jar - mkdir -p $(dir $@) - cp $< $@ - -# Build level -$(BUILD_BASE)/%/bundle.jar : %/bnd.bnd $(BUILD_BASE)/java-compiled - 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 - cp $< $(dir $@) - cd $(dir $@) && $(BND_TOOL) build - mv $(dir $@)generated/*.jar $(dir $@)bundle.jar - -$(BUILD_BASE)/java-compiled : $(JAVA_SRCS) - $(JVM) -jar $(ECJ_JAR) -11 -nowarn -time -cp $(BUILD_CLASSPATH) \ - $(ECJ_SRCS) - touch $@ - -null := -space := $(null) # -pathsep := : - -#WITH_LIST := $(subst $(space),$(pathsep),$(strip $(WITH_LIST))) - + rm -rf $(BUILD_BASE) + +A2_OUTPUT = $(SDK_BUILD_BASE)/a2 +A2_BASE = $(A2_OUTPUT) + +DEP_CATEGORIES = \ +org.argeo.tp \ +org.argeo.tp.sdk \ +org.argeo.tp.apache \ +org.argeo.tp.jetty \ +osgi/api/org.argeo.tp.osgi \ +osgi/equinox/org.argeo.tp.eclipse \ +swt/rap/org.argeo.tp.swt \ +swt/rap/org.argeo.tp.swt.workbench \ +org.argeo.tp.jcr \ +org.argeo.tp.formats \ +org.argeo.tp.gis \ +org.argeo.cms \ +swt/rap/org.argeo.cms \ + +GRAALVM_HOME = /opt/graalvm-ce +A2_BUNDLES_CLASSPATH = $(subst $(space),$(pathsep),$(strip $(A2_BUNDLES))) + +graalvm-custom: + $(GRAALVM_HOME)/bin/java -jar $(ECJ_JAR) @$(SDK_SRC_BASE)/sdk/argeo-build/ecj.args -cp $(A2_CLASSPATH) \ + graalvm/org.argeo.slc.graalvm/src[-d $(SDK_BUILD_BASE)/$(A2_CATEGORY)/graalvm/bin] + +tool-server: osgi graalvm-custom + mkdir -p $(A2_OUTPUT)/libexec/$(A2_CATEGORY) + cd $(A2_OUTPUT)/libexec/$(A2_CATEGORY) && $(GRAALVM_HOME)/bin/native-image \ + -cp $(A2_CLASSPATH):$(A2_BUNDLES_CLASSPATH):$(SDK_BUILD_BASE)/$(A2_CATEGORY)/graalvm/bin \ + --features=org.argeo.slc.graalvm.feature.ArgeoToolFeature \ + --enable-url-protocols=http,https \ + -H:AdditionalSecurityProviders=sun.security.jgss.SunProvider,org.bouncycastle.jce.provider.BouncyCastleProvider,net.i2p.crypto.eddsa.EdDSASecurityProvider \ + --initialize-at-build-time=org.argeo.init.logging.ThinLogging,org.slf4j.LoggerFactory \ + --no-fallback \ + org.argeo.tool.server.ArgeoServer \ + argeo + + +include $(SDK_SRC_BASE)/sdk/argeo-build/osgi.mk \ No newline at end of file