From: Mathieu Baudier Date: Sat, 12 Feb 2022 10:25:00 +0000 (+0100) Subject: Builds based on Make X-Git-Tag: argeo-suite-2.3.3~22 X-Git-Url: https://git.argeo.org/?p=gpl%2Fargeo-suite.git;a=commitdiff_plain;h=752f713658d450dccf0a273ea03a68092ca532ec Builds based on Make --- diff --git a/.gitignore b/.gitignore index 950facd..142a5c9 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ **/generated/ **/MANIFEST.MF **/.DS_Store +/sdk.mk diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..7d4c9cb --- /dev/null +++ b/Makefile @@ -0,0 +1,32 @@ +include sdk.mk +.PHONY: clean all osgi + +all: osgi + +A2_CATEGORY = org.argeo.suite + +BUNDLES = \ +org.argeo.app.api \ +org.argeo.app.core \ +org.argeo.app.servlet.odk \ +org.argeo.app.servlet.publish \ +org.argeo.app.ui \ +org.argeo.app.theme.default \ +org.argeo.app.ui.rap \ + +A2_OUTPUT = $(SDK_BUILD_BASE)/a2 +A2_BASE = $(A2_OUTPUT) + +DEP_CATEGORIES = \ +org.argeo.tp \ +org.argeo.tp.apache \ +org.argeo.tp.jetty \ +org.argeo.tp.eclipse.equinox \ +org.argeo.tp.eclipse.rap \ +org.argeo.tp.jcr \ +org.argeo.cms + +clean: + rm -rf $(BUILD_BASE) + +include $(SDK_SRC_BASE)/sdk/osgi.mk \ No newline at end of file diff --git a/branch.properties b/branch.properties new file mode 100644 index 0000000..7a7e579 --- /dev/null +++ b/branch.properties @@ -0,0 +1,2 @@ +MAJOR=2 +MINOR=3 diff --git a/configure b/configure new file mode 100644 index 0000000..da5dffb --- /dev/null +++ b/configure @@ -0,0 +1,55 @@ +#!/bin/sh + +# We build where we are +SDK_BUILD_BASE=$(pwd -P)/output + +# Source are located where this script is +SDK_SRC_BASE="$(cd "$(dirname "$0")"; pwd -P)" + +SDK_MK=$SDK_SRC_BASE/sdk.mk + +#echo SDK_BUILD_BASE=$SDK_BUILD_BASE +#echo SDK_SRC_BASE=$SDK_SRC_BASE +#echo SDK_MK=$SDK_MK + +if [ -f "$SDK_MK" ]; +then + +echo "File $SDK_MK already exists. Remove it in order to configure a new build location:" +echo "rm $SDK_MK" +exit 1 + +else + +if [ -z "$JAVA_HOME" ] +then +echo "Environment variable JAVA_HOME must be set" +exit 1 +fi + +# Create build directory, so that it can be used right away +# and we check whether we have the rights +mkdir -p $SDK_BUILD_BASE +if [ -f "$SDK_MK" ]; +then +echo "Cannot create $SDK_BUILD_BASE, SDK configuration has failed." +exit 2 +fi + +# Generate sdk.mk +cat > "$SDK_MK" < + + + + + + diff --git a/org.argeo.app.theme.default/.project b/org.argeo.app.theme.default/.project index 1a71c08..77b8e04 100644 --- a/org.argeo.app.theme.default/.project +++ b/org.argeo.app.theme.default/.project @@ -5,6 +5,11 @@ + + org.eclipse.jdt.core.javabuilder + + + org.eclipse.pde.ManifestBuilder @@ -23,5 +28,6 @@ org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature diff --git a/org.argeo.app.theme.default/rap/work.css b/org.argeo.app.theme.default/rap/work.css deleted file mode 100644 index c0aaeb1..0000000 --- a/org.argeo.app.theme.default/rap/work.css +++ /dev/null @@ -1,181 +0,0 @@ -.argeo-suite-header { - color: white; - background-color: #00294b; -} - -.argeo-suite-headerTitle { - font: bold 18px sans-serif; - color: white; - background-color: #00294b; -} - -.argeo-suite-leadPane { - background-color: #eee; -} - -Label.argeo-suite-leadPane { - font: 14px sans-serif; - color: #888; - background-color: #eee; -} - -Button.argeo-suite-leadPane:hover { - cursor:pointer; -} - -.argeo-suite-recentItems { - font: bold 14px sans-serif; - color: white; - background-color: #00294b; - padding: 8px 16px; -} - -.argeo-suite-titleContainer { - background-color: #00294b; - padding: 6px 8px 4px 8px; -} - -.argeo-suite-titleLabel { - font: bold 14px sans-serif; - color: white; - background-color: #00294b; -} - -.argeo-suite-subTitleLabel { - font: italic 14px sans-serif; - color: #777; - padding: 4px 8px; -} - -.argeo-suite-simpleLabel { - font: bold 14px sans-serif; - padding: 0px; -} - -.argeo-suite-simpleText { - font: 14px sans-serif; - padding: 0px; -} - -.argeo-suite-titleCell { - font: bold 14px sans-serif; - background-color: #ddd; -} - -.argeo-suite-inlineButton { - padding: 0px 4px; - font: 12px sans-serif; - border: 1px solid white; - color: white; - background-image: none; - background-color: #00294b; -} - -.argeo-suite-inlineButton:hover { - color: #00294b; - background-color: white; -} - -Composite.argeo-suite-mainTabBody { - background-color: #eee; - border: 1px solid #bbb; -} - -.argeo-suite-mainTab { - background-color: #eee; - border: 1px solid #888; -} - -ToolItem.argeo-suite-mainTab { - border: none; - background-color: #eee; -} - -ToolItem.argeo-suite-mainTab:hover { - background-color: #eee; -} - - -Button.argeo-suite-mainTab { - border: 1px solid #eee; - background-color: #eee; -} - -.argeo-suite-mainTab:hover { - background-color: #eee; -} - -Button.argeo-suite-mainTab:hover { - cursor: pointer; - background-color: #eee; -} - -.argeo-suite-mainTabSelected { - font: bold 14px sans-serif; - color: white; - /*background-color: #00294b;*/ - background-color: #5882b5; - border:1px solid #888; -} - -ToolItem.argeo-suite-mainTabSelected { - border: none; -} - -ToolItem.argeo-suite-mainTabSelected:hover { - background-color: #5882b5; -} - -Button.argeo-suite-mainTabSelected { - border: none; -} - -Sash { - border: 1px solid white; - background-image: none; - background-color: white; -} - -Sash:hover { - border: 1px solid #5882b5; - background-color: #5882b5; -} - -TreeItem{ - background-color:#fff; -} - -Tree-RowOverlay:selected { - color:#fff; - background-color:#5882b5; -} - -TableItem{ - background-color:#fff; -} - -Table-RowOverlay:selected { - color:#fff; - background-color:#5882b5; -} - -.argeo-suite-navigationBar{ - background-color:#ddd; -} - -.argeo-suite-navigationTitle{ - background-color:#ddd; - font:bold 14px sans-serif; -} - -.argeo-suite-navigationButton{ - color:#777; - background-color:#ddd; - font:bold 14px sans-serif; -} - -.argeo-suite-navigationButton:hover{ - cursor:pointer; - color:#ddd; - background-color:#777; -} diff --git a/org.argeo.app.theme.default/src/rap/work.css b/org.argeo.app.theme.default/src/rap/work.css new file mode 100644 index 0000000..c0aaeb1 --- /dev/null +++ b/org.argeo.app.theme.default/src/rap/work.css @@ -0,0 +1,181 @@ +.argeo-suite-header { + color: white; + background-color: #00294b; +} + +.argeo-suite-headerTitle { + font: bold 18px sans-serif; + color: white; + background-color: #00294b; +} + +.argeo-suite-leadPane { + background-color: #eee; +} + +Label.argeo-suite-leadPane { + font: 14px sans-serif; + color: #888; + background-color: #eee; +} + +Button.argeo-suite-leadPane:hover { + cursor:pointer; +} + +.argeo-suite-recentItems { + font: bold 14px sans-serif; + color: white; + background-color: #00294b; + padding: 8px 16px; +} + +.argeo-suite-titleContainer { + background-color: #00294b; + padding: 6px 8px 4px 8px; +} + +.argeo-suite-titleLabel { + font: bold 14px sans-serif; + color: white; + background-color: #00294b; +} + +.argeo-suite-subTitleLabel { + font: italic 14px sans-serif; + color: #777; + padding: 4px 8px; +} + +.argeo-suite-simpleLabel { + font: bold 14px sans-serif; + padding: 0px; +} + +.argeo-suite-simpleText { + font: 14px sans-serif; + padding: 0px; +} + +.argeo-suite-titleCell { + font: bold 14px sans-serif; + background-color: #ddd; +} + +.argeo-suite-inlineButton { + padding: 0px 4px; + font: 12px sans-serif; + border: 1px solid white; + color: white; + background-image: none; + background-color: #00294b; +} + +.argeo-suite-inlineButton:hover { + color: #00294b; + background-color: white; +} + +Composite.argeo-suite-mainTabBody { + background-color: #eee; + border: 1px solid #bbb; +} + +.argeo-suite-mainTab { + background-color: #eee; + border: 1px solid #888; +} + +ToolItem.argeo-suite-mainTab { + border: none; + background-color: #eee; +} + +ToolItem.argeo-suite-mainTab:hover { + background-color: #eee; +} + + +Button.argeo-suite-mainTab { + border: 1px solid #eee; + background-color: #eee; +} + +.argeo-suite-mainTab:hover { + background-color: #eee; +} + +Button.argeo-suite-mainTab:hover { + cursor: pointer; + background-color: #eee; +} + +.argeo-suite-mainTabSelected { + font: bold 14px sans-serif; + color: white; + /*background-color: #00294b;*/ + background-color: #5882b5; + border:1px solid #888; +} + +ToolItem.argeo-suite-mainTabSelected { + border: none; +} + +ToolItem.argeo-suite-mainTabSelected:hover { + background-color: #5882b5; +} + +Button.argeo-suite-mainTabSelected { + border: none; +} + +Sash { + border: 1px solid white; + background-image: none; + background-color: white; +} + +Sash:hover { + border: 1px solid #5882b5; + background-color: #5882b5; +} + +TreeItem{ + background-color:#fff; +} + +Tree-RowOverlay:selected { + color:#fff; + background-color:#5882b5; +} + +TableItem{ + background-color:#fff; +} + +Table-RowOverlay:selected { + color:#fff; + background-color:#5882b5; +} + +.argeo-suite-navigationBar{ + background-color:#ddd; +} + +.argeo-suite-navigationTitle{ + background-color:#ddd; + font:bold 14px sans-serif; +} + +.argeo-suite-navigationButton{ + color:#777; + background-color:#ddd; + font:bold 14px sans-serif; +} + +.argeo-suite-navigationButton:hover{ + cursor:pointer; + color:#ddd; + background-color:#777; +} diff --git a/org.argeo.app.theme.default/src/swt/app.css b/org.argeo.app.theme.default/src/swt/app.css new file mode 100644 index 0000000..4ac745d --- /dev/null +++ b/org.argeo.app.theme.default/src/swt/app.css @@ -0,0 +1,129 @@ +.argeo-suite-header { + color: white; + background-color: #00294b; +} + +.argeo-suite-headerTitle { + font: bold 14px sans-serif; + color: white; + background-color: #00294b; +} + +.argeo-suite-leadPane { + background-color: #eee; +} + +Label.argeo-suite-leadPane { + font: 11px sans-serif; + color: #888; + background-color: #eee; +} + +Button.argeo-suite-leadPane:hover { + cursor: pointer; +} + +.argeo-suite-recentItems { + font: bold 13px sans-serif; + color: white; + background-color: #00294b; + padding: 8px 16px; +} + +.argeo-suite-titleContainer { + background-color: #00294b; +} + +.argeo-suite-titleLabel { + font: bold 13px sans-serif; + margin: 6px 8px 4px 8px; + color: white; + background-color: #00294b; +} + +.argeo-suite-subTitleLabel { + font: italic 14px sans-serif; + color: #777; + margin: 4px 8px; +} + +.argeo-suite-formLine { + padding: 4px 8px 4px 16px; +} + +.argeo-suite-simpleLabel { + font: normal 11px sans-serif; + border: 8px solid #eee; +} + +.argeo-suite-simpleText { + +} + +.argeo-suite-simpleInput { + padding: 4px 8px 4px 8px; +} + +.argeo-suite-titleCell { + font: bold 11px sans-serif; + background-color: #ddd; +} + +.argeo-suite-inlineButton { + padding: 0px 4px; + font: 12px sans-serif; + border: 1px solid white; + color: white; + background-image: none; + background-color: #00294b; +} + +.argeo-suite-inlineButton:hover { + color: #00294b; + background-color: white; +} + +Composite.argeo-suite-mainTabBody { + background-color: #eee; + border: 1px solid #bbb; +} + +.argeo-suite-mainTab { + background-color: #eee; + border: 1px solid #bbb; +} + +ToolItem.argeo-suite-mainTab { + border: none; + background-color: #eee; +} + +Button.argeo-suite-mainTab { + border: none; + background-color: #eee; +} + +.argeo-suite-mainTab:hover { + background-color: #eee; +} + +Button.argeo-suite-mainTab:hover { + cursor: pointer; + background-color: #eee; +} + +.argeo-suite-mainTabSelected { + font: bold 14px sans-serif; + color: white; + /*background-color: #00294b;*/ + background-color: #5882b5; + border: 1px solid #00294b; +} + +ToolItem.argeo-suite-mainTabSelected { + border: none; +} + +Button.argeo-suite-mainTabSelected { + border: none; +} \ No newline at end of file diff --git a/org.argeo.app.theme.default/swt/app.css b/org.argeo.app.theme.default/swt/app.css deleted file mode 100644 index 4ac745d..0000000 --- a/org.argeo.app.theme.default/swt/app.css +++ /dev/null @@ -1,129 +0,0 @@ -.argeo-suite-header { - color: white; - background-color: #00294b; -} - -.argeo-suite-headerTitle { - font: bold 14px sans-serif; - color: white; - background-color: #00294b; -} - -.argeo-suite-leadPane { - background-color: #eee; -} - -Label.argeo-suite-leadPane { - font: 11px sans-serif; - color: #888; - background-color: #eee; -} - -Button.argeo-suite-leadPane:hover { - cursor: pointer; -} - -.argeo-suite-recentItems { - font: bold 13px sans-serif; - color: white; - background-color: #00294b; - padding: 8px 16px; -} - -.argeo-suite-titleContainer { - background-color: #00294b; -} - -.argeo-suite-titleLabel { - font: bold 13px sans-serif; - margin: 6px 8px 4px 8px; - color: white; - background-color: #00294b; -} - -.argeo-suite-subTitleLabel { - font: italic 14px sans-serif; - color: #777; - margin: 4px 8px; -} - -.argeo-suite-formLine { - padding: 4px 8px 4px 16px; -} - -.argeo-suite-simpleLabel { - font: normal 11px sans-serif; - border: 8px solid #eee; -} - -.argeo-suite-simpleText { - -} - -.argeo-suite-simpleInput { - padding: 4px 8px 4px 8px; -} - -.argeo-suite-titleCell { - font: bold 11px sans-serif; - background-color: #ddd; -} - -.argeo-suite-inlineButton { - padding: 0px 4px; - font: 12px sans-serif; - border: 1px solid white; - color: white; - background-image: none; - background-color: #00294b; -} - -.argeo-suite-inlineButton:hover { - color: #00294b; - background-color: white; -} - -Composite.argeo-suite-mainTabBody { - background-color: #eee; - border: 1px solid #bbb; -} - -.argeo-suite-mainTab { - background-color: #eee; - border: 1px solid #bbb; -} - -ToolItem.argeo-suite-mainTab { - border: none; - background-color: #eee; -} - -Button.argeo-suite-mainTab { - border: none; - background-color: #eee; -} - -.argeo-suite-mainTab:hover { - background-color: #eee; -} - -Button.argeo-suite-mainTab:hover { - cursor: pointer; - background-color: #eee; -} - -.argeo-suite-mainTabSelected { - font: bold 14px sans-serif; - color: white; - /*background-color: #00294b;*/ - background-color: #5882b5; - border: 1px solid #00294b; -} - -ToolItem.argeo-suite-mainTabSelected { - border: none; -} - -Button.argeo-suite-mainTabSelected { - border: none; -} \ No newline at end of file diff --git a/org.argeo.app.ui.rap/src/.gitignore b/org.argeo.app.ui.rap/src/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/sdk/ecj.args b/sdk/ecj.args new file mode 100644 index 0000000..852a33d --- /dev/null +++ b/sdk/ecj.args @@ -0,0 +1,4 @@ +-source 17 +-target 11 +-nowarn +-time \ No newline at end of file diff --git a/sdk/osgi.mk b/sdk/osgi.mk new file mode 100644 index 0000000..a97a937 --- /dev/null +++ b/sdk/osgi.mk @@ -0,0 +1,67 @@ + + +# +# GENERIC +# +JVM := $(JAVA_HOME)/bin/java +JAVADOC := $(JAVA_HOME)/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 + +BUILD_BASE = $(SDK_BUILD_BASE)/$(A2_CATEGORY) + +WORKSPACE_BNDS := $(shell cd $(SDK_SRC_BASE) && find cnf -name '*.bnd') +BUILD_WORKSPACE_BNDS := $(WORKSPACE_BNDS:%=$(BUILD_BASE)/%) + +A2_JARS = $(foreach category, $(DEP_CATEGORIES), $(shell find $(A2_BASE)/$(category) -name '*.jar')) +A2_CLASSPATH = $(subst $(space),$(pathsep),$(strip $(A2_JARS))) + +A2_BUNDLES = $(foreach bundle, $(BUNDLES),$(A2_OUTPUT)/$(A2_CATEGORY)/$(shell basename $(bundle)).$(MAJOR).$(MINOR).jar) + +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]) + +JAVADOC_SRCS = $(foreach bundle, $(JAVADOC_BUNDLES),$(bundle)/src) + +osgi: $(BUILD_WORKSPACE_BNDS) $(A2_BUNDLES) + +javadoc: $(BUILD_BASE)/java-compiled + $(JAVADOC) -d $(BUILD_BASE)/api --source-path $(subst $(space),$(pathsep),$(strip $(JAVADOC_SRCS))) -subpackages $(JAVADOC_PACKAGES) + + +# SDK level +$(BUILD_BASE)/cnf/%.bnd: cnf/%.bnd + mkdir -p $(dir $@) + cp $< $@ + +$(SDK_BUILD_BASE)/a2/$(A2_CATEGORY)/%.$(MAJOR).$(MINOR).jar : $(BUILD_BASE)/%.jar + mkdir -p $(dir $@) + cp $< $@ + +$(BUILD_BASE)/%.jar: $(BUILD_BASE)/jars-built + 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 + 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)/java-compiled : $(JAVA_SRCS) + $(JVM) -jar $(ECJ_JAR) @$(SDK_SRC_BASE)/sdk/ecj.args -cp $(A2_CLASSPATH) $(ECJ_SRCS) + touch $@ + +# Local manifests +manifests : osgi + $(foreach bundle, $(BUNDLES), cp -v $(BUILD_BASE)/$(shell basename $(bundle))/META-INF/MANIFEST.MF $(bundle)/META-INF/MANIFEST.MF;) + +null := +space := $(null) # +pathsep := :