import org.apache.commons.configuration2.builder.fluent.Parameters import org.apache.commons.configuration2.* import org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder import org.apache.commons.configuration2.convert.DefaultListDelimiterHandler import groovy.json.JsonBuilder import groovy.json.JsonSlurper import groovy.json.StringEscapeUtils import org.tmatesoft.svn.core.wc.* buildscript { repositories { mavenCentral() maven { url "https://maven.aliyun.com/repository/jcenter" } // 阿里云 JCenter maven { url "https://maven.aliyun.com/repository/public" } // 阿里云公共仓库 maven { url "https://maven.aliyun.com/repository/google" } // 阿里云 Google 仓库 maven { url "https://maven.aliyun.com/repository/gradle-plugin" } // Gradle 插件仓库 maven { url uri("localrepo") } // 添加本地仓库 //jcenter() } dependencies { classpath 'org.apache.commons:commons-configuration2:2.1.1', 'commons-beanutils:commons-beanutils:1.9.3','org.tmatesoft.svnkit:svnkit:1.10.1' classpath "io.qameta.allure:allure-gradle:2.8.1" } } //plugins { // id 'io.spring.dependency-management' version '1.0.11.RELEASE' //} println 'Gradle....开始编译' println "运行的gradle版本: $gradle.gradleVersion" repositories { mavenCentral() maven { url "https://maven.aliyun.com/repository/jcenter" } // 阿里云 JCenter maven { url "https://maven.aliyun.com/repository/public" } // 阿里云公共仓库 maven { url "https://maven.aliyun.com/repository/google" } // 阿里云 Google 仓库 maven { url "https://maven.aliyun.com/repository/gradle-plugin" } // Gradle 插件仓库 maven { url uri("localrepo") } // 添加本地仓库 //jcenter() } // 目前获取到的是具体的某个文件或文件夹的版本,不是整个工作区的最新的版本,需要改进 /* def getSvnRevision(){ ISVNOptions options = SVNWCUtil.createDefaultOptions(true); SVNClientManager clientManager = SVNClientManager.newInstance(options); SVNStatusClient statusClient = clientManager.getStatusClient(); SVNStatus status = statusClient.doStatus(project(':ssts-web').projectDir, true); SVNRevision revision = status.getRevision(); return revision.getNumber(); } */ ext.customLibPath = System.getenv('CUSTOM_LIB_PATH') //全局版本 def globalVersion = '4.1.515'; ext.svnRevision = '32674' ext.buildDateTime = getDateTime() ext.buildDateForRelease = getDateForRelease() println "svn版本: " + svnRevision println "customLibPath: " + customLibPath if(null == customLibPath){ throw new GradleException('需要的环境变量CUSTOM_LIB_PATH没有设置,编译终止!') } //获取web项目的文件夹路径 def webProjectDir = project(':ssts-web').projectDir.getAbsolutePath() def getDateTime() { def date = new Date() def formattedDate = date.format('yyyy-MM-dd HH:mm:ss') return formattedDate } // 获取日期的字符串,作为发布包文件名的一部分 def getDateForRelease() { def date = new Date() def formattedDate = date.format('yyyyMMdd') return formattedDate } /** 将项目编译好的lib包,拷贝到项目个性化lib文件夹,该文件夹按svn版本号进行分类,用于以后的发布项目切换 currentBuildJavaProjectName: 当前编译的Java项目的名称 destFolderName: 存放lib文件的文件夹的名称,一般用每个项目的唯一名称作为此文件夹的名称 注:本方法内似乎不能有控制台输出的代码,否则rebuild的时候,gradle task会认为是UP-TO-DATE状态,不会拷贝jar文件到指定位置 */ def copyJarOfProjectToCustomLibPath(currentBuildJavaProjectName, destFolderName){ //outputs.upToDateWhen { false } String srcDir = project(currentBuildJavaProjectName).buildDir.getAbsolutePath() + "/libs" println 'currentBuildJavaProjectName = ' + currentBuildJavaProjectName println 'destFolderName = ' + destFolderName def destDir = customLibPath + "/" + svnRevision + "/" + destFolderName File fileDestDir = new File(destDir); if (!fileDestDir.exists()) { fileDestDir.mkdir(); } // TODO:删除时,只删除文件夹内当前项目所产生的各个版本的jar包,因为还可能有别的子项目的jar包 delete fileTree(destDir) { include currentBuildJavaProjectName + '*.jar' } copy{ from srcDir into destDir } } Parameters params = new Parameters() char aChar = ',' FileBasedConfigurationBuilder applicationProperties = new FileBasedConfigurationBuilder(PropertiesConfiguration.class) .configure(params.properties() .setFileName(webProjectDir + "/src/main/resources/application.properties") .setListDelimiterHandler(new DefaultListDelimiterHandler(aChar))); Configuration applicationConfig = applicationProperties.getConfiguration() // 获取jdbc.properties文件中定义的项目的名字 def projectName = applicationConfig.getString("project") // 检测命令行中是否指定了projectname参数 if (project.hasProperty('projectname')) { println "检测到命令行输入参数,projectname = " + project.projectname projectName = project.projectname applicationConfig.setProperty("project", projectName) } else{ println "没有命令行参数,采用jdbc.properties文件中的项目名称" } // 检测命令行中是否指定了database参数,该参数包括了数据库连接的多个参数值,采用逗号分隔 if (project.hasProperty('databaseParameters')) { println "检测到命令行输入参数,databaseParameters = " + project.databaseParameters def databaseParameters = project.databaseParameters.split(',') if (databaseParameters.length != 5){ // 抛出异常,终止编译 throw new GradleException("数据库参数错误,参数个数应该为5个,并且用逗号分隔") } else{ applicationConfig.setProperty("database", databaseParameters[0]) if (databaseParameters[0] == "sqlserver"){ applicationConfig.setProperty("hibernate.dialect", "org.hibernate.dialect.SQLServerDialect") applicationConfig.setProperty("jdbc.driverClassName", "com.microsoft.sqlserver.jdbc.SQLServerDriver") //jdbcConfig.setProperty("jdbc.url", "jdbc:sqlserver://localhost:1433;databaseName=unittest_" + projectName) } else if (databaseParameters[0] == "oracle"){ applicationConfig.setProperty("hibernate.dialect", "org.hibernate.dialect.Oracle10gDialect") applicationConfig.setProperty("jdbc.driverClassName", "oracle.jdbc.OracleDriver") //jdbcConfig.setProperty("jdbc.url", "jdbc:oracle:thin:@//localhost:1521/ORCL") } applicationConfig.setProperty("jdbc.url", databaseParameters[1]) String encodedUser = databaseParameters[2].bytes.encodeBase64().toString() applicationConfig.setProperty("jdbc.username", encodedUser) String encodedPassword = databaseParameters[3].bytes.encodeBase64().toString() applicationConfig.setProperty("jdbc.password", encodedPassword) applicationConfig.setProperty("hibernate.show_sql", databaseParameters[4]) } } applicationConfig.setProperty("globalVersion", globalVersion) // 关闭hibernate的日志 //jdbcConfig.setProperty("hibernate.show_sql", "false") // 保存properties文件 applicationProperties.save() // 重新加载文件 applicationConfig = applicationProperties.getConfiguration() // 检测命令行中是否指定了seleniumParameters参数 if (project.hasProperty('seleniumParameters')) { println "检测到命令行输入参数,seleniumParameters = " + project.seleniumParameters def seleniumParameters = project.seleniumParameters.split(',') if (seleniumParameters.length != 5){ // 抛出异常,终止编译 throw new GradleException("selenium参数错误,参数个数应该为5个,并且用逗号分隔") } else{ def jsonFile = file(webProjectDir + "/src/test/resources/test/forgon/disinfectsystem/selenium/config/all/settings.json") def parsedJson = new groovy.json.JsonSlurper().parseText(jsonFile.getText('UTF-8')) assert parsedJson instanceof Map parsedJson.服务器地址 = seleniumParameters[0] parsedJson.seleniumHubURL = seleniumParameters[1] parsedJson.seleniumBrowserApplicationName = seleniumParameters[2] parsedJson.seleniumBrowserVersion = seleniumParameters[3] parsedJson.configJSPath = seleniumParameters[4] jsonFile.write(StringEscapeUtils.unescapeJavaScript(new JsonBuilder(parsedJson).toPrettyString()),'UTF-8') } } println "编译时间:" + buildDateTime println "发布项目名称:" + applicationConfig.getString("project") println "database = " + applicationConfig.getString("database") println "hibernate.show_sql = " + applicationConfig.getString("hibernate.show_sql") println "hibernate.dialect = " + applicationConfig.getString("hibernate.dialect") println "jdbc.driverClassName = " + applicationConfig.getString("jdbc.driverClassName") println "jdbc.url = " + applicationConfig.getString("jdbc.url") println "jdbc.username = " + applicationConfig.getString("jdbc.username") println "jdbc.password = " + applicationConfig.getString("jdbc.password") println "globalVersion = " + applicationConfig.getString("globalVersion") //throw new GradleException("Test") subprojects { apply plugin: 'java' apply plugin: 'eclipse' apply plugin: 'io.qameta.allure' ext.packageName = 'com.forgon' ext.jdkversion = 1.8 ext.springVersion = '5.3.30' //3.2.9.RELEASE to 4.2.20.RELEASE ext.springSecurityVersion = '5.7.14' ext.hibernateVersion = '5.6.15.Final' ext.struts2Version = '2.5.33' ext.jacksonVersion = '2.14.1' ext.cxfVersion = '3.5.3' ext.encoding = 'UTF-8' ext.webInfDir = "../ssts-web/src/main/webapp/WEB-INF" ext.webAppLibDir = webInfDir + "/lib" // 用ext方式定义变量,以便子项目进行引用 ext.projectName = projectName ext.webProjectDir = webProjectDir ext.globalVersion = globalVersion compileJava { sourceCompatibility = jdkversion targetCompatibility = jdkversion options.incremental = true options.encoding = encoding options.fork = true options.forkOptions.executable = "javac" // *****umes that javac is on path options.compilerArgs << "-XDignore.symbol.file" options.compilerArgs << "-Xlint:-deprecation" options.compilerArgs << "-Xlint:-unchecked" } allure { version = '2.17.0' autoconfigure = true aspectjweaver = true allureJavaVersion = '2.17.0' } compileTestJava { sourceCompatibility = jdkversion targetCompatibility = jdkversion options.incremental = true options.encoding = encoding options.fork = true options.forkOptions.executable = "javac" // *****umes that javac is on path options.compilerArgs << "-XDignore.symbol.file" options.compilerArgs << "-Xlint:-deprecation" options.compilerArgs << "-Xlint:-unchecked" } sourceSets { main { java { srcDir 'src/main/java' } resources { srcDir 'src/main/resources' } } test { java { srcDir 'src/main/java' srcDir 'src/test/java' } resources { srcDir 'src/main/resources' srcDir 'src/test/resources' } } } // configurations { // all*.transitive = false // // } configurations.all { resolutionStrategy { force 'org.codehaus.woodstox:stax2-api:4.2.2' } exclude group: 'xerces', module: 'xercesImpl' exclude group: 'xerces', module: 'xerces' } repositories { mavenLocal() mavenCentral() maven { url "https://maven.aliyun.com/repository/jcenter" } // 阿里云 JCenter maven { url "https://maven.aliyun.com/repository/public" } // 阿里云公共仓库 maven { url "https://maven.aliyun.com/repository/google" } // 阿里云 Google 仓库 maven { url "https://maven.aliyun.com/repository/gradle-plugin" } // Gradle 插件仓库 //jcenter() //maven { // url "http://www.springsource.com/repository" //} //ivy { // URL can refer to a local directory // url "../localrepo/" //} maven { url uri("../localrepo") // 添加本地仓库 metadataSources { artifact() // 只使用 JAR,不使用 POM } } } version = globalVersion group = 'com.forgon' /* task sourcesJar(type: Jar, dependsOn: classes) { classifier = 'sources' from sourceSets.main.allSource } artifacts { archives sourcesJar } */ jar { manifest.attributes provider: 'GuangZhou Forgon company' //destinationDir project.file('../localrepo/' + packageName + '/' + project.name + '/' + version + '/') } dependencies { // imports { // mavenBom "org.springframework.boot:spring-boot-dependencies:2.7.18" // } compile group: 'com.h2database', name: 'h2', version: '1.4.200' // implementation 'xml-apis:xml-apis:1.4.01' compile group: 'com.jfinal', name: 'jfinal', version: '2.2' compile group: 'org.apache.axis', name: 'axis', version:'1.4' compile group: 'org.apache.axis', name: 'axis-ant', version:'1.4' compile group: 'org.apache.struts', name: 'struts2-core', version:struts2Version // compile group: 'org.apache.struts', name: 'struts2-spring-plugin', version:struts2Version implementation ('org.apache.struts:struts2-spring-plugin:2.5.33') { exclude group: 'org.springframework', module: 'spring-web' } compile group: 'org.apache.struts', name: 'struts2-convention-plugin', version:struts2Version compile group: 'org.apache.struts', name: 'struts2-jasperreports-plugin', version:struts2Version compile group: 'org.apache.struts', name: 'struts2-java8-support-plugin', version:'2.5.2' compile "ognl:ognl:3.1.28" // compile 'org.freemarker:freemarker:2.3.23' compile 'org.ow2.asm:asm:7.3.1' compile 'org.ow2.asm:asm-tree:7.3.1' compile 'org.ow2.asm:asm-util:5.0.4' compile 'org.ow2.asm:asm-all:5.0.4' //compile group: 'org.apache.struts.xwork', name: 'xwork-core', version:'2.3.24.1' compile group: 'org.aspectj', name: 'aspectjrt', version:'1.8.8' compile group: 'org.aspectj', name: 'aspectjtools', version:'1.8.8' compile group: 'org.aspectj', name: 'aspectjweaver', version:'1.8.8' compile 'aopalliance:aopalliance:1.0' compile group: 'org.directwebremoting', name: 'dwr', version:'3.0.2-RELEASE' compile group: 'net.sf.ehcache', name: 'ehcache-core', version:'2.6.11' compile group: 'net.sf.ehcache', name: 'ehcache-terracotta', version:'2.6.11' compile group: 'org.hibernate', name: 'hibernate-core', version:hibernateVersion compile group: 'org.hibernate', name: 'hibernate-entitymanager', version:hibernateVersion // compile group: 'org.hibernate', name: 'hibernate-commons-annotations', version:hibernateVersion compile group: 'org.hibernate.common', name: 'hibernate-commons-annotations', version:'5.1.2.Final' compile group: 'org.hibernate', name: 'hibernate-ehcache', version:hibernateVersion compile 'org.javassist:javassist:3.20.0-GA' // Hibernate4采用了Jboss Logging compile 'org.jboss.logging:jboss-logging:3.3.0.Final' compile group: 'org.hibernate.javax.persistence', name: 'hibernate-jpa-2.1-api', version:'1.0.0.Final' implementation 'javax.persistence:javax.persistence-api:2.2' compile group: 'org.quartz-scheduler', name: 'quartz', version:'2.3.2' compile group: 'org.springframework', name: 'spring-core', version:springVersion compile group: 'org.springframework', name: 'spring-beans', version:springVersion compile group: 'org.springframework', name: 'spring-orm', version:springVersion compile group: 'org.springframework', name: 'spring-web', version:springVersion compile group: 'org.springframework', name: 'spring-aop', version:springVersion compile group: 'org.springframework', name: 'spring-jdbc', version:springVersion compile group: 'org.springframework', name: 'spring-tx', version:springVersion compile group: 'org.springframework', name: 'spring-context', version:springVersion compile group: 'org.springframework', name: 'spring-context-support', version:springVersion compile group: 'org.springframework', name: 'spring-expression', version:springVersion compile group: 'org.springframework', name: 'spring-test', version:springVersion compile group: 'org.springframework', name: 'spring-webmvc', version:springVersion compile 'org.springframework.security:spring-security-web:' + springSecurityVersion compile 'org.springframework.security:spring-security-core:' + springSecurityVersion compile 'org.springframework.security:spring-security-config:' + springSecurityVersion compile 'org.springframework.security:spring-security-acl:' + springSecurityVersion compile 'org.springframework.security:spring-security-ldap:' + springSecurityVersion compile 'org.springframework.security:spring-security-taglibs:' + springSecurityVersion compile group: 'struts-menu', name: 'struts-menu', version:'2.4.3' compile group: 'com.fasterxml.jackson.core', name: 'jackson-core', version:jacksonVersion compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version:jacksonVersion compile group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version:jacksonVersion compile group: 'com.fasterxml.jackson.jaxrs', name: 'jackson-jaxrs-json-provider', version:jacksonVersion compile group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-hibernate4', version:jacksonVersion compile group: 'com.fasterxml.jackson.jaxrs', name: 'jackson-jaxrs-base', version:jacksonVersion //此jar包的API被JSONUtil文件引用,后面可以重构代码,以移除对此jar包的依赖 compile 'com.fasterxml.jackson.datatype:jackson-datatype-hibernate5:' + jacksonVersion // json-lib 相关的依赖 compile 'oro:oro:2.0.8' compile 'xom:xom:1.2.5' compile 'org.codehaus.groovy:groovy-all:3.0.18' // https://mvnrepository.com/artifact/net.sf.ezmorph/ezmorph compile group: 'net.sf.ezmorph', name: 'ezmorph', version: '1.0.6' //compile 'net.sf.json-lib:json-lib:2.4:jdk15' // compile group: 'org.bouncycastle', name: 'bcprov-jdk16', version:'1.38' implementation 'org.bouncycastle:bcprov-jdk15to18:1.71' implementation 'org.bouncycastle:bcpkix-jdk15to18:1.71' compile group: 'com.google.code.gson', name: 'gson', version:'2.8.2' compile group: 'commons-lang', name: 'commons-lang', version:'2.5' compile group: 'org.apache.commons', name: 'commons-lang3', version:'3.8.1' compile group: 'org.apache.commons', name: 'commons-collections4', version:'4.0' compile 'org.apache.commons:commons-compress:1.10' compile 'com.opencsv:opencsv:3.5' //compile group: 'commons-collections', name: 'commons-collections', version:'2.1.1' compile group: 'commons-collections', name: 'commons-collections', version:'3.2.2' compile group: 'commons-io', name: 'commons-io', version:'2.6' compile group: 'commons-fileupload', name: 'commons-fileupload', version:'1.4' compile group: 'commons-beanutils', name: 'commons-beanutils', version:'1.9.3' compile group: 'commons-digester', name: 'commons-digester', version:'1.8' compile group: 'commons-logging', name: 'commons-logging', version:'1.0.2' compile group: 'commons-betwixt', name: 'commons-betwixt', version:'0.8' compile 'commons-codec:commons-codec:1.10' compile group: 'commons-discovery', name: 'commons-discovery', version:'0.2' compile group: 'org.apache.servicemix.specs', name: 'org.apache.servicemix.specs.jsr311-api-1.1.1', version:'2.4.0' compile group: 'org.apache.ws.security', name: 'wss4j', version:'1.6.6' compile (group: 'net.sf.jasperreports', name: 'jasperreports', version:'6.1.0'){ transitive = false } compile group: 'org.jfree', name: 'jfreechart', version:'1.0.19' compile group: 'org.jfree', name: 'jcommon', version:'1.0.23' compile group: 'jasperreports', name: 'jasperreports-chart-themes', version:'4.7.0' compile 'net.sourceforge.jexcelapi:jxl:2.6.12' //compile group: 'taglibs', name: 'standard', version:'1.1.2' compile group: 'informa', name: 'informa', version:'0.6.0' // spring 4不支持该版本的POI,要3.8以上版本,需要验证处理 compile group: 'org.apache.poi', name: 'poi', version:'3.6' compile group: 'org.apache.poi', name: 'poi-ooxml', version:'3.6' compile group: 'org.apache.poi', name: 'poi-ooxml-schemas', version: '3.8' compile group: 'org.apache.xmlbeans', name: 'xmlbeans', version: '2.3.0' //pdf转图片 compile group: 'org.apache.pdfbox', name: 'fontbox', version: '2.0.8' compile group: 'org.apache.pdfbox', name: 'pdfbox', version: '2.0.8' compile 'org.apache.logging.log4j:log4j-core:2.17.1' compile 'org.apache.logging.log4j:log4j-api:2.17.1' //compile 'org.apache.logging.log4j:log4j-jcl:2.5' //compile 'org.apache.logging.log4j:log4j-slf4j-impl:2.5' // compile 'org.slf4j:slf4j-api:1.7.14' // compile 'org.slf4j:slf4j-simple:1.7.14' compile group: 'log4j', name: 'log4j', version:'1.2.17' compile 'javax.ws.rs:javax.ws.rs-api:2.0.1' //compile 'org.slf4j:slf4j-log4j12:1.7.21' //compile group: 'cxf', name: 'cxf', version:'2.6.16' // compile 'org.apache.cxf:cxf-core:' + cxfVersion implementation('org.apache.cxf:cxf-core:' + cxfVersion) { exclude group: 'com.fasterxml.woodstox', module: 'woodstox-core' } compile 'org.apache.cxf:cxf-rt-wsdl:' + cxfVersion compile 'org.apache.cxf:cxf-rt-databinding-jaxb:' + cxfVersion compile 'org.apache.cxf:cxf-rt-bindings-soap:' + cxfVersion compile 'org.apache.cxf:cxf-rt-frontend-jaxws:' + cxfVersion compile 'org.apache.cxf:cxf-rt-frontend-jaxrs:' + cxfVersion compile 'org.apache.cxf:cxf-rt-frontend-simple:' + cxfVersion compile 'org.apache.cxf:cxf-rt-transports-http:' + cxfVersion compile 'org.apache.cxf:cxf-spring-boot-starter-jaxws:' + cxfVersion compile 'org.apache.cxf:cxf-spring-boot-starter-jaxrs:' + cxfVersion //compile 'org.apache.cxf:apache-cxf:' + cxfVersion compile group: 'com.google.zxing', name: 'core', version:'2.0' compile group: 'com.google.zxing', name: 'javase', version:'2.0' compile group: 'jdom', name: 'jdom', version:'1.0' compile group: 'dom4j', name: 'dom4j', version:'1.6.1' compile group: 'jaxen', name: 'jaxen', version:'1.1.6' //-----------smb协议远程操作文件包:解决连接数不足----------------------------- compile group: 'org.springframework.integration', name: 'spring-integration-smb', version: '1.0.0.RELEASE' compile group: 'org.springframework.integration', name: 'spring-integration-file', version: '5.0.4.RELEASE' compile group: 'org.springframework.integration', name: 'spring-integration-stream', version: '5.0.4.RELEASE' compile group: 'org.codelibs', name: 'jcifs', version: '1.3.18.3' //-----------smb协议远程操作文件包:解决连接数不足----------------------------- //ftp操作远程文件 compile group: 'commons-net', name: 'commons-net', version: '3.6' compile group: 'jcifs', name: 'jcifs', version:'1.3.17' compile (group: 'org.jmesa', name: 'jmesa', version:'2.5.2'){ transitive = false } compile group: 'forgon', name: 'jmesatable', version:'1.0.10' compile group: 'org.jsoup', name: 'jsoup', version: '1.11.3' compile group: 'com.belerweb', name: 'pinyin4j', version:'2.5.0' compile group: 'com.alibaba.fastjson2', name: 'fastjson2', version:'2.0.10' compile group: 'backport-util-concurrent', name: 'backport-util-concurrent', version:'3.1' compile group: 'javax.servlet', name: 'javax.servlet-api', version:'4.0.1' //compile group: 'javax.servlet', name: 'servlet-api', version:'2.5' // compile group: 'javax.servlet', name: 'jstl', version:'1.2' compile group: 'javax.servlet.jsp', name: 'jsp-api', version:'2.2' // compile group: 'javax.websocket', name: 'javax.websocket-api', version:'1.1' compile group: 'junit', name: 'junit', version:'4.12' // 缩略图生成库 compile group: 'net.coobird', name: 'thumbnailator', version: '0.4.8' compile 'org.testng:testng:6.11' compile 'com.beust:jcommander:1.48' compile group: 'org.hamcrest', name: 'hamcrest-all', version: '1.3' compile 'net.jodah:concurrentunit:0.4.2' compile 'org.mybatis:mybatis:3.2.8' compile 'org.mybatis:mybatis-spring:1.2.2' // pagehelper 依赖的 compile group: 'com.github.jsqlparser', name: 'jsqlparser', version: '0.9.5' // pagehelper compile group: 'com.github.pagehelper', name: 'pagehelper', version: '5.0.0' compile 'com.google.guava:guava:23.0' compile 'net.lingala.zip4j:zip4j:1.3.2' compile 'org.apache.axis:axis-jaxrpc:1.4' //webservice调用 compile 'org.apache.httpcomponents:httpcore:4.4' compile 'org.apache.httpcomponents:httpclient:4.4' compile 'commons-logging:commons-logging:1.2' compile 'wsdl4j:wsdl4j:1.6.2' //mysql compile 'mysql:mysql-connector-java:5.1.24' compile group: 'com.ibm.mq', name: 'commonservices', version: '7.0.1.3' compile group: 'com.ibm.mq', name: 'headers', version: '7.0.1.3' compile group: 'com.ibm.mq', name: 'jmqi', version: '7.0.1.3' compile group: 'com.ibm.mq', name: 'pcf', version: '7.0.1.3' compile group: 'com.ibm.mq', name: 'mq', version: '7.0.1.3' compile group: 'com.ibm.mq', name: 'hamcrest-core', version: '1.1' compile group: 'com.ibm.mq', name: 'connector', version: '1.0' compile group: 'com.ibm.mq', name: 'jsr305', version: '1.3.7' compile group: 'org.springframework', name: 'spring-jms', version:springVersion compile group: 'javax.jms', name: 'javax.jms-api', version: '2.0.1' compile group: 'com.ibm.mq', name: 'com.ibm.mq.allclient', version: '9.3.0.1' compile group: 'com.ibm.mq', name: 'MQSDK1.6', version: '3.0.1' // MQSDKJAVA 1.0.1需要依赖'org.codehaus.woodstox:woodstox-core-asl:4.4.1',否则无法启动应用 // 更改了MQSDKJAVA-1.0.1.jar中的org.codehaus.stax2.包名为cha.org.codehaus.stax2.后,可以去掉此依赖 // implementation 'org.codehaus.woodstox:woodstox-core-asl:4.4.1' // compile group: 'com.ibm.mq', name: 'MQSDKJAVA', version: '1.0.1' // implementation 'com.alibaba:fastjson:1.2.83' compile group: 'com.ibm.db2.jcc', name: 'db2jcc', version: '3.66.46' compile group: 'com.ibm.db2.jcc', name: 'db2jcc4', version: '4.16.53' //lombok //compile group: 'org.projectlombok', name: 'lombok', version: '1.16.18' //validation compile group: 'javax.validation', name: 'validation-api', version: '2.0.1.Final' compile group: 'org.hibernate', name: 'hibernate-validator', version: '5.2.4.Final' compile group: 'com.fasterxml', name: 'classmate', version: '1.1.0' compile group: 'com.itextpdf', name: 'itextpdf', version: '5.4.1' compile group: 'com.hynnet', name: 'jacob', version: '1.18' //cache数据库驱动包(因为在maven远程仓库中找不到该版本对应的库文件,所以通过本地方式管理:jar所在目录位置:localrepo\com.intersys\cache-jdbc\2016.2\cache-jdbc-2016.2.jar) compile group: 'com.intersys', name: 'cache-jdbc', version: '2016.2' //ffmpeg视频编码解码 compile group: 'ws.schild', name: 'jave-all-deps', version:'2.7.1' compile group: 'ws.schild', name: 'jave-core', version:'2.7.1' compile group: 'ws.schild', name: 'jave-nativebin-win64', version:'2.7.1' compile group: 'ws.schild', name: 'jave-nativebin-linux64', version:'2.7.1' compile group: 'ws.schild', name: 'jave-nativebin-osx64', version:'2.7.1' //与西门子PLC S7-1200通讯的程序 compile group: 'com.github.s7connector', name: 's7connector', version: '2.1' compile group: 'si.trina', name: 'moka7-live', version: '0.0.13' //webSocket另一种组件 compile group: 'org.java-websocket', name: 'Java-WebSocket', version: '1.5.7' //HL7消息解析 compile group: 'ca.uhn.hapi', name: 'hapi-base', version: '2.3' compile group: 'ca.uhn.hapi', name: 'hapi-structures-v24', version: '2.3' } // 文件夹的名字必须用斜线结果,否则创建该文件夹不成功 def releaseDir = new File('../localrepo/' + packageName + '/' + project.name + '/' + version + '/') task createReleaseDir { doLast { releaseDir.mkdirs() } } task copyMyLib { doLast { copy { from './build/libs/' into releaseDir include '*.jar' } copy { from './build/libs/' into webAppLibDir include '*.jar' } } } createReleaseDir.dependsOn build copyMyLib.dependsOn createReleaseDir createReleaseDir.mustRunAfter build copyMyLib.mustRunAfter createReleaseDir task copyFiles(type: Copy, dependsOn: subprojects.jar) { from(subprojects.jar) into project.file('localrepo/' + packageName ) } } project("forgon-core") { dependencies { compile (project(":forgon-tools")) } } project("forgon-knowledge") { dependencies { compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-basedata")) } } project("ssts-basedata") { dependencies { compile (project(":forgon-tools")) compile (project(":forgon-core")) } } project("ssts-diposablegoods") { dependencies { compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-basedata")) compile (project(":ssts-datasync")) } } project("ssts-schedule") { dependencies { compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-basedata")) compile (project(":ssts-datasync")) } } project("ssts-expensivegoods") { dependencies { compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-basedata")) compile (project(":ssts-datasync")) } } project("ssts-print") { dependencies { compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-basedata")) } } project("ssts-stockmanage") { dependencies { compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-basedata")) } } project("ssts-customform") { dependencies { compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-basedata")) compile (project(":ssts-tousse")) } } project("ssts-qualitymon") { dependencies { compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-basedata")) compile (project(":ssts-tousse")) compile (project(":ssts-recyclingapplication")) compile (project(":ssts-packing")) compile (project(":ssts-sterile")) compile (project(":ssts-customform")) compile (project(":ssts-idcard")) compile (project(":ssts-wash")) } } project("ssts-tousse") { dependencies { compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-basedata")) compile (project(":ssts-diposablegoods")) compile (project(":ssts-expensivegoods")) compile (project(":ssts-datasync")) compile (project(":ssts-stockmanage")) } } project("ssts-storagelocation") { dependencies { compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-basedata")) compile (project(":ssts-diposablegoods")) compile (project(":ssts-expensivegoods")) compile (project(":ssts-datasync")) compile (project(":ssts-stockmanage")) compile (project(":ssts-tousse")) compile (project(":ssts-invoice")) compile (project(":ssts-returngoods")) } } project("ssts-wash") { dependencies { compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-basedata")) compile (project(":ssts-tousse")) compile (project(":ssts-idcard")) } } project("ssts-expiration") { dependencies { compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-basedata")) compile (project(":ssts-diposablegoods")) compile (project(":ssts-expensivegoods")) compile (project(":ssts-tousse")) } } project("ssts-idcard") { dependencies { compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-basedata")) compile (project(":ssts-tousse")) compile (project(":ssts-datasync")) } } project("ssts-packing") { dependencies { compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-basedata")) compile (project(":ssts-tousse")) compile (project(":ssts-stockmanage")) compile (project(":ssts-diposablegoods")) compile (project(":ssts-expensivegoods")) compile (project(":ssts-wash")) compile (project(":ssts-expiration")) compile (project(":ssts-idcard")) compile (project(":ssts-datasync")) } } project("ssts-recyclingapplication") { dependencies { compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-diposablegoods")) compile (project(":ssts-expensivegoods")) compile (project(":ssts-basedata")) compile (project(":ssts-tousse")) compile (project(":ssts-print")) compile (project(":ssts-wash")) compile (project(":ssts-expiration")) compile (project(":ssts-idcard")) compile (project(":ssts-packing")) compile (project(":ssts-stockmanage")) compile (project(":ssts-datasync")) } } project("ssts-recyclingrecord") { dependencies { compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-diposablegoods")) compile (project(":ssts-expensivegoods")) compile (project(":ssts-basedata")) compile (project(":ssts-tousse")) compile (project(":ssts-print")) compile (project(":ssts-wash")) compile (project(":ssts-expiration")) compile (project(":ssts-idcard")) compile (project(":ssts-packing")) compile (project(":ssts-stockmanage")) compile (project(":ssts-recyclingapplication")) compile (project(":ssts-datasync")) } } project("ssts-sterile") { dependencies { compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-basedata")) compile (project(":ssts-tousse")) compile (project(":ssts-expiration")) compile (project(":ssts-stockmanage")) compile (project(":ssts-recyclingapplication")) compile (project(":ssts-idcard")) compile (project(":ssts-receiverecord")) compile (project(":ssts-invoice")) compile (project(":ssts-datasync")) } } project("ssts-invoice") { dependencies { compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-basedata")) compile (project(":ssts-diposablegoods")) compile (project(":ssts-expensivegoods")) compile (project(":ssts-tousse")) compile (project(":ssts-packing")) compile (project(":ssts-print")) compile (project(":ssts-stockmanage")) compile (project(":ssts-recyclingapplication")) compile (project(":ssts-recyclingrecord")) compile (project(":ssts-datasync")) } } project("ssts-userecord") { dependencies { compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-basedata")) compile (project(":ssts-tousse")) compile (project(":ssts-idcard")) compile (project(":ssts-stockmanage")) compile (project(":ssts-recyclingapplication")) compile (project(":ssts-datasync")) compile (project(":ssts-diposablegoods")) compile (project(":ssts-expensivegoods")) compile (project(":ssts-packing")) } } project("ssts-toussereturndisinfect") { dependencies { compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-basedata")) compile (project(":ssts-tousse")) compile (project(":ssts-idcard")) compile (project(":ssts-invoice")) compile (project(":ssts-stockmanage")) compile (project(":ssts-recyclingapplication")) } } project("ssts-reports") { dependencies { compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-basedata")) compile (project(":ssts-diposablegoods")) compile (project(":ssts-expensivegoods")) compile (project(":ssts-tousse")) compile (project(":ssts-userecord")) compile (project(":ssts-qualitymon")) compile (project(":ssts-recyclingrecord")) compile (project(":ssts-recyclingapplication")) compile (project(":ssts-customform")) compile (project(":ssts-wash")) compile (project(":ssts-packing")) compile (project(":ssts-datasync")) compile (project(":ssts-datasync-default-impl")) } } project("ssts-operationmonitor") { dependencies { compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-basedata")) compile (project(":ssts-diposablegoods")) compile (project(":ssts-expensivegoods")) compile (project(":ssts-tousse")) compile (project(":ssts-invoice")) } } project("ssts-datasync") { dependencies { compile (project(":ssts-basedata")) compile (project(":forgon-tools")) compile (project(":forgon-core")) } } project("ssts-datasync-default-impl") { dependencies { compile (project(":ssts-datasync")) compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-basedata")) compile (project(":ssts-diposablegoods")) compile (project(":ssts-expensivegoods")) compile (project(":ssts-tousse")) compile (project(":ssts-userecord")) compile (project(":ssts-recyclingapplication")) } } // 广医二院特有代码,结算接口的实现 project("ssts-datasync-settlement-gyey-impl") { dependencies { compile (project(":ssts-datasync")) compile (project(":ssts-basedata")) compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-tousse")) compile (project(":ssts-diposablegoods")) compile (project(":ssts-expensivegoods")) } // 将本项目的jar包,拷贝到项目个性化配置的lib文件夹 task copyJarToLibs(){ copyJarOfProjectToCustomLibPath(project.name,'gyey') } assemble.dependsOn copyJarToLibs } // 长沙中心医院特有代码,HIS及物资系统相关接口的实现 project("ssts-cszxyy-misc") { dependencies { compile (project(":ssts-datasync")) compile (project(":ssts-basedata")) compile (project(":forgon-tools")) compile (project(":forgon-core")) } // 将本项目的jar包,拷贝到项目个性化配置的lib文件夹 task copyJarToLibs(){ copyJarOfProjectToCustomLibPath(project.name,'cszxyy') } assemble.dependsOn copyJarToLibs } /* // 中大五院特有代码,HIS及物资系统相关接口的实现,供深圳三院的cas配置参考 project("ssts-zd5y-misc") { configurations { localDeps localDeps.transitive = false } dependencies { compile (project(":ssts-datasync")) compile (project(":ssts-basedata")) compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-diposablegoods")) compile (project(":ssts-expensivegoods")) compile (project(":ssts-tousse")) // 引入CAS client,用户单点登录的身份验证 localDeps group: 'org.jasig.cas.client', name: 'cas-client-core', version: '3.4.1' localDeps group: 'org.springframework.security', name:'spring-security-cas',version:springSecurityVersion compile configurations.localDeps } // 将本项目的jar包,拷贝到项目个性化配置的lib文件夹 task copyJarToLibs(){ copyJarOfProjectToCustomLibPath(project.name,'zd5y') // 拷贝依赖的2个jar文件到custom libs文件夹 def destDir = customLibPath + "/" + svnRevision + "/" + 'zd5y' copy{ from configurations.localDeps into destDir } } assemble.dependsOn copyJarToLibs } */ // 中大五院特有代码,HIS及物资系统相关接口的实现 project("ssts-zd5y-misc") { dependencies { compile (project(":ssts-datasync")) compile (project(":ssts-basedata")) compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-diposablegoods")) compile (project(":ssts-expensivegoods")) compile (project(":ssts-tousse")) } // 将本项目的jar包,拷贝到项目个性化配置的lib文件夹 task copyJarToLibs(){ copyJarOfProjectToCustomLibPath(project.name,'zd5y') } assemble.dependsOn copyJarToLibs } // 广东省人民医院、惠州市中心人民医院、德阳市人民医院、长沙中心医院等(如果有其它医院继续扩充)特有代码,SSO登录 project("ssts-client-misc") { dependencies { compile (project(":ssts-basedata")) compile (project(":forgon-tools")) compile (project(":forgon-core")) } // 将本项目的jar包,拷贝到项目个性化配置的lib文件夹 task copyJarToLibs(){ copyJarOfProjectToCustomLibPath(project.name,'cszxyy') copyJarOfProjectToCustomLibPath(project.name,'hzszxrmyy') copyJarOfProjectToCustomLibPath(project.name,'dysyy') copyJarOfProjectToCustomLibPath(project.name,'gdsy') copyJarOfProjectToCustomLibPath(project.name,'zjyy') copyJarOfProjectToCustomLibPath(project.name,'gzzyyfy') copyJarOfProjectToCustomLibPath(project.name,'bjdxzlyy') copyJarOfProjectToCustomLibPath(project.name,'gdsrmyyzhyy') copyJarOfProjectToCustomLibPath(project.name,'blxrmyy') } assemble.dependsOn copyJarToLibs } // 广东省医特有代码 project("ssts-gdsy-misc") { dependencies { compile (project(":ssts-datasync")) compile (project(":ssts-basedata")) compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-diposablegoods")) compile (project(":ssts-expensivegoods")) compile (project(":ssts-tousse")) } // 将本项目的jar包,拷贝到项目个性化配置的lib文件夹 task copyJarToLibs(){ copyJarOfProjectToCustomLibPath(project.name,'gdsy') } assemble.dependsOn copyJarToLibs //build.finalizedBy(copyJarToLibs) } // 深圳市中医院特有项目 project("ssts-datasync-szszyy-impl") { dependencies { compile (project(":ssts-datasync")) compile (project(":ssts-basedata")) compile (project(":forgon-tools")) compile (project(":forgon-core")) } // 将本项目的jar包,拷贝到项目个性化配置的lib文件夹 task copyJarToLibs(){ copyJarOfProjectToCustomLibPath(project.name,'szszyy') } assemble.dependsOn copyJarToLibs } // 简阳市人民医院特有项目 project("ssts-datasync-jysrmyy-impl") { dependencies { compile (project(":ssts-datasync")) compile (project(":ssts-basedata")) compile (project(":forgon-tools")) compile (project(":forgon-core")) } // 将本项目的jar包,拷贝到项目个性化配置的lib文件夹 task copyJarToLibs(){ copyJarOfProjectToCustomLibPath(project.name,'jysrmyy') } assemble.dependsOn copyJarToLibs } project("ssts-maintain") { dependencies { compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-basedata")) compile (project(":ssts-diposablegoods")) compile (project(":ssts-expensivegoods")) compile (project(":ssts-tousse")) compile (project(":ssts-expiration")) compile (project(":ssts-recyclingrecord")) compile (project(":ssts-wash")) compile (project(":ssts-packing")) compile (project(":ssts-returngoods")) compile (project(":ssts-idcard")) compile (project(":ssts-invoice")) compile (project(":ssts-recyclingapplication")) compile (project(":ssts-datasync")) compile (project(":ssts-sterile")) compile (project(":ssts-print")) compile (project(":forgon-knowledge")) compile (project(":ssts-receiverecord")) compile (project(":ssts-satisfactionsurvey")) } } project("ssts-returngoods") { dependencies { compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-basedata")) compile (project(":ssts-diposablegoods")) compile (project(":ssts-expensivegoods")) compile (project(":ssts-tousse")) compile (project(":ssts-packing")) compile (project(":ssts-recyclingapplication")) compile (project(":ssts-stockmanage")) compile (project(":ssts-datasync")) compile (project(":ssts-idcard")) compile (project(":ssts-invoice")) } } project("ssts-satisfactionsurvey") { dependencies { compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-basedata")) compile (project(":ssts-customform")) } } project("ssts-receiverecord") { dependencies { compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-basedata")) compile (project(":ssts-diposablegoods")) compile (project(":ssts-expensivegoods")) compile (project(":ssts-tousse")) compile (project(":ssts-datasync")) } } project("ssts-recallrecord") { dependencies { compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-basedata")) compile (project(":ssts-datasync")) compile (project(":ssts-tousse")) compile (project(":ssts-sterile")) compile (project(":ssts-recyclingapplication")) compile (project(":ssts-invoice")) } } project("ssts-webservice") { dependencies { compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-basedata")) compile (project(":ssts-diposablegoods")) compile (project(":ssts-schedule")) compile (project(":ssts-expensivegoods")) compile (project(":ssts-tousse")) compile (project(":ssts-print")) compile (project(":ssts-recyclingapplication")) compile (project(":ssts-packing")) compile (project(":ssts-invoice")) compile (project(":ssts-userecord")) compile (project(":ssts-wash")) compile (project(":ssts-sterile")) compile (project(":ssts-datasync")) compile (project(":ssts-returngoods")) compile (project(":ssts-toussereturndisinfect")) compile (project(":ssts-qualitymon")) compile (project(":ssts-recallrecord")) compile (project(":ssts-storagelocation")) } } project("ssts-web") { dependencies { implementation (project(":forgon-tools")) implementation (project(":forgon-core")) implementation (project(":forgon-knowledge")) implementation (project(":ssts-basedata")) implementation (project(":ssts-schedule")) implementation (project(":ssts-diposablegoods")) implementation (project(":ssts-expensivegoods")) implementation (project(":ssts-tousse")) implementation (project(":ssts-print")) implementation (project(":ssts-expiration")) implementation (project(":ssts-idcard")) implementation (project(":ssts-wash")) implementation (project(":ssts-packing")) implementation (project(":ssts-recyclingapplication")) implementation (project(":ssts-recyclingrecord")) implementation (project(":ssts-receiverecord")) implementation (project(":ssts-stockmanage")) implementation (project(":ssts-qualitymon")) implementation (project(":ssts-customform")) implementation (project(":ssts-sterile")) implementation (project(":ssts-invoice")) implementation (project(":ssts-userecord")) implementation (project(":ssts-toussereturndisinfect")) implementation (project(":ssts-maintain")) implementation (project(":ssts-reports")) implementation (project(":ssts-webservice")) implementation (project(":ssts-operationmonitor")) implementation (project(":ssts-returngoods")) implementation (project(":ssts-satisfactionsurvey")) implementation (project(":ssts-datasync")) implementation (project(":ssts-datasync-default-impl")) implementation (project(":ssts-recallrecord")) implementation (project(":ssts-storagelocation")) // Spring Boot Starter 依赖 implementation 'org.springframework.boot:spring-boot' implementation 'org.springframework.boot:spring-boot-autoconfigure' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-security' implementation 'org.springframework.boot:spring-boot-starter-test' implementation 'org.springframework.boot:spring-boot-starter-websocket' //TODO: ldap是否需要升级? // implementation group: 'org.springframework', name: 'spring-ldap', version:'1.1.2' // implementation group: 'org.springframework.ldap', name: 'spring-ldap-core', version: '2.3.4.RELEASE' // 自动配置数据源和JdbcTemplate implementation 'org.springframework.boot:spring-boot-starter-jdbc' // 移除starter-data-jpa,避免和Hibernate自定义配置冲突 // implementation 'org.springframework.boot:spring-boot-starter-data-jpa' // JSP 解析器 implementation 'org.apache.tomcat.embed:tomcat-embed-jasper' // JSTL 依赖 implementation 'javax.servlet:jstl' // EL 表达式语言支持 implementation 'org.glassfish:javax.el:3.0.1-b12' implementation 'org.seleniumhq.selenium:selenium-chrome-driver:4.8.3' implementation 'org.seleniumhq.selenium:selenium-support:4.8.3' // compile group: 'org.seleniumhq.selenium', name: 'selenium-server', version: '3.141.59' // https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java // compile group: 'org.seleniumhq.selenium', name: 'selenium-java', version: '3.141.59' // compile group: 'org.seleniumhq.selenium', name: 'selenium-server-standalone', version: '3.141.59' compile group: 'io.qameta.allure', name: 'allure-java-commons', version: '2.17.0' compile group: 'io.qameta.allure', name: 'allure-model', version: '2.17.0' compile group: 'com.github.stephenc.monte', name: 'monte-screen-recorder', version: '0.7.7.0' compile group: 'sun', name: 'jdbc-odbc', version: '1.0' // 引入CAS client,用户单点登录的身份验证 implementation group: 'org.jasig.cas.client', name: 'cas-client-core', version: '3.4.1' // 引入Spring Security CAS的jar包 compile 'org.springframework.security:spring-security-cas:' + springSecurityVersion //以下依赖的引用,可能要删除,读取工作区的文件的svn版本号信息 compile group:'org.tmatesoft.svnkit',name:'svnkit',version:'1.10.1' compile group:'org.tmatesoft.sqljet',name:'sqljet',version:'1.1.13' compile group: 'org.antlr', name: 'antlr-runtime', version: '3.5.2' compile group: 'de.regnis.q.sequence', name: 'sequence-library', version: '1.0.4' //读取项目个性化lib包的定义文件 def libsJsonFile = file('projectCustomLibs.json') def projectCustomLibList = new groovy.json.JsonSlurper().parseText(libsJsonFile.getText('UTF-8')) // ssts-web项目,具有条件依赖,根据发布项目的名称,依赖于不同的jar包,读取项目的依赖配置文件projectCustomLibs.json projectCustomLibList.eachWithIndex { projectLibsConfig, index -> println "遍历配置文件:projectCustomLibs.json" println "配置项目${index+1}: ${projectLibsConfig.projectName} ${projectLibsConfig.libs}" if (projectName == "${projectLibsConfig.projectName}"){ println "projectName = " + projectName println "项目${projectLibsConfig.projectName}具有个性化的lib包,个性化lib如下:" // 遍历项目的lib包定义 projectLibsConfig.libs.eachWithIndex { myLibsConfig, myIndex -> print "Hello jar包${myIndex + 1}: type = ${myLibsConfig.type}," if ("project" == "${myLibsConfig.type}"){ println "name = ${myLibsConfig.name}" compile (project(":${myLibsConfig.name}")) } else if ("maven" == "${myLibsConfig.type}"){ println "group = ${myLibsConfig.name.group},name = ${myLibsConfig.name.name},version = ${myLibsConfig.name.version}" compile group: "${myLibsConfig.name.group}", name: "${myLibsConfig.name.name}", version: "${myLibsConfig.name.version}" } } } } // ssts-web项目,具有条件依赖,根据发布项目的名称,依赖于不同的jar包 /* if (projectName == 'gyey'){ // 广医二院 compile (project(":ssts-datasync-settlement-gyey-impl")) } else if (projectName == 'cszxyy'){ // 长沙中心医院 compile (project(":ssts-cszxyy-misc")) compile (project(":ssts-client-misc")) } else if (projectName == 'zd5y'){ // 中大五院 compile (project(":ssts-zd5y-misc")) } else if (projectName == 'szsdsrmyy'){ // 深圳市第三人民医院 compile (project(":ssts-zd5y-misc")) } else if (projectName == 'gdsy'){ // 广东省人民医院 compile (project(":ssts-gdsy-misc")) compile (project(":ssts-client-misc")) } else if (projectName == 'hzszxrmyy' || projectName == 'dysyy' || projectName == 'zjyy' || projectName == 'gzzyyfy' || projectName == 'bjdxzlyy' || projectName == 'gdsrmyyzhyy'){ // 惠州市中心人民医院、德阳市人民医院、珠江医院、广州中医药大学第一附属医院、北京大学肿瘤医院(如果有其它医院继续扩充) compile (project(":ssts-client-misc")) } else if (projectName == 'szszyy'){ // 深圳市中医院 compile (project(":ssts-datasync-szszyy-impl")) } else if (projectName == 'jysrmyy'){ // 简阳市人民医院 compile (project(":ssts-datasync-jysrmyy-impl")) } */ } }