A2_CATEGORY = org.argeo.slc
BUNDLES = \
+swt/rcp/org.argeo.cms.e4.rcp \
+swt/rcp/org.argeo.tool.rcp.cli \
swt/rcp/org.argeo.tool.desktop \
-VPATH = .:cms:swt/rcp
-
-clean:
- 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 \
-org.argeo.tp.eclipse \
-osgi/api/org.argeo.tp.osgi \
+osgi/equinox/org.argeo.tp.osgi \
+osgi/equinox/org.argeo.tp.eclipse \
swt/rcp/org.argeo.tp.swt \
lib/linux/x86_64/swt/rcp/org.argeo.tp.swt \
swt/rcp/org.argeo.tp.swt.workbench \
org.argeo.cms \
-org.argeo.cms.eclipse.rcp \
+swt/org.argeo.cms \
+swt/rcp/org.argeo.cms \
+$(A2_CATEGORY) \
+swt/$(A2_CATEGORY) \
+swt/rcp/$(A2_CATEGORY) \
+
+clean:
+ rm -rf $(BUILD_BASE)
GRAALVM_HOME = /opt/graalvm-ce
A2_BUNDLES_CLASSPATH = $(subst $(space),$(pathsep),$(strip $(A2_BUNDLES)))
-tool-desktop:
+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-desktop: 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 \
--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 \
+ --trace-object-instantiation=java.lang.Thread \
+ -H:+ReportExceptionStackTraces \
--no-fallback \
org.argeo.tool.desktop.ArgeoDesktop \
argeo-desktop