[删除product 维度]
This commit is contained in:
yangyakun
2024-04-10 14:56:30 +08:00
parent a055a942cd
commit ef0624e929
30 changed files with 116 additions and 491 deletions

View File

@@ -114,7 +114,7 @@ android {
// 项目 business
// 业务线 product
// 车型 vehicle
flavorDimensions "project","product","role","vehicle" ,"basic", "env"
flavorDimensions "project","vehicle" ,"role","basic", "env"
productFlavors {
// launcher app
launcher {
@@ -193,13 +193,6 @@ android {
apply from: "./script/roleFlavors/passenger.gradle"
apply from: "./script/roleFlavors/driverpassenger.gradle"
apply from: "./script/productFlavors/bus.gradle"
apply from: "./script/productFlavors/charter.gradle"
apply from: "./script/productFlavors/shuttle.gradle"
apply from: "./script/productFlavors/sweeperOperate.gradle"
apply from: "./script/productFlavors/sweeperCloud.gradle"
apply from: "./script/productFlavors/taxi.gradle"
apply from: "./script/productFlavors/taxiunmanned.gradle"
// 配置不同渠道参数,直接影响功能完整度
apply from: "./script/vehicleFlavors/ochJL.gradle"
apply from: "./script/vehicleFlavors/ochM2.gradle"

View File

@@ -1,67 +1,26 @@
{
"mogo": {
"sweeperOperate" :{
"driver": ["ochFT"]
},
"sweeperCloud" :{
"driver": ["ochFT"]
},
"shuttle" :{
"driver": ["ochJL","ochM2"],
"passenger": ["ochJL","ochM2"]
},
"taxi" :{
"driver": ["ochDFHQ"],
"passenger": ["ochDFHQ"]
},
"bus" :{
"driver": ["ochJL","ochM2"],
"passenger": ["ochJL","ochM2"]
},
"charter" :{
"driver": ["ochM1"],
"passenger": ["ochM1"]
}
"ochFT":["driver"],
"ochJL":["driver","passenger"],
"ochM2":["driver","passenger"],
"ochDFHQ":["driver","passenger"],
"ochM1":["driver","passenger"]
},
"dali": {
"shuttle" :{
"driver": ["ochJL","ochM2"],
"passenger": ["ochJL","ochM2"]
},
"charter" :{
"driver": ["ochM1"],
"passenger": ["ochM1"]
}
"ochJL":["driver","passenger"],
"ochM1":["driver","passenger"],
"ochM2":["driver","passenger"]
},
"yantai": {
"sweeperOperate" :{
"driver": ["ochFT"]
},
"shuttle" :{
"driver": ["ochJL","ochM2"],
"passenger": ["ochJL","ochM2"]
},
"charter" :{
"driver": ["ochM1"],
"passenger": ["ochM1"]
}
"ochJL":["driver","passenger"],
"ochM1":["driver","passenger"],
"ochM2":["driver","passenger"],
"ochFT":["driver"]
},
"saas": {
"taxiunmanned" :{
"driver": ["ochDFHQ"],
"passenger": ["ochDFHQ"]
},
"shuttle" :{
"driver": ["ochJL","ochM2"],
"passenger": ["ochJL","ochM2"]
},
"bus" :{
"driver": ["ochJL","ochM2"],
"passenger": ["ochJL","ochM2"]
},
"charter" :{
"driver": ["ochM1"],
"passenger": ["ochM1"]
}
"ochDFHQ":["driver","passenger"],
"ochJL":["driver","passenger"],
"ochM2":["driver","passenger"],
"ochM1":["driver","passenger"]
}
}

View File

@@ -14,24 +14,14 @@ project.android.variantFilter { variant ->
config.each { projectKey,projectValue ->
if(names.contains(projectKey)){
projectContain = false
def productContain = true
projectValue.each{productKey,productValue->
def vehicleContain = true
projectValue.each{productKey,rolesValue->
if(names.contains(productKey)){
productContain =false
vehicleContain =false
def roleContain = true
productValue.each{roleKey,roleValue->
if(names.contains(roleKey)){
rolesValue.each{roleValue->
if(names.contains(roleValue)){
roleContain =false
def vehicleContain = true
roleValue.each{vehicleValue->
if (names.contains(vehicleValue)) {
//println "need $names"
vehicleContain = false
}
}
if(vehicleContain){
setIgnore(true)
}
}
}
if(roleContain){
@@ -39,7 +29,7 @@ project.android.variantFilter { variant ->
}
}
}
if(productContain){
if(vehicleContain){
setIgnore(true)
}
}

View File

@@ -1 +0,0 @@
# 不同渠道依赖的实现不一样需要各个渠道都去依赖各自需要的实现渠道太多导致build.gradle 文件臃肿可以通过分gradle文件方式减少臃肿

View File

@@ -1,70 +0,0 @@
apply from: "./script/utils.gradle"
// 网约车服务:仅小巴车、出租车渠道用
project.dependencies {
if (Boolean.valueOf(USE_MAVEN_PACKAGE)) {
// fPadLenovoImplementation(rootProject.ext.dependencies.mogoochnoop)
// Bus司机端
// fMultiDisplayOchBusImplementation(rootProject.ext.dependencies.mogoochbus)
// // Bus乘客端
// fMultiDisplayOchBusImplementation(rootProject.ext.dependencies.mogoochbus)
//
// // taxi司机端
// fMultiDisplayOchTaxiImplementation(rootProject.ext.dependencies.mogoochtaxi)
// // taxi乘客端
// fMultiDisplayOchTaxiImplementation(rootProject.ext.dependencies.mogoochtaxi)
} else {
if (isCurrentDriver("bus")) {
implementation project.project(':OCH:bus:driver')
} else if (isCurrentPassenger("bus")) {
implementation project.project(':OCH:bus:passenger')
} else if (isCurrentDriver("charter")) {
implementation project.project(':OCH:charter:driver')
} else if (isCurrentPassenger("charter")) {
implementation project.project(':OCH:charter:passenger')
} else if (isCurrentDriver("shuttle")) {
implementation project(':OCH:shuttle:driver')
} else if (isCurrentPassenger("shuttle")) {
implementation project.project(':OCH:shuttle:passenger')
} else if (isCurrentDriver("sweeperOperate")) {
implementation project.project(':OCH:sweeper:driver')
} else if (isCurrentDriver("sweeperCloud")) {
implementation project.project(':OCH:sweeper:driver')
} else if (isCurrentDriver("taxiunmanned")) {
implementation project.project(':OCH:taxi:unmanned-driver')
} else if (isCurrentPassenger("taxiunmanned")) {
implementation project.project(':OCH:taxi:unmanned-passenger')
} else if (isCurrentDriver("taxi")) {
implementation project.project(':OCH:taxi:driver')
} else if (isCurrentPassenger("taxi")) {
implementation project.project(':OCH:taxi:passenger')
} else {
implementation project.project(':OCH:bus:driver')
implementation project.project(':OCH:bus:passenger')
implementation project.project(':OCH:charter:driver')
implementation project.project(':OCH:charter:passenger')
implementation project.project(':OCH:shuttle:driver')
implementation project.project(':OCH:shuttle:passenger')
implementation project.project(':OCH:sweeper:driver')
implementation project.project(':OCH:taxi:driver')
implementation project.project(':OCH:taxi:passenger')
implementation project.project(':OCH:taxi:unmanned-driver')
implementation project.project(':OCH:taxi:unmanned-passenger')
}
// 多屏幕-Bus司机端
// fMultiDisplayOchBusImplementation (project(':OCH:mogo-och-bus'))
// // 多屏幕-Bus乘客端
// fMultiDisplayOchBusImplementation (project(':OCH:mogo-och-bus-passenger'))
//
// // taxi司机端
// fMultiDisplayOchTaxiImplementation (project(':OCH:mogo-och-taxi'))
// // 多屏幕-taxi乘客端
// fMultiDisplayOchTaxiImplementation (project(':OCH:mogo-och-taxi-passenger'))
//
// // 清扫车-多屏幕
// fMultiDisplaySweeperImplementation (project(':OCH:mogo-och-sweeper'))
}
}

View File

@@ -1,27 +0,0 @@
apply from: "./script/utils.gradle"
project.android.productFlavors {
bus {
dimension "product"
manifestPlaceholders = [
// 标识
CHANNEL_VALUE_HEAD: "Bus",
]
// ①标识
buildConfigField 'String', 'APP_IDENTITY_MODE_HEAD', "\"Bus\""
if (isCurrentDriver("bus")) {
// ③是否需要重写状态栏
buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'false'
} else if (isCurrentPassenger("bus")) {
// ③是否需要重写状态栏
buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'true'
}
// ④构建 是否支持多屏异显异交互
buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false'
}
}

View File

@@ -1,27 +0,0 @@
project.android.productFlavors {
// 包车业务
charter{
dimension "product"
manifestPlaceholders = [
CHANNEL_VALUE_HEAD: "Charter",
]
// ①标识
buildConfigField 'String', 'APP_IDENTITY_MODE_HEAD', "\"Charter\""
// ④构建 是否支持多屏异显异交互
buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false'
if(isCurrentDriver("charter")){
// ③是否需要重写状态栏
buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'false'
}else if(isCurrentPassenger("charter")){
// ③是否需要重写状态栏
buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'true'
}else {
buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'true'
}
}
}

View File

@@ -1,41 +0,0 @@
apply from: "./script/utils.gradle"
project.android.productFlavors {
// 接驳车业务
shuttle {
dimension "product"
manifestPlaceholders = [
// 标识
CHANNEL_VALUE_HEAD: "Shuttle",
]
// ①标识
buildConfigField 'String', 'APP_IDENTITY_MODE_HEAD', "\"Shuttle\""
if (isCurrentDriver("shuttle")) {
// ③是否需要重写状态栏
buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'false'
// ④构建 是否支持多屏异显异交互
buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false'
} else if (isCurrentPassenger("shuttle")) {
if (isM2()) {
// ③是否需要重写状态栏
buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'true'
// ④构建 是否支持多屏异显异交互
buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false'
}
if (isJL()) {
// ③是否需要重写状态栏
buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'true'
// ④构建 是否支持多屏异显异交互
buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'true'
}
} else {
// ③是否需要重写状态栏
buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'true'
// ④构建 是否支持多屏异显异交互
buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'true'
}
}
}

View File

@@ -1,26 +0,0 @@
project.android.productFlavors {
// 清扫车业务
sweeperCloud {
dimension "product"
manifestPlaceholders = [
// 标识
CHANNEL_VALUE_HEAD: "Sweeper",
]
// ①标识
buildConfigField 'String', 'APP_IDENTITY_MODE_HEAD', "\"Sweeper\""
// ③是否需要重写状态栏
buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'false'
// ④构建 是否支持多屏异显异交互
buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false'
// ⑤清扫车 默认模式(运营/云控)
buildConfigField 'String', 'SWEEPER_DEFAULT_MODE', '\"Cloud\"'
// ⑥清扫车 是否能切换模式
buildConfigField 'boolean', 'SWEEPER_CAN_SWITCH_MODE', 'true'
}
}

View File

@@ -1,26 +0,0 @@
project.android.productFlavors {
// 清扫车业务
sweeperOperate {
dimension "product"
manifestPlaceholders = [
// 标识
CHANNEL_VALUE_HEAD: "Sweeper",
]
// ①标识
buildConfigField 'String', 'APP_IDENTITY_MODE_HEAD', "\"Sweeper\""
// ③是否需要重写状态栏
buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'false'
// ④构建 是否支持多屏异显异交互
buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false'
// ⑤清扫车 默认模式(运营/云控)
buildConfigField 'String', 'SWEEPER_DEFAULT_MODE', '\"Operate\"'
// ⑥清扫车 是否能切换模式
buildConfigField 'boolean', 'SWEEPER_CAN_SWITCH_MODE', 'false'
}
}

View File

@@ -1,26 +0,0 @@
project.android.productFlavors {
// 出租车业务
taxi {
dimension "product"
manifestPlaceholders = [
CHANNEL_VALUE_HEAD: "Taxi",
]
// ①标识
buildConfigField 'String', 'APP_IDENTITY_MODE_HEAD', "\"Taxi\""
// ④构建 是否支持多屏异显异交互
buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false'
if (isCurrentDriver("taxi")) {
// ③是否需要重写状态栏
buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'false'
}else if (isCurrentPassenger("taxi")) {
// ③是否需要重写状态栏
buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'true'
}else {
// ③是否需要重写状态栏
buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'false'
}
}
}

View File

@@ -1,26 +0,0 @@
project.android.productFlavors {
// 出租车业务
taxiunmanned {
dimension "product"
manifestPlaceholders = [
CHANNEL_VALUE_HEAD: "Taxi",
]
// ①标识
buildConfigField 'String', 'APP_IDENTITY_MODE_HEAD', "\"Taxi\""
// ④构建 是否支持多屏异显异交互
buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false'
if (isCurrentDriver("taxi")) {
// ③是否需要重写状态栏
buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'false'
}else if (isCurrentPassenger("taxi")) {
// ③是否需要重写状态栏
buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'true'
}else {
// ③是否需要重写状态栏
buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'false'
}
}
}

View File

@@ -30,24 +30,6 @@ boolean isPassenger() {
return false
}
boolean isJL() {
for (String s : gradle.startParameter.taskNames) {
if (s.contains("OchJL") | s.contains("ochJL")) {
return true
}
}
return false
}
boolean isM2() {
for (String s : gradle.startParameter.taskNames) {
if (s.contains("OchM2") | s.contains("ochM2")) {
return true
}
}
return false
}
boolean isCurrentFlavors(String flavors){
for (String s : gradle.startParameter.taskNames) {
@@ -65,6 +47,4 @@ ext {
isCurrentFlavors = this.&isCurrentFlavors
isCurrentDriver = this.&isCurrentDriver
isCurrentPassenger = this.&isCurrentPassenger
isJL = this.&isJL
isM2 = this.&isM2
}

View File

@@ -2,6 +2,7 @@ project.android.productFlavors {
// 东风红旗
ochDFHQ {
dimension "vehicle"
missingDimensionStrategy "vehicle","dfhq","jinlvvan"
// 配置AndroidManifest.xml中用到的参数

View File

@@ -2,6 +2,7 @@ project.android.productFlavors {
// 福田车
ochFT {
dimension "vehicle"
missingDimensionStrategy "vehicle","ft","jinlvvan"
// 配置AndroidManifest.xml中用到的参数

View File

@@ -3,7 +3,7 @@ project.android.productFlavors {
ochJL {
dimension "vehicle"
matchingFallbacks = ['jinlvvan']
missingDimensionStrategy "vehicle", "jinlvvan", "m2", "jinlvvan"
missingDimensionStrategy "vehicle", "jinlvvan"
// 配置AndroidManifest.xml中用到的参数
manifestPlaceholders = [

View File

@@ -4,7 +4,7 @@ project.android.productFlavors {
// 金旅M1车
ochM1 {
dimension "vehicle"
missingDimensionStrategy "vehicle","m2", "jinlvvan"
missingDimensionStrategy "vehicle", "jinlvvan"
// 配置AndroidManifest.xml中用到的参数
manifestPlaceholders = [

View File

@@ -1,10 +1,17 @@
apply from: "./script/utils.gradle"
project.android.productFlavors {
// 衡阳-联想Pad-网约车-小巴车-乘客端
ochM2 {
dimension "vehicle"
// 和 och/mogo-och-bus-passenger 的flavors的m2对应
matchingFallbacks = ['m2']
missingDimensionStrategy "vehicle", "m2", "jinlvvan"
if(isPassenger()){
matchingFallbacks = ['m2']
missingDimensionStrategy "vehicle", "m2", "jinlvvan"
}else {
matchingFallbacks = ['jinlvvan']
missingDimensionStrategy "vehicle", "m21", "jinlvvan"
}
//高德地图鉴权信息
manifestPlaceholders = [
CHANNEL_VALUE_TAIL: "M2",

View File

@@ -41,7 +41,7 @@ object ConfigStartUp {
// 演示模式,上一次勾选的数据
FunctionBuildConfig.isDemoMode = BuildConfig.IS_DEMO_MODE
// // app安装的身份信息
FunctionBuildConfig.appIdentityMode = "${BuildConfig.APP_IDENTITY_MODE_HEAD}_${BuildConfig.APP_IDENTITY_MODE_BODY}_${BuildConfig.APP_IDENTITY_MODE_TAIL}"
FunctionBuildConfig.appIdentityMode = "Product_${BuildConfig.APP_IDENTITY_MODE_BODY}_${BuildConfig.APP_IDENTITY_MODE_TAIL}"
// 各个module需要的url
FunctionBuildConfig.urlJson = GsonUtils.fromJson(BuildConfig.URLs, UrlConfig::class.java)
//不能启动自动驾驶的档位
@@ -89,14 +89,12 @@ object ConfigStartUp {
DebugConfig.setDebug(BuildConfig.DEBUG)
DebugConfig.setLauncher(BuildConfig.IS_LAUNCHER)
DebugConfig.setCarMachineType(BuildConfig.CAR_MACHINE_TYPE)
DebugConfig.setProductFlavor(BuildConfig.FLAVOR_product)
// todo DebugConfig.setProductFlavor(BuildConfig.FLAVOR_product)
DebugConfig.setProjectFlavor(BuildConfig.FLAVOR_project)
DebugConfig.setSocketAppId(BuildConfig.SOCKET_APP_ID)
DebugConfig.setMapVersion(BuildConfig.MAP_SDK_VERSION)
DebugConfig.setMapOptVersion(BuildConfig.MAP_SDK_OPT_VERSION)
DebugConfig.setMultiDisplay(BuildConfig.IS_MULTI_DISPLAY)
DebugConfig.setCarModelChange(BuildConfig.IS_CAR_MODEL_CHANGE)
DebugConfig.setReplaceStatusview(BuildConfig.IS_REPLACE_STATUSVIEW)
}
private fun initOtherConfig(context: Context) {