You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

120 lines
4.5 KiB

dependencies {
api(
project(":io.sc.engine.rule.core"),
project(":io.sc.platform.util"),
project(":io.sc.platform.groovy"),
)
}
/**
* 拷贝依赖工程生成的 jar 包
* 1. io.sc.engine.rule.core-xxx.jar
* 2. io.sc.platform.util-xxx.jar
*/
tasks.register('copyDependenciesProjectJars') {
dependsOn ':io.sc.engine.rule.core:jar',
':io.sc.platform.util:jar',
':io.sc.creditreport.core:jar',
':io.sc.engine.rule.client.spring:jar'
doLast {
println('copy dependencies project jar ......');
def targetDir =file('src/main/resources/io/sc/engine/rule/client/jars/').absolutePath;
delete targetDir;
file(targetDir).mkdirs();
project.getRootProject().subprojects { dependedProject ->
if( dependedProject.name=='io.sc.engine.rule.core'
|| dependedProject.name=='io.sc.platform.util'
|| dependedProject.name=='io.sc.creditreport.core'
|| dependedProject.name=='io.sc.engine.rule.client.spring'
){
def dir =dependedProject.getBuildDir().absolutePath + '/libs';
def source =dir + '/' + dependedProject.name + '-' + dependedProject.version + '.jar';
if(file(source).exists() && file(source).isFile()){
copy {
from dir + '/' + dependedProject.name + '-' + dependedProject.version + '.jar'
into targetDir
}
}else{
println('>>>>>>>>');
}
}
}
}
}
/**
* 拷贝依赖第三方 jar 包
*/
tasks.register('copyRuntimeClasspathJars') {
dependsOn 'copyDependenciesProjectJars'
doLast {
configurations.runtimeClasspath.each(r ->{
println r
});
println('copy runtimeClasspath jar ......');
copy {
from configurations.runtimeClasspath
into 'src/main/resources/io/sc/engine/rule/client/jars'
include(
'jackson-annotations-*.jar',
'jackson-core-*.jar',
'jackson-databind-*.jar',
'slf4j-api-*.jar',
'jaxb-api-*.jar'
)
}
}
}
/**
* 替换可导出资源插件文件, 更新版本
*/
tasks.register('replaceExportableResourcesPlugins') {
dependsOn 'copyRuntimeClasspathJars'
doLast {
println('replace exportable-resources.json ......');
File file =file('src/main/resources/META-INF/platform/plugins/exportable-resources.json');
String content =file.text;
// replace io.sc.engine.rule.core-xx.xx.xx.jar
java.util.regex.Pattern corePattern =java.util.regex.Pattern.compile('io\\.sc\\.engine\\.rule\\.core-(.*)?\\.jar');
java.util.regex.Matcher coreMatcher = corePattern.matcher(content);
while (coreMatcher.find()) {
content =content.replace(coreMatcher.group(0),"io.sc.engine.rule.core-" + project.version + ".jar");
}
// replace io.sc.platform.util-xx.xx.xx.jar
java.util.regex.Pattern utilPattern =java.util.regex.Pattern.compile('io\\.sc\\.platform\\.util-(.*)?\\.jar');
java.util.regex.Matcher utilMatcher = utilPattern.matcher(content);
while (utilMatcher.find()) {
content =content.replace(utilMatcher.group(0),"io.sc.platform.util-" + project.version + ".jar");
}
// replace io.sc.creditreport.core-xx.xx.xx.jar
java.util.regex.Pattern creditreportPattern =java.util.regex.Pattern.compile('io\\.sc\\.creditreport\\.core-(.*)?\\.jar');
java.util.regex.Matcher creditreportMatcher = creditreportPattern.matcher(content);
while (creditreportMatcher.find()) {
content =content.replace(creditreportMatcher.group(0),"io.sc.creditreport.core-" + project.version + ".jar");
}
// replace io.sc.engine.rule.client.spring-xx.xx.xx.jar
java.util.regex.Pattern clientSpringPattern =java.util.regex.Pattern.compile('io\\.sc\\.engine\\.rule\\.client\\.spring-(.*)?\\.jar');
java.util.regex.Matcher clientSpringMatcher = clientSpringPattern.matcher(content);
while (clientSpringMatcher.find()) {
content =content.replace(clientSpringMatcher.group(0),"io.sc.engine.rule.client.spring-" + project.version + ".jar");
}
file.write(content);
}
}
/**
* 同步项目,
*/
tasks.register('sync') {
dependsOn 'replaceExportableResourcesPlugins'
}
processResources {
dependsOn sync
}