Index: build.gradle =================================================================== diff -u -r18364 -r18546 --- build.gradle (.../build.gradle) (revision 18364) +++ build.gradle (.../build.gradle) (revision 18546) @@ -1,963 +1,964 @@ -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 - -println 'Gradle....开始编译' - -buildscript { - repositories { mavenCentral() } - dependencies { classpath 'org.apache.commons:commons-configuration2:2.1.1', 'commons-beanutils:commons-beanutils:1.9.3'} -} - - -//获取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 -} - - - -Parameters params = new Parameters() -char aChar = ',' - -FileBasedConfigurationBuilder jdbcBuilder = - new FileBasedConfigurationBuilder(PropertiesConfiguration.class) - .configure(params.properties() - .setFileName(webProjectDir + "/src/main/resources/jdbc.properties") - .setListDelimiterHandler(new DefaultListDelimiterHandler(aChar))); - -Configuration jdbcConfig = jdbcBuilder.getConfiguration() - -// 获取jdbc.properties文件中定义的项目的名字 -def projectName = jdbcConfig.getString("project") - -// 检测命令行中是否指定了projectname参数 -if (project.hasProperty('projectname')) { - println "检测到命令行输入参数,projectname = " + project.projectname - projectName = project.projectname - jdbcConfig.setProperty("project", projectName) - - -} -else{ - println "没有命令行参数,采用jdbc.properties文件中的项目名称" -} - -// 检测命令行中是否指定了database参数,该参数包括了数据库连接的多个参数值,采用逗号分隔 -if (project.hasProperty('databaseParameters')) { - println "检测到命令行输入参数,databaseParameters = " + project.databaseParameters - def databaseParameters = project.databaseParameters.split(',') - - if (databaseParameters.length != 4){ - // 抛出异常,终止编译 - throw new GradleException("数据库参数错误,参数个数应该为4个,并且用逗号分隔") - } - else{ - jdbcConfig.setProperty("database", databaseParameters[0]) - if (databaseParameters[0] == "sqlserver"){ - jdbcConfig.setProperty("hibernate.dialect", "org.hibernate.dialect.SQLServerDialect") - jdbcConfig.setProperty("jdbc.driverClassName", "com.microsoft.sqlserver.jdbc.SQLServerDriver") - //jdbcConfig.setProperty("jdbc.url", "jdbc:sqlserver://localhost:1433;databaseName=unittest_" + projectName) - } - else if (databaseParameters[0] == "oracle"){ - jdbcConfig.setProperty("hibernate.dialect", "org.hibernate.dialect.Oracle10gDialect") - jdbcConfig.setProperty("jdbc.driverClassName", "oracle.jdbc.OracleDriver") - //jdbcConfig.setProperty("jdbc.url", "jdbc:oracle:thin:@//localhost:1521/ORCL") - } - - jdbcConfig.setProperty("jdbc.url", databaseParameters[1]) - - String encodedUser = databaseParameters[2].bytes.encodeBase64().toString() - jdbcConfig.setProperty("jdbc.username", encodedUser) - - String encodedPassword = databaseParameters[3].bytes.encodeBase64().toString() - jdbcConfig.setProperty("jdbc.password", encodedPassword) - - } - -} - -// 关闭hibernate的日志 -//jdbcConfig.setProperty("hibernate.show_sql", "false") - -// 保存properties文件 -jdbcBuilder.save() -// 重新加载文件 -jdbcConfig = jdbcBuilder.getConfiguration() - - -// 检测命令行中是否指定了seleniumParameters参数 -if (project.hasProperty('seleniumParameters')) { - println "检测到命令行输入参数,seleniumParameters = " + project.seleniumParameters - def seleniumParameters = project.seleniumParameters.split(',') - - if (seleniumParameters.length != 4){ - // 抛出异常,终止编译 - throw new GradleException("selenium参数错误,参数个数应该为4个,并且用逗号分隔") - } - 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] - - jsonFile.write(StringEscapeUtils.unescapeJavaScript(new JsonBuilder(parsedJson).toPrettyString()),'UTF-8') - } -} - - -println "编译时间:" + getDate() -println "发布项目名称:" + jdbcConfig.getString("project") - -println "database = " + jdbcConfig.getString("database") -println "hibernate.show_sql = " + jdbcConfig.getString("hibernate.show_sql") -println "hibernate.dialect = " + jdbcConfig.getString("hibernate.dialect") -println "jdbc.driverClassName = " + jdbcConfig.getString("jdbc.driverClassName") -println "jdbc.url = " + jdbcConfig.getString("jdbc.url") -println "jdbc.username = " + jdbcConfig.getString("jdbc.username") -println "jdbc.password = " + jdbcConfig.getString("jdbc.password") - -//throw new GradleException("Test") - -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.webInfDir = "../ssts-web/src/main/webapp/WEB-INF" - ext.webAppLibDir = webInfDir + "/lib" - // 用ext方式定义变量,以便子项目进行引用 - ext.projectName = projectName - ext.webProjectDir = webProjectDir - - 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' - } - } - } - - 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.243' - 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: '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 - 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.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: '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.17' - - - 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.3.17' - 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 group: 'net.coobird', name: 'thumbnailator', version: '0.4.8' - - 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:21.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("forgon-knowledge") { - dependencies { - compile (project(":forgon-tools")) - compile (project(":forgon-core")) - } -} - -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-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")) - } -} - -project("ssts-tousse") { - dependencies { - compile (project(":forgon-tools")) - compile (project(":forgon-core")) - compile (project(":ssts-basedata")) - compile (project(":ssts-diposablegoods")) - compile (project(":ssts-datasync")) - 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-diposablegoods")) - 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-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-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")) - } -} - -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-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")) - } -} - -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")) - // 引入CAS client,用户单点登录的身份验证 - compile group: 'org.jasig.cas.client', name: 'cas-client-core', version: '3.4.1' - } -} - -// 惠州市中心人民医院、德阳市人民医院等(如果有其它医院继续扩充)特有代码,SSO登录 -project("ssts-client-misc") { - dependencies { - compile (project(":ssts-basedata")) - compile (project(":forgon-tools")) - compile (project(":forgon-core")) - } -} - -// 广东省医特有代码 -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-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")) - compile (project(":ssts-print")) - } -} - -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(":forgon-knowledge")) - 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-customform")) - - compile (project(":ssts-sterile")) - compile (project(":ssts-invoice")) - compile (project(":ssts-userecord")) - compile (project(":ssts-toussereturndisinfect")) - - 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")) - - - compile group: 'org.seleniumhq.selenium', name: 'selenium-server', version: '3.4.0' - // https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java - compile group: 'org.seleniumhq.selenium', name: 'selenium-java', version: '3.4.0' - - compile group: 'org.seleniumhq.selenium', name: 'selenium-server-standalone', version: '3.4.0' - - // https://mvnrepository.com/artifact/net.sf.ezmorph/ezmorph - compile group: 'net.sf.ezmorph', name: 'ezmorph', version: '1.0.6' - - - - // ssts-web项目,具有条件依赖,根据发布项目的名称,依赖于不同的jar包 - 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")) - // 引入CAS client,用户单点登录的身份验证 - compile 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 - } - else if (projectName == 'gdsy'){ // 广东省人民医院 - compile (project(":ssts-gdsy-misc")) - compile (project(":ssts-client-misc")) - } - else if (projectName == 'hzszxrmyy' || projectName == 'dysyy'){ // 惠州市中心人民医院、德阳市人民医院(如果有其它医院继续扩充) - compile (project(":ssts-client-misc")) - } - } -} +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 + +println 'Gradle....开始编译' + +buildscript { + repositories { mavenCentral() } + dependencies { classpath 'org.apache.commons:commons-configuration2:2.1.1', 'commons-beanutils:commons-beanutils:1.9.3'} +} + + +//获取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 +} + + + +Parameters params = new Parameters() +char aChar = ',' + +FileBasedConfigurationBuilder jdbcBuilder = + new FileBasedConfigurationBuilder(PropertiesConfiguration.class) + .configure(params.properties() + .setFileName(webProjectDir + "/src/main/resources/jdbc.properties") + .setListDelimiterHandler(new DefaultListDelimiterHandler(aChar))); + +Configuration jdbcConfig = jdbcBuilder.getConfiguration() + +// 获取jdbc.properties文件中定义的项目的名字 +def projectName = jdbcConfig.getString("project") + +// 检测命令行中是否指定了projectname参数 +if (project.hasProperty('projectname')) { + println "检测到命令行输入参数,projectname = " + project.projectname + projectName = project.projectname + jdbcConfig.setProperty("project", projectName) + + +} +else{ + println "没有命令行参数,采用jdbc.properties文件中的项目名称" +} + +// 检测命令行中是否指定了database参数,该参数包括了数据库连接的多个参数值,采用逗号分隔 +if (project.hasProperty('databaseParameters')) { + println "检测到命令行输入参数,databaseParameters = " + project.databaseParameters + def databaseParameters = project.databaseParameters.split(',') + + if (databaseParameters.length != 4){ + // 抛出异常,终止编译 + throw new GradleException("数据库参数错误,参数个数应该为4个,并且用逗号分隔") + } + else{ + jdbcConfig.setProperty("database", databaseParameters[0]) + if (databaseParameters[0] == "sqlserver"){ + jdbcConfig.setProperty("hibernate.dialect", "org.hibernate.dialect.SQLServerDialect") + jdbcConfig.setProperty("jdbc.driverClassName", "com.microsoft.sqlserver.jdbc.SQLServerDriver") + //jdbcConfig.setProperty("jdbc.url", "jdbc:sqlserver://localhost:1433;databaseName=unittest_" + projectName) + } + else if (databaseParameters[0] == "oracle"){ + jdbcConfig.setProperty("hibernate.dialect", "org.hibernate.dialect.Oracle10gDialect") + jdbcConfig.setProperty("jdbc.driverClassName", "oracle.jdbc.OracleDriver") + //jdbcConfig.setProperty("jdbc.url", "jdbc:oracle:thin:@//localhost:1521/ORCL") + } + + jdbcConfig.setProperty("jdbc.url", databaseParameters[1]) + + String encodedUser = databaseParameters[2].bytes.encodeBase64().toString() + jdbcConfig.setProperty("jdbc.username", encodedUser) + + String encodedPassword = databaseParameters[3].bytes.encodeBase64().toString() + jdbcConfig.setProperty("jdbc.password", encodedPassword) + + } + +} + +// 关闭hibernate的日志 +//jdbcConfig.setProperty("hibernate.show_sql", "false") + +// 保存properties文件 +jdbcBuilder.save() +// 重新加载文件 +jdbcConfig = jdbcBuilder.getConfiguration() + + +// 检测命令行中是否指定了seleniumParameters参数 +if (project.hasProperty('seleniumParameters')) { + println "检测到命令行输入参数,seleniumParameters = " + project.seleniumParameters + def seleniumParameters = project.seleniumParameters.split(',') + + if (seleniumParameters.length != 4){ + // 抛出异常,终止编译 + throw new GradleException("selenium参数错误,参数个数应该为4个,并且用逗号分隔") + } + 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] + + jsonFile.write(StringEscapeUtils.unescapeJavaScript(new JsonBuilder(parsedJson).toPrettyString()),'UTF-8') + } +} + + +println "编译时间:" + getDate() +println "发布项目名称:" + jdbcConfig.getString("project") + +println "database = " + jdbcConfig.getString("database") +println "hibernate.show_sql = " + jdbcConfig.getString("hibernate.show_sql") +println "hibernate.dialect = " + jdbcConfig.getString("hibernate.dialect") +println "jdbc.driverClassName = " + jdbcConfig.getString("jdbc.driverClassName") +println "jdbc.url = " + jdbcConfig.getString("jdbc.url") +println "jdbc.username = " + jdbcConfig.getString("jdbc.username") +println "jdbc.password = " + jdbcConfig.getString("jdbc.password") + +//throw new GradleException("Test") + +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.webInfDir = "../ssts-web/src/main/webapp/WEB-INF" + ext.webAppLibDir = webInfDir + "/lib" + // 用ext方式定义变量,以便子项目进行引用 + ext.projectName = projectName + ext.webProjectDir = webProjectDir + + 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' + } + } + } + + 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.243' + 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: '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 + 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.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: '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.17' + + + 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.3.17' + 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 group: 'net.coobird', name: 'thumbnailator', version: '0.4.8' + + 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:21.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("forgon-knowledge") { + dependencies { + compile (project(":forgon-tools")) + compile (project(":forgon-core")) + } +} + +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-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")) + } +} + +project("ssts-tousse") { + dependencies { + compile (project(":forgon-tools")) + compile (project(":forgon-core")) + compile (project(":ssts-basedata")) + compile (project(":ssts-diposablegoods")) + compile (project(":ssts-datasync")) + 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-diposablegoods")) + 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-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-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")) + } +} + +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-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")) + } +} + +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")) + // 引入CAS client,用户单点登录的身份验证 + compile group: 'org.jasig.cas.client', name: 'cas-client-core', version: '3.4.1' + } +} + +// 惠州市中心人民医院、德阳市人民医院等(如果有其它医院继续扩充)特有代码,SSO登录 +project("ssts-client-misc") { + dependencies { + compile (project(":ssts-basedata")) + compile (project(":forgon-tools")) + compile (project(":forgon-core")) + } +} + +// 广东省医特有代码 +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-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")) + compile (project(":ssts-print")) + } +} + +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")) + 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-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(":forgon-knowledge")) + 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-customform")) + + compile (project(":ssts-sterile")) + compile (project(":ssts-invoice")) + compile (project(":ssts-userecord")) + compile (project(":ssts-toussereturndisinfect")) + + 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")) + + + compile group: 'org.seleniumhq.selenium', name: 'selenium-server', version: '3.4.0' + // https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java + compile group: 'org.seleniumhq.selenium', name: 'selenium-java', version: '3.4.0' + + compile group: 'org.seleniumhq.selenium', name: 'selenium-server-standalone', version: '3.4.0' + + // https://mvnrepository.com/artifact/net.sf.ezmorph/ezmorph + compile group: 'net.sf.ezmorph', name: 'ezmorph', version: '1.0.6' + + + + // ssts-web项目,具有条件依赖,根据发布项目的名称,依赖于不同的jar包 + 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")) + // 引入CAS client,用户单点登录的身份验证 + compile 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 + } + else if (projectName == 'gdsy'){ // 广东省人民医院 + compile (project(":ssts-gdsy-misc")) + compile (project(":ssts-client-misc")) + } + else if (projectName == 'hzszxrmyy' || projectName == 'dysyy'){ // 惠州市中心人民医院、德阳市人民医院(如果有其它医院继续扩充) + compile (project(":ssts-client-misc")) + } + } +}