println 'Gradle....开始编译' //获取web项目的文件夹路径 def webProjectDir = project(':ssts-web').projectDir.getAbsolutePath() def getDate() { def date = new Date() def formattedDate = date.format('yyyy-MM-dd HH:mm:ss') return formattedDate } def props = new Properties() new File(webProjectDir + "/src/main/resources/jdbc.properties").withInputStream { stream -> props.load(stream) } // 获取jdbc.properties文件中定义的项目的名字 def projectName = props["project"] println "编译时间:" + getDate() println "发布项目名称:" + projectName subprojects { apply plugin: 'java' apply plugin: 'eclipse' ext.packageName = 'com.forgon' ext.jdkversion = 1.8 ext.springVersion = '4.2.4.RELEASE' ext.springSecurityVersion = '3.2.9.RELEASE' ext.hibernateVersion = '4.3.11.Final' ext.struts2Version = '2.3.24.1' ext.cxfVersion = '3.1.5' ext.encoding = 'UTF-8' ext.webAppLibDir = "../ssts-web/src/main/webapp/WEB-INF/lib" 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" } 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' } } } test { // set heap size for the test JVM(s) minHeapSize = "128m" maxHeapSize = "512m" // show standard out and standard error of the test JVM(s) on the console testLogging.showStandardStreams = true // set JVM arguments for the test JVM(s) jvmArgs '-XX:MaxPermSize=256m' // listen to events in the test execution lifecycle beforeTest { descriptor -> logger.lifecycle("Running test: " + descriptor) } // listen to standard out and standard error of the test JVM(s) onOutput { descriptor, event -> logger.lifecycle("Test: " + descriptor + " produced standard out/err: " + event.message ) } ignoreFailures = true //use this to allow build to continue for CI purposes useTestNG(){ suites "src/test/resources/test/forgon/AllTests.xml" //pick up centralized xml suite for each sub project } //useTestNG() { // runlist to executed. path is relative to current folder //suites 'src/test/java/test/forgon/AllTests.xml' //} } configurations { all*.transitive = false } repositories { mavenLocal() mavenCentral() jcenter() maven { url "http://www.springsource.com/repository" } ivy { // URL can refer to a local directory url "../localrepo/" } } version = '4.1.3' 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 { 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 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:struts2Version compile 'org.freemarker:freemarker:2.3.23' compile 'org.ow2.asm:asm:5.0.4' compile 'org.ow2.asm:asm-tree:5.0.4' 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:'2.0.5' 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:'4.0.5.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' 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 group: 'org.springframework', name: 'spring-ldap', version:'1.1.2' 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:'2.7.1' compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version:'2.7.1' compile group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version:'2.7.1' compile 'com.fasterxml.jackson.datatype:jackson-datatype-hibernate4:2.4.1' compile 'net.sf.json-lib:json-lib:2.4:jdk15' compile group: 'org.bouncycastle', name: 'bcprov-jdk16', version:'1.38' compile group: 'com.google.code.gson', name: 'gson', version:'2.2.4' compile group: 'commons-lang', name: 'commons-lang', version:'2.5' compile group: 'org.apache.commons', name: 'commons-lang3', version:'3.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.4' compile group: 'commons-fileupload', name: 'commons-fileupload', version:'1.2.2' compile group: 'commons-beanutils', name: 'commons-beanutils', version:'1.9.2' 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: '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:'4.7.0' 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 'org.apache.logging.log4j:log4j-core:2.5' compile 'org.apache.logging.log4j:log4j-api:2.5' //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.13' compile 'javax.ws.rs:javax.ws.rs-api:2.0.1' //compile group: 'cxf', name: 'cxf', version:'2.6.16' compile 'org.apache.cxf:cxf-core:' + cxfVersion 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: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: 'jcifs', name: 'jcifs', version:'1.2.25' compile group: 'org.jmesa', name: 'jmesa', version:'2.5.2' compile group: 'forgon', name: 'jmesatable', version:'1.0.10' compile group: 'com.belerweb', name: 'pinyin4j', version:'2.5.0' compile group: 'com.alibaba', name: 'fastjson', version:'1.1.41' compile group: 'backport-util-concurrent', name: 'backport-util-concurrent', version:'3.1' compile group: 'javax.servlet', name: 'javax.servlet-api', version:'3.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: 'junit', name: 'junit', version:'4.12' compile 'org.testng:testng:6.9.10' compile 'com.beust:jcommander:1.48' compile 'net.jodah:concurrentunit:0.4.2' compile 'org.mybatis:mybatis:3.2.8' compile 'org.mybatis:mybatis-spring:1.2.2' compile 'com.google.guava:guava:18.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' } // 文件夹的名字必须用斜线结果,否则创建该文件夹不成功 def releaseDir = new File('../localrepo/' + packageName + '/' + project.name + '/' + version + '/') task createReleaseDir << { releaseDir.mkdirs() } task copyMyLib << { 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("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-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-qualitymon") { dependencies { compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-basedata")) compile (project(":ssts-tousse")) } } project("ssts-tousse") { dependencies { compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-basedata")) compile (project(":ssts-diposablegoods")) compile (project(":ssts-stockmanage")) } } project("ssts-wash") { dependencies { compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-basedata")) compile (project(":ssts-tousse")) } } project("ssts-expiration") { dependencies { compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-basedata")) compile (project(":ssts-diposablegoods")) compile (project(":ssts-tousse")) } } project("ssts-idcard") { dependencies { compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-basedata")) compile (project(":ssts-tousse")) } } 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-wash")) compile (project(":ssts-expiration")) compile (project(":ssts-idcard")) } } project("ssts-recyclingapplication") { dependencies { compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-diposablegoods")) 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-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-qualitymon")) compile (project(":ssts-recyclingapplication")) } } 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")) } } project("ssts-invoice") { dependencies { compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-basedata")) compile (project(":ssts-diposablegoods")) compile (project(":ssts-tousse")) 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")) } } project("ssts-reports") { dependencies { compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-basedata")) compile (project(":ssts-diposablegoods")) compile (project(":ssts-tousse")) compile (project(":ssts-userecord")) compile (project(":ssts-qualitymon")) compile (project(":ssts-recyclingrecord")) } } project("ssts-operationmonitor") { dependencies { compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-basedata")) compile (project(":ssts-diposablegoods")) compile (project(":ssts-tousse")) compile (project(":ssts-invoice")) } } project("ssts-datasync") { dependencies { compile (project(":ssts-basedata")) compile (project(":forgon-tools")) } } 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-tousse")) } } // 广医二院特有代码,结算接口的实现 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")) } } // 长沙中心医院特有代码,HIS及物资系统相关接口的实现 project("ssts-cszxyy-misc") { dependencies { compile (project(":ssts-datasync")) compile (project(":ssts-basedata")) compile (project(":forgon-tools")) compile (project(":forgon-core")) } } // 中大五院特有代码,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-tousse")) } } project("ssts-maintain") { dependencies { compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-basedata")) compile (project(":ssts-diposablegoods")) 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-invoice")) compile (project(":ssts-recyclingapplication")) compile (project(":ssts-datasync")) compile (project(":ssts-sterile")) } } project("ssts-returngoods") { dependencies { compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-basedata")) compile (project(":ssts-diposablegoods")) 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")) } } project("ssts-receiverecord") { dependencies { compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-basedata")) compile (project(":ssts-diposablegoods")) compile (project(":ssts-tousse")) compile (project(":ssts-datasync")) } } project("ssts-webservice") { dependencies { compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-basedata")) compile (project(":ssts-diposablegoods")) 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")) } } project("ssts-web") { dependencies { compile (project(":forgon-tools")) compile (project(":forgon-core")) compile (project(":ssts-basedata")) compile (project(":ssts-diposablegoods")) compile (project(":ssts-tousse")) compile (project(":ssts-print")) compile (project(":ssts-expiration")) compile (project(":ssts-idcard")) compile (project(":ssts-wash")) compile (project(":ssts-packing")) compile (project(":ssts-recyclingapplication")) compile (project(":ssts-recyclingrecord")) compile (project(":ssts-receiverecord")) compile (project(":ssts-stockmanage")) compile (project(":ssts-qualitymon")) compile (project(":ssts-sterile")) compile (project(":ssts-invoice")) compile (project(":ssts-userecord")) compile (project(":ssts-maintain")) compile (project(":ssts-reports")) compile (project(":ssts-webservice")) compile (project(":ssts-operationmonitor")) compile (project(":ssts-returngoods")) compile (project(":ssts-satisfactionsurvey")) compile (project(":ssts-datasync")) compile (project(":ssts-datasync-default-impl")) if (projectName == 'gyey'){ compile (project(":ssts-datasync-settlement-gyey-impl")) } else if (projectName == 'cszxyy'){ compile (project(":ssts-cszxyy-misc")) } else if (projectName == 'zd5y'){ compile (project(":ssts-zd5y-misc")) } } }