From 3ab5d6db5cf593943a34045f63d1c69494592ef4 Mon Sep 17 00:00:00 2001 From: "Crystal.Sea" Date: Wed, 8 Sep 2021 22:27:59 +0800 Subject: [PATCH] gradle build_ --- build.gradle | 5 +- build_cnf.gradle | 119 +++++++++--------- config/build_docker.gradle | 38 +++--- config/build_jar.gradle | 38 +++--- config/build_standard.gradle | 5 +- gradle.properties | 7 ++ maxkey-webs/maxkey-web-maxkey/build.gradle | 1 - .../config/build_docker.gradle | 14 ++- .../maxkey-web-maxkey/config/build_jar.gradle | 3 +- maxkey-webs/maxkey-web-mgt/build.gradle | 1 - .../maxkey-web-mgt/config/build_docker.gradle | 14 ++- .../maxkey-web-mgt/config/build_jar.gradle | 2 +- .../config/build_standard.gradle | 2 +- release.bat | 2 + release_cnf_docker.bat | 5 +- release_cnf_jar.bat | 5 +- release_cnf_standard.bat | 5 +- 17 files changed, 142 insertions(+), 124 deletions(-) diff --git a/build.gradle b/build.gradle index 6fa0ce91a..d20a549ae 100644 --- a/build.gradle +++ b/build.gradle @@ -424,13 +424,15 @@ subprojects { } tasks.register("buildRelease",Copy) { - + dependsOn assemble //项目名 项目所在的group version 版本号 println "subproject " + project.name + ", group " + project.group +" , version " + project.version + //copy into "$rootDir/build/maxkey-jars/" from "$buildDir/libs/" include '*.jar' + } assemble.configure { finalizedBy buildRelease } @@ -565,6 +567,7 @@ tasks.register("copyShellScript",Copy) { from "$rootDir/shellscript/" into "$rootDir/build/MaxKey-v${project.version}GA/shellscript/"; + } tasks.register("copyWindowsShellScript",Copy) { diff --git a/build_cnf.gradle b/build_cnf.gradle index 48b282af7..c42a14d3c 100644 --- a/build_cnf.gradle +++ b/build_cnf.gradle @@ -18,83 +18,90 @@ * MaxKey build file was auto generated by running the Gradle release.bat */ -defaultTasks "configBuildStd" +defaultTasks "clearBuild" //Version define ext { } -task clearBuildGradle(){ +task clearBuild(){ + println 'Clear Build MaxKey ... ' delete "$rootDir/build.gradle" delete "$rootDir/maxkey-webs/maxkey-web-mgt/build.gradle" delete "$rootDir/maxkey-webs/maxkey-web-maxkey/build.gradle" } -task configBuildStd(dependsOn:['clearBuildGradle']) { - copy { - from "$rootDir/maxkey-webs/maxkey-web-mgt/config/build_standard.gradle" - into "$rootDir/maxkey-webs/maxkey-web-mgt/" - rename { String fileName -> 'build.gradle' } +task configStd(dependsOn:['clearBuild']) { + doLast { + copy { + from "$rootDir/maxkey-webs/maxkey-web-mgt/config/build_standard.gradle" + into "$rootDir/maxkey-webs/maxkey-web-mgt/" + rename { String fileName -> 'build.gradle' } + } + copy { + from "$rootDir/maxkey-webs/maxkey-web-maxkey/config/build_standard.gradle" + into "$rootDir/maxkey-webs/maxkey-web-maxkey/" + rename { String fileName -> 'build.gradle' } + } + copy { + from "$rootDir/config/build_standard.gradle" + into "$rootDir/" + rename { String fileName -> 'build.gradle' } + } + + println 'Standard Build MaxKey .' } - copy { - from "$rootDir/maxkey-webs/maxkey-web-maxkey/config/build_standard.gradle" - into "$rootDir/maxkey-webs/maxkey-web-maxkey/" - rename { String fileName -> 'build.gradle' } - } - copy { - from "$rootDir/config/build_standard.gradle" - into "$rootDir/" - rename { String fileName -> 'build.gradle' } - } - - println 'Standard Build MaxKey .' } -task configBuildDocker(dependsOn:['clearBuildGradle']) { - copy { - from "$rootDir/maxkey-webs/maxkey-web-mgt/config/build_docker.gradle" - into "$rootDir/maxkey-webs/maxkey-web-mgt/" - rename { String fileName -> 'build.gradle' } +task configDocker(dependsOn:['clearBuild']) { + doLast { + copy { + from "$rootDir/maxkey-webs/maxkey-web-mgt/config/build_docker.gradle" + into "$rootDir/maxkey-webs/maxkey-web-mgt/" + rename { String fileName -> 'build.gradle' } + } + copy { + from "$rootDir/maxkey-webs/maxkey-web-maxkey/config/build_docker.gradle" + into "$rootDir/maxkey-webs/maxkey-web-maxkey/" + rename { String fileName -> 'build.gradle' } + } + + copy { + from "$rootDir/config/build_docker.gradle" + into "$rootDir/" + rename { String fileName -> 'build.gradle' } + } + + println 'Docker Build MaxKey .' } - copy { - from "$rootDir/maxkey-webs/maxkey-web-maxkey/config/build_docker.gradle" - into "$rootDir/maxkey-webs/maxkey-web-maxkey/" - rename { String fileName -> 'build.gradle' } - } - - copy { - from "$rootDir/config/build_docker.gradle" - into "$rootDir/" - rename { String fileName -> 'build.gradle' } - } - - println 'Docker Build MaxKey .' } -task configBuildJar(dependsOn:['clearBuildGradle']) { - copy { - from "$rootDir/maxkey-webs/maxkey-web-mgt/config/build_jar.gradle" - into "$rootDir/maxkey-webs/maxkey-web-mgt/" - rename { String fileName -> 'build.gradle' } - } - - copy { - from "$rootDir/maxkey-webs/maxkey-web-maxkey/config/build_jar.gradle" - into "$rootDir/maxkey-webs/maxkey-web-maxkey/" - rename { String fileName -> 'build.gradle' } - } - - copy { - from "$rootDir/config/build_jar.gradle" - into "$rootDir/" - rename { String fileName -> 'build.gradle' } - } +task configJar(dependsOn:['clearBuild']) { + doLast { + copy { + from "$rootDir/maxkey-webs/maxkey-web-mgt/config/build_jar.gradle" + into "$rootDir/maxkey-webs/maxkey-web-mgt/" + rename { String fileName -> 'build.gradle' } + } + + copy { + from "$rootDir/maxkey-webs/maxkey-web-maxkey/config/build_jar.gradle" + into "$rootDir/maxkey-webs/maxkey-web-maxkey/" + rename { String fileName -> 'build.gradle' } + } + + copy { + from "$rootDir/config/build_jar.gradle" + into "$rootDir/" + rename { String fileName -> 'build.gradle' } + } - println 'Java Jar Build MaxKey .' + println 'Java Jar Build MaxKey .' + } } // In this section you declare the dependencies for your production and test code diff --git a/config/build_docker.gradle b/config/build_docker.gradle index 9b999988a..f57761cdf 100644 --- a/config/build_docker.gradle +++ b/config/build_docker.gradle @@ -103,19 +103,21 @@ subprojects { repositories { mavenLocal() - maven { url 'https://maven.aliyun.com/nexus/content/groups/public/'} + maven { url "https://maven.aliyun.com/repository/central/"} + maven { url "https://maven.aliyun.com/repository/public/"} + maven { url "https://maven.aliyun.com/repository/spring/"} maven { url "https://repo.spring.io/plugins-release/" } maven { url "https://repo.spring.io/milestone" } maven { url "https://repo1.maven.org/maven2/" } - maven { url "https://build.shibboleth.net/nexus/content/repositories/releases/" } - maven { url "https://mvnrepository.com/repos/central/" } + maven { url "https://build.shibboleth.net/nexus/content/repositories/releases/" } + maven { url "https://mvnrepository.com/repos/central/" } maven { url "https://jcenter.bintray.com" } maven { url "https://mvn.gt.igexin.com/nexus/content/repositories/releases"} maven { url "https://plugins.gradle.org/m2/" } maven { url "https://oss.sonatype.org/content/repositories/releases/" } maven { url "https://maven.repository.redhat.com/ga/" } - maven { url "https://repository.apache.org/content/repositories/releases/" } - mavenCentral() + maven { url "https://repository.apache.org/content/repositories/releases/" } + mavenCentral() } //all dependencies @@ -414,23 +416,25 @@ subprojects { ) } } + + task buildRelease() { + dependsOn assemble + //项目名 + println "subproject " + project.name + ", group " + project.group +" , version " + project.version + } + assemble.configure { finalizedBy buildRelease } } -task buildRelease(dependsOn:['build']) { - //项目名 - println "project " + project.name + " environment ..." - //项目所在的group version 版本号 - println "project group " + project.group +" , version " + project.version - //项目相对路径 - println "project path " + project.path - //项目的绝对路径 - println "project projectDir " + project.projectDir - //项目的build文件绝对路径 - println "project buildDir " + project.buildDir - println 'Build MaxKey '+project.name +' ' +tasks.register("buildRelease") { + //项目名 项目所在的group version 版本号 + println "Root project " + project.name + ", group " + project.group +" , version " + project.version + //项目的绝对路径 to 项目的build文件绝对路径 + println "Root project projectDir " + project.projectDir +" to " + project.buildDir } +build.configure { finalizedBy buildRelease } + // In this section you declare the dependencies for your production and test code dependencies { diff --git a/config/build_jar.gradle b/config/build_jar.gradle index 976598eb4..a44bc2cc1 100644 --- a/config/build_jar.gradle +++ b/config/build_jar.gradle @@ -103,19 +103,21 @@ subprojects { repositories { mavenLocal() - maven { url 'https://maven.aliyun.com/nexus/content/groups/public/'} + maven { url "https://maven.aliyun.com/repository/central/"} + maven { url "https://maven.aliyun.com/repository/public/"} + maven { url "https://maven.aliyun.com/repository/spring/"} maven { url "https://repo.spring.io/plugins-release/" } maven { url "https://repo.spring.io/milestone" } maven { url "https://repo1.maven.org/maven2/" } - maven { url "https://build.shibboleth.net/nexus/content/repositories/releases/" } - maven { url "https://mvnrepository.com/repos/central/" } + maven { url "https://build.shibboleth.net/nexus/content/repositories/releases/" } + maven { url "https://mvnrepository.com/repos/central/" } maven { url "https://jcenter.bintray.com" } maven { url "https://mvn.gt.igexin.com/nexus/content/repositories/releases"} maven { url "https://plugins.gradle.org/m2/" } maven { url "https://oss.sonatype.org/content/repositories/releases/" } maven { url "https://maven.repository.redhat.com/ga/" } - maven { url "https://repository.apache.org/content/repositories/releases/" } - mavenCentral() + maven { url "https://repository.apache.org/content/repositories/releases/" } + mavenCentral() } //all dependencies @@ -415,27 +417,25 @@ subprojects { } } - task buildRelease(dependsOn:['build','jar']) { + task buildRelease() { + dependsOn assemble //项目名 - println "project " + project.name + " environment ..." + println "subproject " + project.name + ", group " + project.group +" , version " + project.version } + + assemble.configure { finalizedBy buildRelease } } -task buildRelease(dependsOn:['build']) { - //项目名 - println "project " + project.name + " environment ..." - //项目所在的group version 版本号 - println "project group " + project.group +" , version " + project.version - //项目相对路径 - println "project path " + project.path - //项目的绝对路径 - println "project projectDir " + project.projectDir - //项目的build文件绝对路径 - println "project buildDir " + project.buildDir - println 'Build MaxKey '+project.name +' ' +tasks.register("buildRelease") { + //项目名 项目所在的group version 版本号 + println "Root project " + project.name + ", group " + project.group +" , version " + project.version + //项目的绝对路径 to 项目的build文件绝对路径 + println "Root project projectDir " + project.projectDir +" to " + project.buildDir } +build.configure { finalizedBy buildRelease } + // In this section you declare the dependencies for your production and test code dependencies { diff --git a/config/build_standard.gradle b/config/build_standard.gradle index 6fa0ce91a..d20a549ae 100644 --- a/config/build_standard.gradle +++ b/config/build_standard.gradle @@ -424,13 +424,15 @@ subprojects { } tasks.register("buildRelease",Copy) { - + dependsOn assemble //项目名 项目所在的group version 版本号 println "subproject " + project.name + ", group " + project.group +" , version " + project.version + //copy into "$rootDir/build/maxkey-jars/" from "$buildDir/libs/" include '*.jar' + } assemble.configure { finalizedBy buildRelease } @@ -565,6 +567,7 @@ tasks.register("copyShellScript",Copy) { from "$rootDir/shellscript/" into "$rootDir/build/MaxKey-v${project.version}GA/shellscript/"; + } tasks.register("copyWindowsShellScript",Copy) { diff --git a/gradle.properties b/gradle.properties index caedf9f84..cf0e43be4 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,6 +3,13 @@ group =maxkey.top version =2.9.0 vendor =https://www.maxkey.top author =MaxKeyTop + +#docker jib image +jibFromImage =adoptopenjdk:8-jre +jibToImage =maxkeytop +jibToAuthUsername =maxkeytop +jibToAuthPassword =youpassword + #maxkey used jars version #Apache commonsbeanutilsVersion =1.9.3 diff --git a/maxkey-webs/maxkey-web-maxkey/build.gradle b/maxkey-webs/maxkey-web-maxkey/build.gradle index 199b8f594..9f24f47c2 100644 --- a/maxkey-webs/maxkey-web-maxkey/build.gradle +++ b/maxkey-webs/maxkey-web-maxkey/build.gradle @@ -23,5 +23,4 @@ dependencies { implementation project(":maxkey-protocols:maxkey-protocol-jwt") implementation project(":maxkey-webs:maxkey-web-resources") - } diff --git a/maxkey-webs/maxkey-web-maxkey/config/build_docker.gradle b/maxkey-webs/maxkey-web-maxkey/config/build_docker.gradle index 349033e38..6190b68e9 100644 --- a/maxkey-webs/maxkey-web-maxkey/config/build_docker.gradle +++ b/maxkey-webs/maxkey-web-maxkey/config/build_docker.gradle @@ -1,7 +1,6 @@ buildscript { repositories { - jcenter() - maven { url 'http://maven.aliyun.com/nexus/content/groups/public/'} + maven { url 'https://maven.aliyun.com/nexus/content/groups/public/'} } } @@ -18,15 +17,15 @@ description = "maxkey-web-maxkey" //docker jib { from { - image = 'openjdk:8-jre-alpine' + image = "${jibFromImage}" } to { //https://registry.hub.docker.com/repository/docker/maxkeytop/maxkey - image = "maxkeytop/maxkey" + image = "${jibToImage}/maxkey" tags = ["${project.version}".toString(), 'latest'] auth { - username = "maxkeytop" - password = "password" + username = "${jibToAuthUsername}" + password = "${jibToAuthPassword}" } } container { @@ -36,6 +35,9 @@ jib { } } + +//build.configure { finalizedBy jib } + dependencies { implementation project(":maxkey-common") implementation project(":maxkey-core") diff --git a/maxkey-webs/maxkey-web-maxkey/config/build_jar.gradle b/maxkey-webs/maxkey-web-maxkey/config/build_jar.gradle index 9b50647fa..2d684f20c 100644 --- a/maxkey-webs/maxkey-web-maxkey/config/build_jar.gradle +++ b/maxkey-webs/maxkey-web-maxkey/config/build_jar.gradle @@ -1,7 +1,6 @@ buildscript { repositories { - jcenter() - maven { url 'http://maven.aliyun.com/nexus/content/groups/public/'} + maven { url 'https://maven.aliyun.com/nexus/content/groups/public/'} } dependencies { //springboot jar diff --git a/maxkey-webs/maxkey-web-mgt/build.gradle b/maxkey-webs/maxkey-web-mgt/build.gradle index a508ced24..3f21e823e 100644 --- a/maxkey-webs/maxkey-web-mgt/build.gradle +++ b/maxkey-webs/maxkey-web-mgt/build.gradle @@ -25,5 +25,4 @@ dependencies { implementation project(":maxkey-identitys:maxkey-synchronizers-dingding") implementation project(":maxkey-webs:maxkey-web-resources") - } \ No newline at end of file diff --git a/maxkey-webs/maxkey-web-mgt/config/build_docker.gradle b/maxkey-webs/maxkey-web-mgt/config/build_docker.gradle index e89c563e1..d1d7ef508 100644 --- a/maxkey-webs/maxkey-web-mgt/config/build_docker.gradle +++ b/maxkey-webs/maxkey-web-mgt/config/build_docker.gradle @@ -1,6 +1,6 @@ buildscript { repositories { - maven { url 'http://maven.aliyun.com/nexus/content/groups/public/'} + maven { url 'https://maven.aliyun.com/nexus/content/groups/public/'} } } //docker @@ -13,19 +13,19 @@ plugins { apply plugin: 'com.google.cloud.tools.jib' -description = "maxkey-web-manage" +description = "maxkey-web-mgt" jib { from { - image = 'openjdk:8-jre-alpine' + image = "${jibFromImage}" } to { //https://registry.hub.docker.com/repository/docker/maxkeytop/maxkey-mgt - image = "maxkeytop/maxkey-mgt" + image = "${jibToImage}/maxkey-mgt" tags = ["${project.version}".toString(), 'latest'] auth { - username = "maxkeytop" - password = "password" + username = "${jibToAuthUsername}" + password = "${jibToAuthPassword}" } } @@ -36,6 +36,8 @@ jib { } } +//build.configure { finalizedBy jib } + dependencies { implementation project(":maxkey-common") implementation project(":maxkey-core") diff --git a/maxkey-webs/maxkey-web-mgt/config/build_jar.gradle b/maxkey-webs/maxkey-web-mgt/config/build_jar.gradle index 665dd0122..3ec99905a 100644 --- a/maxkey-webs/maxkey-web-mgt/config/build_jar.gradle +++ b/maxkey-webs/maxkey-web-mgt/config/build_jar.gradle @@ -13,7 +13,7 @@ plugins { id "io.spring.dependency-management" version "1.0.11.RELEASE" } -description = "maxkey-web-manage" +description = "maxkey-web-mgt" //springboot jar apply plugin: 'io.spring.dependency-management' diff --git a/maxkey-webs/maxkey-web-mgt/config/build_standard.gradle b/maxkey-webs/maxkey-web-mgt/config/build_standard.gradle index 699884e5b..3f21e823e 100644 --- a/maxkey-webs/maxkey-web-mgt/config/build_standard.gradle +++ b/maxkey-webs/maxkey-web-mgt/config/build_standard.gradle @@ -1,4 +1,4 @@ -description = "maxkey-web-manage" +description = "maxkey-web-mgt" //add support for Java apply plugin: 'java' diff --git a/release.bat b/release.bat index e266f05ac..1e9a327aa 100644 --- a/release.bat +++ b/release.bat @@ -16,6 +16,8 @@ echo clean complete . rem call %GRADLE_HOME%/bin/gradle build -x test call %GRADLE_HOME%/bin/gradle build -x test +rem for docker +rem call %GRADLE_HOME%/bin/gradle build jib -x test cd build rd /q /s libs diff --git a/release_cnf_docker.bat b/release_cnf_docker.bat index 4a1c877a4..22074c331 100644 --- a/release_cnf_docker.bat +++ b/release_cnf_docker.bat @@ -2,10 +2,7 @@ call setEnvVars.bat set START_TIME="%date:~0,10% %time:~0,2%:%time:~3,5%" echo start time %START_TIME% -call %JAVA_HOME%/bin/java -version -call %GRADLE_HOME%/bin/gradle -version - -call %GRADLE_HOME%/bin/gradle configBuildDocker -b build_cnf.gradle +call %GRADLE_HOME%/bin/gradle configDocker -b build_cnf.gradle pause \ No newline at end of file diff --git a/release_cnf_jar.bat b/release_cnf_jar.bat index 116178dd5..29451202d 100644 --- a/release_cnf_jar.bat +++ b/release_cnf_jar.bat @@ -2,10 +2,7 @@ call setEnvVars.bat set START_TIME="%date:~0,10% %time:~0,2%:%time:~3,5%" echo start time %START_TIME% -call %JAVA_HOME%/bin/java -version -call %GRADLE_HOME%/bin/gradle -version - -call %GRADLE_HOME%/bin/gradle configBuildJar -b build_cnf.gradle +call %GRADLE_HOME%/bin/gradle configJar -b build_cnf.gradle pause \ No newline at end of file diff --git a/release_cnf_standard.bat b/release_cnf_standard.bat index 0e156c2f8..62ffa3e28 100644 --- a/release_cnf_standard.bat +++ b/release_cnf_standard.bat @@ -2,10 +2,7 @@ call setEnvVars.bat set START_TIME="%date:~0,10% %time:~0,2%:%time:~3,5%" echo start time %START_TIME% -call %JAVA_HOME%/bin/java -version -call %GRADLE_HOME%/bin/gradle -version - -call %GRADLE_HOME%/bin/gradle configBuildStd -b build_cnf.gradle +call %GRADLE_HOME%/bin/gradle configStd -b build_cnf.gradle pause \ No newline at end of file