import groovy.json.JsonOutput import groovy.json.JsonSlurper /** * 读取各车型宣传视频本地配置 * @param env * @return */ Object readMediaUrlConfigFromJsonFile(env){ try { // 加载config.json 文件 File file = new File("${rootDir}/app/config/MediaUrlConfig.json") def jsonSlurper = new JsonSlurper() // 解析json def config = jsonSlurper.parse(file) def flavorNames = variantVehicleName() def jsonOutput = new JsonOutput() def getKey = flavorNames config.get(env).each {key, value -> // 匹配flavor对应的 json if(flavorNames.toLowerCase().contains(key)){ getKey = key return true } } return jsonOutput.toJson(config.get(env).get(getKey)) } catch (IOException e) { e.printStackTrace() } return null } /** * 读取各车型宣传视频本地配置 * @param env * @return */ Object readProductWithVehicleConfigFromJsonFile(env){ try { // 加载config.json 文件 File file = new File("${rootDir}/app/config/productWithVehicle.json") def jsonSlurper = new JsonSlurper() // 解析json def config = jsonSlurper.parse(file) def flavorNames = variantVehicleName() def jsonOutput = new JsonOutput() def getKey = flavorNames config.get(env).each {key, value -> // 匹配flavor对应的 json println "对比${flavorNames.toLowerCase()}---------${key}---${value}" if(flavorNames.toLowerCase().contains("${env}${key.toLowerCase()}")){ getKey = key println "对比结果${flavorNames.toLowerCase()}---------${key}" return true } } return jsonOutput.toJson(config.get(env).get(getKey)) } catch (IOException e) { e.printStackTrace() } return null } /** * 读取各车型宣传视频本地配置 * @param env * @return */ Object readMusicUrlConfigFromJsonFile(env){ try { // 加载config.json 文件 File file = new File("${rootDir}/app/config/MusicUrlConfig.json") def jsonSlurper = new JsonSlurper() // 解析json def config = jsonSlurper.parse(file) def flavorNames = variantVehicleName() def jsonOutput = new JsonOutput() def getKey = flavorNames config.get(env).each {key, value -> // 匹配flavor对应的 json if(flavorNames.toLowerCase().contains(key)){ getKey = key return true } } return jsonOutput.toJson(config.get(env).get(getKey)) } catch (IOException e) { e.printStackTrace() } return null } def variantVehicleName() { if(gradle.startParameter.taskNames.size()>0) { for (String taskName : gradle.startParameter.taskNames) { if (taskName.contains("Debug") | taskName.contains("Release")) { return taskName } } } return "buspassenger" } boolean isCurrentDriver(String flavors) { if(isDriver() && isCurrentFlavors(flavors)){ return true } return false } boolean isCurrentPassenger(String flavors) { if(isPassenger() && isCurrentFlavors(flavors)){ return true } return false } boolean isDriver() { for (String s : gradle.startParameter.taskNames) { if (s.contains("Driver") | s.contains("driver")) { return true } } return false } boolean isPassenger() { for (String s : gradle.startParameter.taskNames) { println "----------isPassenger------${s}" if (s.contains("Passenger") | s.contains("passenger")) { return true } } return false } boolean isCurrentFlavors(String flavors){ for (String s : gradle.startParameter.taskNames) { def lowerCase = flavors.toLowerCase() if (s.toLowerCase().contains(lowerCase)) { return true } } return false } ext { isPassenger = this.&isPassenger isDriver = this.&isDriver isCurrentFlavors = this.&isCurrentFlavors isCurrentDriver = this.&isCurrentDriver isCurrentPassenger = this.&isCurrentPassenger readMediaUrlConfigFromJsonFile = this.&readMediaUrlConfigFromJsonFile readMusicUrlConfigFromJsonFile = this.&readMusicUrlConfigFromJsonFile readProductWithVehicleConfigFromJsonFile = this.&readProductWithVehicleConfigFromJsonFile }