Added Makefile, updated drone.yml

This commit is contained in:
2023-02-28 22:02:56 +01:00
parent 910b9c3260
commit da5780f53d
2 changed files with 83 additions and 33 deletions

@ -23,52 +23,47 @@ steps:
- curl -G "https://omegazero.org/site/software/r/license_bin_full.php" --data-urlencode "srcurl=$DRONE_REPO_LINK/src/commit/$DRONE_COMMIT" > LICENSE_BIN
- name: build-core
image: openjdk:8
image: o-jvm-build
pull: never
commands:
- mkdir -p build/core/bin/META-INF
- cp LICENSE_BIN build/core/bin/META-INF/LICENSE
- find http-core/main/java -iname "*.java" > build/core/srcfiles
- javac -version -verbose -d build/core/bin @build/core/srcfiles -cp omz-common-latest.jar
- jar cf build-core.jar -C build/core/bin .
- mkdir -p build/http-core/META-INF
- cp LICENSE_BIN build/http-core/META-INF/LICENSE
- make core BINDIR=build
depends_on:
- prepare-dependencies
- prepare-source
- name: build-net
image: openjdk:8
image: o-jvm-build
pull: never
commands:
- mkdir -p build/net/bin/META-INF
- cp LICENSE_BIN build/net/bin/META-INF/LICENSE
- find http-net/main/java -iname "*.java" > build/net/srcfiles
- javac -version -verbose -d build/net/bin @build/net/srcfiles -cp build-core.jar:omz-netlib-common-latest.jar
- jar cf build-net.jar -C build/net/bin .
- mkdir -p build/http-net/META-INF
- cp LICENSE_BIN build/http-net/META-INF/LICENSE
- make net BINDIR=build
depends_on:
- prepare-dependencies
- prepare-source
- build-core
- name: build-http1
image: openjdk:8
image: o-jvm-build
pull: never
commands:
- mkdir -p build/http1/bin/META-INF
- cp LICENSE_BIN build/http1/bin/META-INF/LICENSE
- find http1/main/java -iname "*.java" > build/http1/srcfiles
- javac -version -verbose -d build/http1/bin @build/http1/srcfiles -cp build-core.jar:omz-common-latest.jar
- jar cf build-http1.jar -C build/http1/bin .
- mkdir -p build/http1/META-INF
- cp LICENSE_BIN build/http1/META-INF/LICENSE
- make http1 BINDIR=build
depends_on:
- prepare-dependencies
- prepare-source
- build-core
- name: build-http2
image: openjdk:8
image: o-jvm-build
pull: never
commands:
- mkdir -p build/http2/bin/META-INF
- cp LICENSE_BIN build/http2/bin/META-INF/LICENSE
- find http2/main/java -iname "*.java" > build/http2/srcfiles
- javac -version -verbose -d build/http2/bin @build/http2/srcfiles -cp build-core.jar:omz-common-latest.jar
- cp -r http2/main/resources/* build/http2/bin/
- jar cf build-http2.jar -C build/http2/bin .
- mkdir -p build/http2/META-INF
- cp LICENSE_BIN build/http2/META-INF/LICENSE
- make http2 BINDIR=build
depends_on:
- prepare-dependencies
- prepare-source
@ -77,10 +72,10 @@ steps:
- name: build-all
image: openjdk:8
commands:
- mkdir -p build/all/bin/META-INF
- cp -r build/core/bin/* build/net/bin/* build/http1/bin/* build/http2/bin/* build/all/bin
- cp LICENSE_BIN build/all/bin/META-INF/LICENSE
- jar cf build-all.jar -C build/all/bin .
- mkdir -p build/all/META-INF
- cp -r build/http-core/* build/http-net/* build/http1/* build/http2/* build/all
- cp LICENSE_BIN build/all/META-INF/LICENSE
- jar cf build-all.jar -C build/all .
depends_on:
- build-core
- build-net
@ -92,10 +87,10 @@ steps:
pull: never
commands:
- artifact-push-java build-all.jar omz/org.omegazero.http:omz-http
- artifact-push-java build-core.jar omz/org.omegazero.http:omz-http-core
- artifact-push-java build-net.jar omz/org.omegazero.http:omz-http-net
- artifact-push-java build-http1.jar omz/org.omegazero.http:omz-http-http1
- artifact-push-java build-http2.jar omz/org.omegazero.http:omz-http-http2
- artifact-push-java build/http-core.jar omz/org.omegazero.http:omz-http-core
- artifact-push-java build/http-net.jar omz/org.omegazero.http:omz-http-net
- artifact-push-java build/http1.jar omz/org.omegazero.http:omz-http-http1
- artifact-push-java build/http2.jar omz/org.omegazero.http:omz-http-http2
depends_on:
- build-all
environment:

55
Makefile Normal file

@ -0,0 +1,55 @@
BINDIR := bin
# https://stackoverflow.com/a/18258352
rwildcard = $(foreach d,$(wildcard $(1:=/*)),$(call rwildcard,$d,$2) $(filter $(subst *,%,$2),$d))
JAVA_CP := omz-common-latest.jar:omz-netlib-common-latest.jar
JAVAC_FLAGS := -Werror -Xlint:all,-processing
JAVA_PATH_SEPARATOR := $(strip $(shell java -XshowSettings:properties 2>&1 | grep path.separator | cut -d '=' -f2))
.PHONY: all
all: core net http1 http2
.PHONY: core
core: $(BINDIR)/http-core.jar
.PHONY: net
net: $(BINDIR)/http-net.jar
.PHONY: http1
http1: $(BINDIR)/http1.jar
.PHONY: http2
http2: $(BINDIR)/http2.jar
.PHONY: clean
clean:
rm -r $(BINDIR)/*
define pre_build
@mkdir -p $(BINDIR)/$(1)
endef
define post_build
@[ ! -d $(1)/main/resources ] || cp -r $(1)/main/resources/* $(BINDIR)/$(1)
jar cf $(BINDIR)/$(1).jar -C $(BINDIR)/$(1) .
endef
$(BINDIR)/http-core.jar: $(call rwildcard,http-core/main/java,*.java)
$(call pre_build,http-core)
javac $(JAVAC_FLAGS) -d $(BINDIR)/http-core -cp "$(JAVA_CP)" $(filter %.java,$^)
$(call post_build,http-core)
$(BINDIR)/http-net.jar: $(BINDIR)/http-core.jar $(call rwildcard,http-net/main/java,*.java)
$(call pre_build,http-net)
javac $(JAVAC_FLAGS) -d $(BINDIR)/http-net -cp "$(JAVA_CP)$(JAVA_PATH_SEPARATOR)$(BINDIR)/http-core.jar" $(filter %.java,$^)
$(call post_build,http-net)
$(BINDIR)/http1.jar: $(BINDIR)/http-core.jar $(call rwildcard,http1/main/java,*.java)
$(call pre_build,http1)
javac $(JAVAC_FLAGS) -d $(BINDIR)/http1 -cp "$(JAVA_CP)$(JAVA_PATH_SEPARATOR)$(BINDIR)/http-core.jar" $(filter %.java,$^)
$(call post_build,http1)
$(BINDIR)/http2.jar: $(BINDIR)/http-core.jar $(call rwildcard,http2/main/java,*.java)
$(call pre_build,http2)
javac $(JAVAC_FLAGS) -d $(BINDIR)/http1 -cp "$(JAVA_CP)$(JAVA_PATH_SEPARATOR)$(BINDIR)/http-core.jar" $(filter %.java,$^)
$(call post_build,http2)