瀏覽代碼

v3.0.0GA with standard build

Crystal.Sea 3 年之前
父節點
當前提交
2c5c2c079d
共有 2 個文件被更改,包括 120 次插入196 次删除
  1. 43 81
      build.gradle
  2. 77 115
      config/build_standard.gradle

+ 43 - 81
build.gradle

@@ -25,6 +25,35 @@ ext {
     
 }
 
+def libjarsmapper=[
+    'maxkey-authentication-otp'             :'lib',
+    'maxkey-authentication-captcha'         :'lib',
+    'maxkey-authentication-core'            :'lib',
+    'maxkey-common'                         :'lib',
+    'maxkey-core'                           :'lib',
+    'maxkey-persistence'                    :'lib',
+    'maxkey-protocol-authorize'             :'lib',
+    'maxkey-protocol-cas'                   :'lib',
+    'maxkey-protocol-desktop'               :'lib',
+    'maxkey-protocol-extendapi'             :'lib',
+    'maxkey-protocol-formbased'             :'lib',
+    'maxkey-protocol-jwt'                   :'lib',
+    'maxkey-protocol-oauth-2.0'             :'lib',
+    'maxkey-protocol-saml-2.0'              :'lib',
+    'maxkey-protocol-tokenbased'            :'lib',
+    'maxkey-web-resources'                  :'lib',
+    'maxkey-authentication-social'          :'maxkey',
+    'maxkey-web-maxkey'                     :'maxkey',
+    'maxkey-identity-rest'                  :'maxkey_mgt',
+    'maxkey-identity-scim'                  :'maxkey_mgt',
+    'maxkey-web-mgt'                        :'maxkey_mgt',
+    'maxkey-synchronizers'                  :'maxkey_mgt',
+    'maxkey-synchronizers-activedirectory'  :'maxkey_mgt',
+    'maxkey-synchronizers-ldap'             :'maxkey_mgt',
+    'maxkey-synchronizers-dingding'         :'maxkey_mgt',
+    'maxkey-synchronizers-workweixin'       :'maxkey_mgt',
+    'maxkey-boot-monitor'                   :'maxkey_monitor'
+]
 
 configurations.all {
     transitive = false// 为本依赖关闭依赖传递特性
@@ -124,7 +153,7 @@ subprojects {
         maven { url "https://repository.apache.org/content/repositories/releases/" }
         mavenCentral()
     }  
-    
+
     //all dependencies
     dependencies {
         
@@ -427,15 +456,21 @@ subprojects {
 		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 }
+    
+    tasks.register("copyLibJars",Copy) {
+        if (libjarsmapper["${project.name}"] != null){
+              into "$rootDir/build/MaxKey-v${project.version}GA/"+libjarsmapper["${project.name}"]
+              from "$buildDir/libs/"
+              include '*.jar'
+        }
+    }
+	assemble.configure { finalizedBy buildRelease,copyLibJars }
 }
 
 //copy Dep Jars to /build/maxkey-depjars,only maxkey-common deps
@@ -444,9 +479,9 @@ project('maxkey-common')  {
         def paths = ["$rootDir/build/MaxKey-v${project.version}GA",
                      "$rootDir/build/MaxKey-v${project.version}GA/maxkey",
                      "$rootDir/build/MaxKey-v${project.version}GA/maxkey_mgt",
+                     "$rootDir/build/MaxKey-v${project.version}GA/maxkey_monitor",
                      "$rootDir/build/MaxKey-v${project.version}GA/lib"];
         //遍历数组,调用createDir闭包,创建目录
-        
         paths.forEach(){path->
             File dir=new File(path);
             if (!dir.exists()){
@@ -459,7 +494,7 @@ project('maxkey-common')  {
 	task copyDepJars (type: Copy){
 		dependsOn	assemble
 		println  "copy Dep Jars to $rootDir/build/MaxKey-v${project.version}GA/lib"
-		
+		//copy runtime
 		from configurations.runtimeClasspath
 		into "$rootDir/build/MaxKey-v${project.version}GA/lib";
 	}
@@ -469,90 +504,18 @@ project('maxkey-common')  {
 
 //copy Dep Jars to /build/maxkey-depjars,only maxkey-boot-monitor deps
 project('maxkey-webs:maxkey-boot-monitor')  {
-    task createReleaseDir(type: Copy){
-        def paths = ["$rootDir/build/MaxKey-v${project.version}GA/maxkey_monitor"];
-        //遍历数组,调用createDir闭包,创建目录
-        
-        paths.forEach(){path->
-            File dir=new File(path);
-            if (!dir.exists()){
-                print("create "+path+"\n")
-                dir.mkdirs();
-            }
-        };
-    }
-
 	task copyDepJars(type:Copy) {
 		dependsOn	assemble
 		//项目名 项目所在的group version 版本号
 		println  "subproject " + project.name + ", group " + project.group +" , version " + project.version
-		//copy
-		from "$buildDir/libs/"   include '*.jar'
+		//copy runtime
 		from configurations.runtimeClasspath
 		into "$rootDir/build/MaxKey-v${project.version}GA/maxkey_monitor";
     }
 	
 	build.configure { finalizedBy copyDepJars }
-	
-}
-
-project('maxkey-webs:maxkey-web-maxkey')  {
-	
-	task copyDepJars (type: Copy){
-		println  "project copyMaxKey .";
-	
-		from "$rootDir/build/maxkey-jars/maxkey-authentication-social-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-web-maxkey-${project.version}.jar"
-		into "$rootDir/build/MaxKey-v${project.version}GA/maxkey/";
-	}
-	
-	//common lib jars
-	task copyMaxKeyLibs(type: Copy) {
-		from "$rootDir/build/maxkey-jars/maxkey-authentication-otp-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-authentication-captcha-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-authentication-core-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-common-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-core-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-persistence-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-protocol-authorize-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-protocol-cas-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-protocol-desktop-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-protocol-extendapi-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-protocol-formbased-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-protocol-jwt-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-protocol-oauth-2.0-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-protocol-saml-2.0-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-protocol-tokenbased-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-web-resources-${project.version}.jar"
-		into "$rootDir/build/MaxKey-v${project.version}GA/lib";
-	}
-	
-	build.configure { finalizedBy copyDepJars }
-	
-	copyDepJars.configure { finalizedBy copyMaxKeyLibs }
-	
 }
 
-
-project('maxkey-webs:maxkey-web-mgt')  {
-	
-	task copyDepJars (type: Copy){
-		println  "project copyMaxKeyMgt .";
-		from "$rootDir/build/maxkey-jars/maxkey-identity-rest-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-identity-scim-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-web-mgt-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-synchronizers-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-synchronizers-activedirectory-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-synchronizers-ldap-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-synchronizers-dingding-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-synchronizers-workweixin-${project.version}.jar"
-		into "$rootDir/build/MaxKey-v${project.version}GA/maxkey_mgt/";
-	}
-	
-	build.configure { finalizedBy copyDepJars }
-}
-
-
 tasks.register("buildRelease")  {
 	dependsOn 'copyShellScript','copyWindowsShellScript'
 	
@@ -567,7 +530,6 @@ tasks.register("copyShellScript",Copy) {
 	
 	from "$rootDir/shellscript/"
 	into "$rootDir/build/MaxKey-v${project.version}GA/shellscript/";
-
 }
 
 tasks.register("copyWindowsShellScript",Copy) {

+ 77 - 115
config/build_standard.gradle

@@ -25,6 +25,35 @@ ext {
     
 }
 
+def libjarsmapper=[
+    'maxkey-authentication-otp'             :'lib',
+    'maxkey-authentication-captcha'         :'lib',
+    'maxkey-authentication-core'            :'lib',
+    'maxkey-common'                         :'lib',
+    'maxkey-core'                           :'lib',
+    'maxkey-persistence'                    :'lib',
+    'maxkey-protocol-authorize'             :'lib',
+    'maxkey-protocol-cas'                   :'lib',
+    'maxkey-protocol-desktop'               :'lib',
+    'maxkey-protocol-extendapi'             :'lib',
+    'maxkey-protocol-formbased'             :'lib',
+    'maxkey-protocol-jwt'                   :'lib',
+    'maxkey-protocol-oauth-2.0'             :'lib',
+    'maxkey-protocol-saml-2.0'              :'lib',
+    'maxkey-protocol-tokenbased'            :'lib',
+    'maxkey-web-resources'                  :'lib',
+    'maxkey-authentication-social'          :'maxkey',
+    'maxkey-web-maxkey'                     :'maxkey',
+    'maxkey-identity-rest'                  :'maxkey_mgt',
+    'maxkey-identity-scim'                  :'maxkey_mgt',
+    'maxkey-web-mgt'                        :'maxkey_mgt',
+    'maxkey-synchronizers'                  :'maxkey_mgt',
+    'maxkey-synchronizers-activedirectory'  :'maxkey_mgt',
+    'maxkey-synchronizers-ldap'             :'maxkey_mgt',
+    'maxkey-synchronizers-dingding'         :'maxkey_mgt',
+    'maxkey-synchronizers-workweixin'       :'maxkey_mgt',
+    'maxkey-boot-monitor'                   :'maxkey_monitor'
+]
 
 configurations.all {
     transitive = false// 为本依赖关闭依赖传递特性
@@ -124,7 +153,7 @@ subprojects {
         maven { url "https://repository.apache.org/content/repositories/releases/" }
         mavenCentral()
     }  
-    
+
     //all dependencies
     dependencies {
         
@@ -423,19 +452,25 @@ 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'
-
+    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 }
+    
+    tasks.register("copyLibJars",Copy) {
+        if (libjarsmapper["${project.name}"] != null){
+              into "$rootDir/build/MaxKey-v${project.version}GA/"+libjarsmapper["${project.name}"]
+              from "$buildDir/libs/"
+              include '*.jar'
+        }
+    }
+    assemble.configure { finalizedBy buildRelease,copyLibJars }
 }
 
 //copy Dep Jars to /build/maxkey-depjars,only maxkey-common deps
@@ -444,9 +479,9 @@ project('maxkey-common')  {
         def paths = ["$rootDir/build/MaxKey-v${project.version}GA",
                      "$rootDir/build/MaxKey-v${project.version}GA/maxkey",
                      "$rootDir/build/MaxKey-v${project.version}GA/maxkey_mgt",
+                     "$rootDir/build/MaxKey-v${project.version}GA/maxkey_monitor",
                      "$rootDir/build/MaxKey-v${project.version}GA/lib"];
         //遍历数组,调用createDir闭包,创建目录
-        
         paths.forEach(){path->
             File dir=new File(path);
             if (!dir.exists()){
@@ -455,107 +490,35 @@ project('maxkey-common')  {
             }
         };
     }
-	
-	task copyDepJars (type: Copy){
-		dependsOn	assemble
-		println  "copy Dep Jars to $rootDir/build/MaxKey-v${project.version}GA/lib"
-		
-		from configurations.runtimeClasspath
-		into "$rootDir/build/MaxKey-v${project.version}GA/lib";
-	}
-	
-	build.configure { finalizedBy copyDepJars }
+    
+    task copyDepJars (type: Copy){
+        dependsOn   assemble
+        println  "copy Dep Jars to $rootDir/build/MaxKey-v${project.version}GA/lib"
+        //copy runtime
+        from configurations.runtimeClasspath
+        into "$rootDir/build/MaxKey-v${project.version}GA/lib";
+    }
+    
+    build.configure { finalizedBy copyDepJars }
 }
 
 //copy Dep Jars to /build/maxkey-depjars,only maxkey-boot-monitor deps
 project('maxkey-webs:maxkey-boot-monitor')  {
-    task createReleaseDir(type: Copy){
-        def paths = ["$rootDir/build/MaxKey-v${project.version}GA/maxkey_monitor"];
-        //遍历数组,调用createDir闭包,创建目录
-        
-        paths.forEach(){path->
-            File dir=new File(path);
-            if (!dir.exists()){
-                print("create "+path+"\n")
-                dir.mkdirs();
-            }
-        };
+    task copyDepJars(type:Copy) {
+        dependsOn   assemble
+        //项目名 项目所在的group version 版本号
+        println  "subproject " + project.name + ", group " + project.group +" , version " + project.version
+        //copy runtime
+        from configurations.runtimeClasspath
+        into "$rootDir/build/MaxKey-v${project.version}GA/maxkey_monitor";
     }
-
-	task copyDepJars(type:Copy) {
-		dependsOn	assemble
-		//项目名 项目所在的group version 版本号
-		println  "subproject " + project.name + ", group " + project.group +" , version " + project.version
-		//copy
-		from "$buildDir/libs/"   include '*.jar'
-		from configurations.runtimeClasspath
-		into "$rootDir/build/MaxKey-v${project.version}GA/maxkey_monitor";
-    }
-	
-	build.configure { finalizedBy copyDepJars }
-	
-}
-
-project('maxkey-webs:maxkey-web-maxkey')  {
-	
-	task copyDepJars (type: Copy){
-		println  "project copyMaxKey .";
-	
-		from "$rootDir/build/maxkey-jars/maxkey-authentication-social-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-web-maxkey-${project.version}.jar"
-		into "$rootDir/build/MaxKey-v${project.version}GA/maxkey/";
-	}
-	
-	//common lib jars
-	task copyMaxKeyLibs(type: Copy) {
-		from "$rootDir/build/maxkey-jars/maxkey-authentication-otp-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-authentication-captcha-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-authentication-core-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-common-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-core-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-persistence-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-protocol-authorize-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-protocol-cas-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-protocol-desktop-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-protocol-extendapi-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-protocol-formbased-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-protocol-jwt-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-protocol-oauth-2.0-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-protocol-saml-2.0-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-protocol-tokenbased-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-web-resources-${project.version}.jar"
-		into "$rootDir/build/MaxKey-v${project.version}GA/lib";
-	}
-	
-	build.configure { finalizedBy copyDepJars }
-	
-	copyDepJars.configure { finalizedBy copyMaxKeyLibs }
-	
-}
-
-
-project('maxkey-webs:maxkey-web-mgt')  {
-	
-	task copyDepJars (type: Copy){
-		println  "project copyMaxKeyMgt .";
-		from "$rootDir/build/maxkey-jars/maxkey-identity-rest-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-identity-scim-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-web-mgt-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-synchronizers-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-synchronizers-activedirectory-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-synchronizers-ldap-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-synchronizers-dingding-${project.version}.jar"
-		from "$rootDir/build/maxkey-jars/maxkey-synchronizers-workweixin-${project.version}.jar"
-		into "$rootDir/build/MaxKey-v${project.version}GA/maxkey_mgt/";
-	}
-	
-	build.configure { finalizedBy copyDepJars }
+    
+    build.configure { finalizedBy copyDepJars }
 }
 
-
 tasks.register("buildRelease")  {
-	dependsOn 'copyShellScript','copyWindowsShellScript'
-	
+    dependsOn 'copyShellScript','copyWindowsShellScript'
+    
     //项目名 项目所在的group version 版本号
     println  "Root project " + project.name + ", group " + project.group +" , version " + project.version
     //项目的绝对路径 to 项目的build文件绝对路径
@@ -563,17 +526,16 @@ tasks.register("buildRelease")  {
 }
 
 tasks.register("copyShellScript",Copy) {
-	println  "project copyMaxKeyShellScript .";
-	
-	from "$rootDir/shellscript/"
-	into "$rootDir/build/MaxKey-v${project.version}GA/shellscript/";
-
+    println  "project copyMaxKeyShellScript .";
+    
+    from "$rootDir/shellscript/"
+    into "$rootDir/build/MaxKey-v${project.version}GA/shellscript/";
 }
 
 tasks.register("copyWindowsShellScript",Copy) {
-	println  "project copyMaxKeyWindowsShellScript .";
-	from "$rootDir/shellscript/windows"
-	into "$rootDir/build/MaxKey-v${project.version}GA/";
+    println  "project copyMaxKeyWindowsShellScript .";
+    from "$rootDir/shellscript/windows"
+    into "$rootDir/build/MaxKey-v${project.version}GA/";
 }
 
 build.configure { finalizedBy buildRelease }