Improve CLI and GraalVM architecture.
[gpl/argeo-slc.git] / Makefile
index a0a17d608c460b9d6ecbf0d463e111e38424d754..d3fab4a46e1b07b0871650501663bcb9f6c56cd3 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -10,9 +10,9 @@ org.argeo.slc.api \
 org.argeo.slc.factory \
 org.argeo.slc.runtime \
 cms/org.argeo.slc.cms \
-suite/org.argeo.slc.tool \
+swt/rap/org.argeo.tool.server \
 
-VPATH = .:cms:suite
+VPATH = .:cms:swt/rap
 
 clean:
        rm -rf $(BUILD_BASE)
@@ -27,25 +27,32 @@ org.argeo.tp.apache \
 org.argeo.tp.jetty \
 org.argeo.tp.eclipse \
 osgi/api/org.argeo.tp.osgi \
-swt/rcp/org.argeo.tp.swt \
-lib/linux/x86_64/swt/rcp/org.argeo.tp.swt \
-swt/rcp/org.argeo.tp.swt.workbench \
+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 \
-org.argeo.cms.eclipse.rcp \
+org.argeo.cms.eclipse.rap \
 
+GRAALVM_HOME = /opt/graalvm-ce
 A2_BUNDLES_CLASSPATH = $(subst $(space),$(pathsep),$(strip $(A2_BUNDLES)))
 
-native-image:
+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) && /opt/graalvm-ce/bin/native-image \
-               -cp $(A2_CLASSPATH):$(A2_BUNDLES_CLASSPATH) org.argeo.slc.tool.Main \
+       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 
+               --no-fallback \
+                org.argeo.tool.server.ArgeoServer \
+                argeo
+
 
 include  $(SDK_SRC_BASE)/sdk/argeo-build/osgi.mk
\ No newline at end of file