Browse Source

gradle build_

Crystal.Sea 3 years ago
parent
commit
3ab5d6db5c

+ 4 - 1
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) {

+ 63 - 56
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' }
-	}
-	copy {
-		from "$rootDir/maxkey-webs/maxkey-web-maxkey/config/build_docker.gradle"
-		into "$rootDir/maxkey-webs/maxkey-web-maxkey/"
-		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/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

+ 21 - 17
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 {
  

+ 19 - 19
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 {
  

+ 4 - 1
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) {

+ 7 - 0
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

+ 0 - 1
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")
-	
 }

+ 8 - 6
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")

+ 1 - 2
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

+ 0 - 1
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")
-   	
 }

+ 8 - 6
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")

+ 1 - 1
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'

+ 1 - 1
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'

+ 2 - 0
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

+ 1 - 4
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

+ 1 - 4
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

+ 1 - 4
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