Index: build.gradle =================================================================== diff -u -r18294 -r18298 --- build.gradle (.../build.gradle) (revision 18294) +++ build.gradle (.../build.gradle) (revision 18298) @@ -23,6 +23,7 @@ } + Parameters params = new Parameters() char aChar = ',' @@ -34,43 +35,12 @@ 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 = jdbcConfig.getString("project") // 检测命令行中是否指定了projectname参数 if (project.hasProperty('projectname')) { - println "检测到项目名称命令行输入参数,projectname = " + project.projectname + println "检测到命令行输入参数,projectname = " + project.projectname projectName = project.projectname jdbcConfig.setProperty("project", projectName) @@ -82,7 +52,7 @@ // 检测命令行中是否指定了database参数,该参数包括了数据库连接的多个参数值,采用逗号分隔 if (project.hasProperty('databaseParameters')) { - println "检测到项目名称命令行输入参数,databaseParameters = " + project.databaseParameters + println "检测到命令行输入参数,databaseParameters = " + project.databaseParameters def databaseParameters = project.databaseParameters.split(',') if (databaseParameters.length != 4){ @@ -122,6 +92,32 @@ // 重新加载文件 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.seleniumBrowserApplicationName = seleniumParameters[1] + parsedJson.seleniumBrowserVersion = seleniumParameters[2] + parsedJson.seleniumHubURL = seleniumParameters[3] + + jsonFile.write(StringEscapeUtils.unescapeJavaScript(new JsonBuilder(parsedJson).toPrettyString()),'UTF-8') + } +} + + println "编译时间:" + getDate() println "发布项目名称:" + jdbcConfig.getString("project")