diff --git a/app/build.gradle b/app/build.gradle index fac1a5d598..5a97fdd955 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -295,7 +295,7 @@ android { apply from: "./productFlavors/ochDriverM1.gradle" apply from: "./productFlavors/ochPassengerM1.gradle" apply from: "./productFlavors/fMultiDisplaySweeper.gradle" - apply from: "./productFlavors/flavorsFilterConfig.gradle" + apply from: "./flavorfilter/flavorsFilterConfig.gradle" packagingOptions { exclude 'META-INF/io.netty.versions.properties' diff --git a/app/flavorfilter/flavors.json b/app/flavorfilter/flavors.json new file mode 100644 index 0000000000..9b0a90b4a1 --- /dev/null +++ b/app/flavorfilter/flavors.json @@ -0,0 +1,26 @@ +{ + "mogo": { + "noop" :["fPadLenovo"], + "sweeper" :["fOchSweeper"], + "shuttle" :["fOchShuttle","fOchShuttlePassenger"], + "taxi" :["fOchTaxi","fOchTaxiPassenger","fMultiDisplayOchTaxi"], + "bus" :["fOchBus","fOchBusPassenger","fMultiDisplayOchBus","fOchBusPassengerM2"], + "charter" :["ochDriverM1","ochPassengerM1"] + }, + "dali": { + "noop" :[""], + "sweeper" :[""], + "shuttle" :["fOchShuttle","fOchShuttlePassenger"], + "taxi" :[], + "bus" :["fOchBus","fOchBusPassenger","fMultiDisplayOchBus","fOchBusPassengerM2"], + "charter" :["ochDriverM1","ochPassengerM1"] + }, + "yantai": { + "noop" :[""], + "sweeper" :["fOchSweeper"], + "shuttle" :["fOchShuttle","fOchShuttlePassenger"], + "taxi" :[], + "bus" :[], + "charter" :["ochDriverM1","ochPassengerM1"] + } +} \ No newline at end of file diff --git a/app/flavorfilter/flavorsFilterConfig.gradle b/app/flavorfilter/flavorsFilterConfig.gradle new file mode 100644 index 0000000000..508cac8b70 --- /dev/null +++ b/app/flavorfilter/flavorsFilterConfig.gradle @@ -0,0 +1,43 @@ +import groovy.json.JsonSlurper + + +File file = new File("${rootDir}/app/flavorfilter/flavors.json") +def jsonSlurper = new JsonSlurper() +// 解析json +def config = jsonSlurper.parse(file) + +project.android.variantFilter { variant -> + def names = variant.flavors*.name + //要检查特定的构建类型,请使用variant.buildType.name ==“ ” + def projectContain = true + config.each { project,value -> + if(names.contains(project)){ + projectContain = false + def productContain = true + value.each{product,vehicles-> + if(names.contains(product)){ + productContain =false + def vehicleContain = true + vehicles.each{vehicle-> + if (names.contains(vehicle)) { + println "need $names" + vehicleContain = false + } + } + if(vehicleContain){ + setIgnore(true) + } + } + } + if(productContain){ + setIgnore(true) + } + } + } + if(projectContain){ + setIgnore(true) + } +} + + +