diff --git a/tools/product_config/src/com/android/build/config/ConfigBase.java b/tools/product_config/src/com/android/build/config/ConfigBase.java index eb21219f10..9a8101133f 100644 --- a/tools/product_config/src/com/android/build/config/ConfigBase.java +++ b/tools/product_config/src/com/android/build/config/ConfigBase.java @@ -46,15 +46,6 @@ public class ConfigBase { */ protected final TreeMap mProductVars = new TreeMap(); - /** - * Whether a product config variable is a list or single-value variable. - */ - public enum VarType { - LIST, - SINGLE, - UNKNOWN // For non-product vars - } - public void setPhase(String phase) { mPhase = phase; } @@ -112,7 +103,7 @@ public class ConfigBase { public void copyFrom(ConfigBase that) { setPhase(that.getPhase()); setRootNodes(that.getRootNodes()); - for (Map.Entry entry: that.getProductVars().entrySet()) { + for (Map.Entry entry: that.getProductVars().entrySet()) { addProductVar(entry.getKey(), entry.getValue()); } mInitialVariables = new HashMap(that.getInitialVariables()); diff --git a/tools/product_config/src/com/android/build/config/ConvertMakeToGenericConfig.java b/tools/product_config/src/com/android/build/config/ConvertMakeToGenericConfig.java index 369d4d62cf..ca31cd520b 100644 --- a/tools/product_config/src/com/android/build/config/ConvertMakeToGenericConfig.java +++ b/tools/product_config/src/com/android/build/config/ConvertMakeToGenericConfig.java @@ -107,7 +107,7 @@ public class ConvertMakeToGenericConfig { * Converts one variable from a MakeConfig Block into a GenericConfig Assignment. */ GenericConfig.Assign convertAssignment(MakeConfig.BlockType blockType, Str inheritedFile, - ConfigBase.VarType varType, String varName, Str varVal, Str prevVal) { + VarType varType, String varName, Str varVal, Str prevVal) { if (prevVal == null) { // New variable. return new GenericConfig.Assign(varName, varVal); @@ -120,7 +120,7 @@ public class ConvertMakeToGenericConfig { // Product vars have the @inherit processing. Other vars we // will just ignore and put in one section at the end, based // on the difference between the BEFORE and AFTER blocks. - if (varType == ConfigBase.VarType.UNKNOWN) { + if (varType == VarType.UNKNOWN) { if (blockType == MakeConfig.BlockType.AFTER) { // For UNKNOWN variables, we don't worry about the // intermediate steps, just take the final value. diff --git a/tools/product_config/src/com/android/build/config/DumpConfigParser.java b/tools/product_config/src/com/android/build/config/DumpConfigParser.java index 06663ca3ad..6da96c1208 100644 --- a/tools/product_config/src/com/android/build/config/DumpConfigParser.java +++ b/tools/product_config/src/com/android/build/config/DumpConfigParser.java @@ -140,8 +140,7 @@ public class DumpConfigParser { System.out.println(" " + makeConfig.getRootNodes()); } } else if (matchLineType(line, "var", 2)) { - final MakeConfig.VarType type = "list".equals(fields.get(1)) - ? MakeConfig.VarType.LIST : MakeConfig.VarType.SINGLE; + final VarType type = "list".equals(fields.get(1)) ? VarType.LIST : VarType.SINGLE; makeConfig.addProductVar(fields.get(2), type); if (DEBUG) { diff --git a/tools/product_config/src/com/android/build/config/VarType.java b/tools/product_config/src/com/android/build/config/VarType.java new file mode 100644 index 0000000000..43e9366338 --- /dev/null +++ b/tools/product_config/src/com/android/build/config/VarType.java @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.build.config; + +/** + * Whether a product config variable is a list or single-value variable. + */ +public enum VarType { + /** + * A product config variable that is a list of space separated strings. + * These are defined by _product_single_value_vars in product.mk. + */ + LIST, + + /** + * A product config varaible that is a single string. + * These are defined by _product_list_vars in product.mk. + */ + SINGLE, + + /** + * A variable that is given the special product config handling but is + * nonetheless defined by product config makefiles. + */ + UNKNOWN +} +