Files
MoGoEagleEye/app/script/utils.gradle
yangyakun 2080efee38 [6.4.0]
[模式拦截、车型名称修改、清扫车路由]
2024-04-11 18:48:03 +08:00

161 lines
4.4 KiB
Groovy

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
}