From 1f8ba19603b19dfd8d37fee8e36f80aed87b0115 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Fri, 17 Mar 2023 14:27:34 +0800 Subject: [PATCH] =?UTF-8?q?[m1]=20[flavors=20=E8=BF=87=E6=BB=A4=E6=9D=A1?= =?UTF-8?q?=E4=BB=B6=E6=94=B9=E4=B8=BAjson=E9=85=8D=E7=BD=AE]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 2 +- app/flavorfilter/flavors.json | 26 +++++++++++++ app/flavorfilter/flavorsFilterConfig.gradle | 43 +++++++++++++++++++++ 3 files changed, 70 insertions(+), 1 deletion(-) create mode 100644 app/flavorfilter/flavors.json create mode 100644 app/flavorfilter/flavorsFilterConfig.gradle 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) + } +} + + +