reduce java packages to java-archive and jenkins-plugin

This commit is contained in:
Alex Goodman
2020-07-09 10:46:28 -04:00
parent e55db9247e
commit 1f89d26902
74 changed files with 287 additions and 311 deletions
@@ -1,35 +0,0 @@
all: packages/example-app-maven-0.1.0.jar packages/example-app-gradle-0.1.0.jar packages/example-jenkins-plugin.hpi
clean: clean-examples
rm -f packages/*
clean-examples: clean-gradle clean-maven clean-jenkins
.PHONY: maven gradle clean clean-gradle clean-maven clean-jenkins clean-examples
# Maven...
packages/example-app-maven-0.1.0.jar:
./run-example-app-maven.sh
clean-maven:
rm -rf example-app/target example-app/dependency-reduced-pom.xml
# Gradle...
packages/example-app-gradle-0.1.0.jar:
./run-example-app-gradle.sh
clean-gradle:
rm -rf example-app/.gradle example-app/build
# Jenkins plugin
packages/example-jenkins-plugin.hpi, packages/example-jenkins-plugin.jar:
./run-example-jenkins-plugin-maven.sh
clean-jenkins:
rm -rf example-jenkins-plugin/target example-jenkins-plugin/dependency-reduced-pom.xml example-jenkins-plugin/*.exploding
# we need a way to determine if CI should bust the test cache based on the source material
packages.fingerprint: clean-examples
@mkdir -p packages
find example-* -type f -exec sha256sum {} \; > packages.fingerprint
sha256sum packages.fingerprint
@@ -1,3 +0,0 @@
Name=Name
French=Franz\u00F6sisch
FrenchDescr=Markieren f\u00FCr Begr\u00FC\u00DFung auf franz\u00F6sisch
@@ -1,3 +0,0 @@
Name=Nombre
French=Franc\u00E9s
FrenchDescr=Compruebe si debemos decir hola en franc\u00E9s
@@ -1,3 +0,0 @@
Name=Nome
French=Francese
FrenchDescr=Mostra il messagio in francese
@@ -1,3 +0,0 @@
Name=Nome
French=Franc\u00EAs
FrenchDescr=Marque se devemos falar ol\u00E1 em franc\u00EAs
@@ -1,3 +0,0 @@
Name=Namn
French=Franska
FrenchDescr=S\u00E4tt om vi ska s\u00E4ga hej p\u00E5 Franska
@@ -1,3 +0,0 @@
Name=\u0130sim
French=Frans\u0131zca
FrenchDescr=Frans\u0131zca olarak merhaba demeliyim diye sor
@@ -1,6 +0,0 @@
# 如果您希望在 Jenkins 组织当中托管您的插件,那我们推荐您将本地化文件提交到 https://github.com/jenkinsci/localization-zh-cn-plugin 中。
# 如果您希望私有维护插件,可以参考本例子的方式放置中文的本地化文件。
Name=\u540d\u5b57
French=\u6cd5\u8bed
FrenchDescr=\u68c0\u67e5\u6211\u4eec\u662f\u5426\u5e94\u8be5\u7528\u6cd5\u8bed\u6253\u4e2a\u62db\u547c
@@ -1,5 +0,0 @@
<!--如果您希望在 Jenkins 组织当中托管您的插件,那我们推荐您将本地化文件提交到 https://github.com/jenkinsci/localization-zh-cn-plugin 中。-->
<!--如果您希望私有维护插件,可以参考本例子的方式放置中文的本地化文件。-->
<div>
你的名字。
</div>
@@ -1,3 +0,0 @@
<div>
Ob die Begrüßung auf französisch angegeben werden soll.
</div>
@@ -1,5 +0,0 @@
<!--如果您希望在 Jenkins 组织当中托管您的插件,那我们推荐您将本地化文件提交到 https://github.com/jenkinsci/localization-zh-cn-plugin 中。-->
<!--如果您希望私有维护插件,可以参考本例子的方式放置中文的本地化文件。-->
<div>
使用法语 ?
</div>
@@ -1,5 +0,0 @@
HelloWorldBuilder.DescriptorImpl.errors.missingName=Bitte geben Sie einen Namen an
HelloWorldBuilder.DescriptorImpl.warnings.tooShort=Der Name ist zu kurz.
HelloWorldBuilder.DescriptorImpl.warnings.reallyFrench=Sind Sie wirklich franz\u00F6sisch?
HelloWorldBuilder.DescriptorImpl.DisplayName=\u201EHallo Welt\u201C sagen
@@ -1,5 +0,0 @@
HelloWorldBuilder.DescriptorImpl.errors.missingName=Establecer un nombre
HelloWorldBuilder.DescriptorImpl.warnings.tooShort=\u00BFNo es el nombre demasiado corto?
HelloWorldBuilder.DescriptorImpl.warnings.reallyFrench=\u00BFEs usted realmente franc\u00E9s?
HelloWorldBuilder.DescriptorImpl.DisplayName=Di hola mundo
@@ -1,5 +0,0 @@
HelloWorldBuilder.DescriptorImpl.errors.missingName=Nome \u00E8 richiesto
HelloWorldBuilder.DescriptorImpl.warnings.tooShort=Nome dev'essere al meno 4 charatteri
HelloWorldBuilder.DescriptorImpl.warnings.reallyFrench=Vuole mostrare il messagio in francese?
HelloWorldBuilder.DescriptorImpl.DisplayName=Nome di mostrare
@@ -1,5 +0,0 @@
HelloWorldBuilder.DescriptorImpl.errors.missingName=Insira um nome
HelloWorldBuilder.DescriptorImpl.warnings.tooShort=Este nome n\u00E3o \u00E9 muito curto?
HelloWorldBuilder.DescriptorImpl.warnings.reallyFrench=Voc\u00EA \u00E9 realmente franc\u00EAs?
HelloWorldBuilder.DescriptorImpl.DisplayName=Diz ol\u00E1 mundo
@@ -1,5 +0,0 @@
HelloWorldBuilder.DescriptorImpl.errors.missingName=Ange ett namn
HelloWorldBuilder.DescriptorImpl.warnings.tooShort=\u00C4r inte namnet lite f\u00F6r kort?
HelloWorldBuilder.DescriptorImpl.warnings.reallyFrench=\u00C4r du egentligen Fransk?
HelloWorldBuilder.DescriptorImpl.DisplayName=S\u00E4g Hej V\u00E4rlden
@@ -1,5 +0,0 @@
HelloWorldBuilder.DescriptorImpl.errors.missingName=L\u00FCtfen bir isim girin
HelloWorldBuilder.DescriptorImpl.warnings.tooShort=\u0130sminiz \u00E7ok k\u0131sa de\u011Fil mi?
HelloWorldBuilder.DescriptorImpl.warnings.reallyFrench=Ger\u00E7ekten Frans\u0131z m\u0131s\u0131n\u0131z?
HelloWorldBuilder.DescriptorImpl.DisplayName=Merhaba d\u00FCnya de
@@ -1,8 +0,0 @@
# 如果您希望在 Jenkins 组织当中托管您的插件,那我们推荐您将本地化文件提交到 https://github.com/jenkinsci/localization-zh-cn-plugin 中。
# 如果您希望私有维护插件,可以参考本例子的方式放置中文的本地化文件。
HelloWorldBuilder.DescriptorImpl.errors.missingName=\u8bf7\u586b\u5199\u540d\u5b57
HelloWorldBuilder.DescriptorImpl.warnings.tooShort=\u540d\u5b57\u662f\u4e0d\u662f\u592a\u77ed\u4e86\uff1f
HelloWorldBuilder.DescriptorImpl.warnings.reallyFrench=\u4f60\u771f\u7684\u662f\u6cd5\u56fd\u4eba\u5417\uff1f
HelloWorldBuilder.DescriptorImpl.DisplayName=\u8bf4\uff1a\u4f60\u597d\uff0c\u4e16\u754c
@@ -1,3 +1,5 @@
/packages/*
*.fingerprint
# maven when running in a volume may spit out directories like this
**/\?/
\?/
@@ -0,0 +1,45 @@
PKGSDIR=packages
ifndef PKGSDIR
$(error PKGSDIR is not set)
endif
all: $(PKGSDIR)/example-java-app-maven-0.1.0.jar $(PKGSDIR)/example-java-app-gradle-0.1.0.jar $(PKGSDIR)/example-jenkins-plugin.hpi
clean: clean-examples
rm -f $(PKGSDIR)/*
clean-examples: clean-gradle clean-maven clean-jenkins
.PHONY: maven gradle clean clean-gradle clean-maven clean-jenkins clean-examples
# Maven...
$(PKGSDIR)/example-java-app-maven-0.1.0.jar:
./build-example-java-app-maven.sh $(PKGSDIR)
clean-maven:
rm -rf example-java-app/target \
example-java-app/dependency-reduced-pom.xml
# Gradle...
$(PKGSDIR)/example-java-app-gradle-0.1.0.jar:
./build-example-java-app-gradle.sh $(PKGSDIR)
clean-gradle:
rm -rf example-java-app/.gradle \
example-java-app/build
# Jenkins plugin
$(PKGSDIR)/example-jenkins-plugin.hpi , $(PKGSDIR)/example-jenkins-plugin.jar:
./build-example-jenkins-plugin.sh $(PKGSDIR)
clean-jenkins:
rm -rf example-jenkins-plugin/target \
example-jenkins-plugin/dependency-reduced-pom.xml \
example-jenkins-plugin/*.exploding
# we need a way to determine if CI should bust the test cache based on the source material
$(PKGSDIR).fingerprint: clean-examples
mkdir -p $(PKGSDIR)
find example-* -type f -exec sha256sum {} \; > $(PKGSDIR).fingerprint
sha256sum $(PKGSDIR).fingerprint
@@ -3,7 +3,8 @@ set -uxe
# note: this can be easily done in a 1-liner, however circle CI does NOT allow volume mounts from the host in docker executors (since they are on remote hosts, where the host files are inaccessible)
CTRID=$(docker create -u "$(id -u):$(id -g)" -v /example-app -w /example-app gradle:jdk gradle build)
PKGSDIR=$1
CTRID=$(docker create -u "$(id -u):$(id -g)" -v /example-java-app -w /example-java-app gradle:jdk gradle build)
function cleanup() {
docker rm "${CTRID}"
@@ -12,7 +13,7 @@ function cleanup() {
trap cleanup EXIT
set +e
docker cp "$(pwd)/example-app" "${CTRID}:/"
docker cp "$(pwd)/example-java-app" "${CTRID}:/"
docker start -a "${CTRID}"
mkdir -p packages
docker cp "${CTRID}:/example-app/build/libs/example-app-gradle-0.1.0.jar" packages/
mkdir -p "$PKGSDIR"
docker cp "${CTRID}:/example-java-app/build/libs/example-java-app-gradle-0.1.0.jar" "$PKGSDIR"
@@ -3,7 +3,8 @@ set -uxe
# note: this can be easily done in a 1-liner, however circle CI does NOT allow volume mounts from the host in docker executors (since they are on remote hosts, where the host files are inaccessible)
CTRID=$(docker create -u "$(id -u):$(id -g)" -e MAVEN_CONFIG=/tmp/.m2 -v /example-app -w /example-app maven:openjdk mvn -Duser.home=/tmp -DskipTests package)
PKGSDIR=$1
CTRID=$(docker create -u "$(id -u):$(id -g)" -e MAVEN_CONFIG=/tmp/.m2 -v /example-java-app -w /example-java-app maven:openjdk mvn -Duser.home=/tmp -DskipTests package)
function cleanup() {
docker rm "${CTRID}"
@@ -12,7 +13,7 @@ function cleanup() {
trap cleanup EXIT
set +e
docker cp "$(pwd)/example-app" "${CTRID}:/"
docker cp "$(pwd)/example-java-app" "${CTRID}:/"
docker start -a "${CTRID}"
mkdir -p packages
docker cp "${CTRID}:/example-app/target/example-app-maven-0.1.0.jar" packages/
mkdir -p "$PKGSDIR"
docker cp "${CTRID}:/example-java-app/target/example-java-app-maven-0.1.0.jar" "$PKGSDIR"
@@ -3,6 +3,7 @@ set -uxe
# note: this can be easily done in a 1-liner, however circle CI does NOT allow volume mounts from the host in docker executors (since they are on remote hosts, where the host files are inaccessible)
PKGSDIR=$1
CTRID=$(docker create -u "$(id -u):$(id -g)" -e MAVEN_CONFIG=/tmp/.m2 -v /example-jenkins-plugin -w /example-jenkins-plugin maven:openjdk mvn -Duser.home=/tmp -DskipTests package)
function cleanup() {
@@ -14,6 +15,6 @@ set +e
docker cp "$(pwd)/example-jenkins-plugin" "${CTRID}:/"
docker start -a "${CTRID}"
mkdir -p packages
docker cp "${CTRID}:/example-jenkins-plugin/target/example-jenkins-plugin.hpi" packages/
docker cp "${CTRID}:/example-jenkins-plugin/target/example-jenkins-plugin.jar" packages/
mkdir -p "$PKGSDIR"
docker cp "${CTRID}:/example-jenkins-plugin/target/example-jenkins-plugin.hpi" "$PKGSDIR"
docker cp "${CTRID}:/example-jenkins-plugin/target/example-jenkins-plugin.jar" "$PKGSDIR"
@@ -12,7 +12,7 @@ repositories {
// tag::jar[]
jar {
baseName = 'example-app-gradle'
baseName = 'example-java-app-gradle'
version = '0.1.0'
}
// end::jar[]
@@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.anchore</groupId>
<artifactId>example-app-maven</artifactId>
<artifactId>example-java-app-maven</artifactId>
<packaging>jar</packaging>
<version>0.1.0</version>
@@ -0,0 +1,4 @@
Manifest-Version: 1.0
Plugin-ScmUrl: https://github.com/jenkinsci/plugin-pom/example-jenkins
-plugin
@@ -1,7 +1,7 @@
#Generated by Maven
#Tue Jul 07 18:59:56 GMT 2020
groupId=org.anchore
artifactId=example-app-maven
artifactId=example-java-app-maven
version=0.1.0
name=something-here
another=thing
@@ -1,5 +1,5 @@
#Generated by Maven
#Tue Jul 07 18:59:56 GMT 2020
groupId=org.anchore
artifactId=example-app-maven
artifactId=example-java-app-maven
version=0.1.0