Index: build.gradle =================================================================== diff -u -r18285 -r18294 --- build.gradle (.../build.gradle) (revision 18285) +++ build.gradle (.../build.gradle) (revision 18294) @@ -2,6 +2,9 @@ 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....开始编译' @@ -23,24 +26,53 @@ Parameters params = new Parameters() char aChar = ',' -FileBasedConfigurationBuilder builder = +FileBasedConfigurationBuilder jdbcBuilder = new FileBasedConfigurationBuilder(PropertiesConfiguration.class) .configure(params.properties() .setFileName(webProjectDir + "/src/main/resources/jdbc.properties") .setListDelimiterHandler(new DefaultListDelimiterHandler(aChar))); -Configuration config = builder.getConfiguration() +Configuration jdbcConfig = jdbcBuilder.getConfiguration() +FileBasedConfigurationBuilder seleniumBuilder = + new FileBasedConfigurationBuilder(PropertiesConfiguration.class) + .configure(params.properties() + .setFileName(webProjectDir + "/src/test/resources/test/forgon/disinfectsystem/selenium/config/all/settings.json") + .setListDelimiterHandler(new DefaultListDelimiterHandler(aChar))); +Configuration seleniumConfig = seleniumBuilder.getConfiguration() + +// 检测命令行中是否指定了testServerURL参数 +if (project.hasProperty('testServerURL')) { + def testServerURL = project.testServerURL + println "检测到命令行输入参数,testServerURL = " + testServerURL + //seleniumConfig.setProperty("服务器地址", testServerURL) + //seleniumBuilder.save() + + + 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 + + println "服务器地址 = " + parsedJson.服务器地址 + + parsedJson.服务器地址 = testServerURL + + jsonFile.write(StringEscapeUtils.unescapeJavaScript(new JsonBuilder(parsedJson).toPrettyString()),'UTF-8') + +} + + // 获取jdbc.properties文件中定义的项目的名字 -def projectName = config.getString("project") +def projectName = jdbcConfig.getString("project") // 检测命令行中是否指定了projectname参数 if (project.hasProperty('projectname')) { println "检测到项目名称命令行输入参数,projectname = " + project.projectname projectName = project.projectname - config.setProperty("project", projectName) + jdbcConfig.setProperty("project", projectName) } @@ -58,48 +90,48 @@ throw new GradleException("数据库参数错误,参数个数应该为4个,并且用逗号分隔") } else{ - config.setProperty("database", databaseParameters[0]) + jdbcConfig.setProperty("database", databaseParameters[0]) if (databaseParameters[0] == "sqlserver"){ - config.setProperty("hibernate.dialect", "org.hibernate.dialect.SQLServerDialect") - config.setProperty("jdbc.driverClassName", "com.microsoft.sqlserver.jdbc.SQLServerDriver") - //config.setProperty("jdbc.url", "jdbc:sqlserver://localhost:1433;databaseName=unittest_" + projectName) + 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"){ - config.setProperty("hibernate.dialect", "org.hibernate.dialect.Oracle10gDialect") - config.setProperty("jdbc.driverClassName", "oracle.jdbc.OracleDriver") - //config.setProperty("jdbc.url", "jdbc:oracle:thin:@//localhost:1521/ORCL") + 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") } - config.setProperty("jdbc.url", databaseParameters[1]) + jdbcConfig.setProperty("jdbc.url", databaseParameters[1]) String encodedUser = databaseParameters[2].bytes.encodeBase64().toString() - config.setProperty("jdbc.username", encodedUser) + jdbcConfig.setProperty("jdbc.username", encodedUser) String encodedPassword = databaseParameters[3].bytes.encodeBase64().toString() - config.setProperty("jdbc.password", encodedPassword) + jdbcConfig.setProperty("jdbc.password", encodedPassword) } } // 关闭hibernate的日志 -//config.setProperty("hibernate.show_sql", "false") +//jdbcConfig.setProperty("hibernate.show_sql", "false") // 保存properties文件 -builder.save() +jdbcBuilder.save() // 重新加载文件 -config = builder.getConfiguration() +jdbcConfig = jdbcBuilder.getConfiguration() println "编译时间:" + getDate() -println "发布项目名称:" + config.getString("project") +println "发布项目名称:" + jdbcConfig.getString("project") -println "database = " + config.getString("database") -println "hibernate.show_sql = " + config.getString("hibernate.show_sql") -println "hibernate.dialect = " + config.getString("hibernate.dialect") -println "jdbc.driverClassName = " + config.getString("jdbc.driverClassName") -println "jdbc.url = " + config.getString("jdbc.url") -println "jdbc.username = " + config.getString("jdbc.username") -println "jdbc.password = " + config.getString("jdbc.password") +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")