diff options
author | 2018-04-17 09:46:45 -0700 | |
---|---|---|
committer | 2018-04-17 09:48:00 -0700 | |
commit | b942140053981c4da5b2101d5f3a608ac25e7829 (patch) | |
tree | de5b17f9decdec1c37146f79ecec281a1571ecfa /src/tools/android/java/com | |
parent | 185535abc424a091a923dff62fa96e56c92d3635 (diff) |
Ability to pass decoupled assets into monolithic resource processing action
- New flags to pass in asset deps
- Pass assets into merging in the monolithic action
- Field for asset deps in asset builder action
RELNOTES: none
PiperOrigin-RevId: 193211038
Diffstat (limited to 'src/tools/android/java/com')
-rw-r--r-- | src/tools/android/java/com/google/devtools/build/android/AndroidResourceProcessingAction.java | 46 |
1 files changed, 42 insertions, 4 deletions
diff --git a/src/tools/android/java/com/google/devtools/build/android/AndroidResourceProcessingAction.java b/src/tools/android/java/com/google/devtools/build/android/AndroidResourceProcessingAction.java index a66213fc22..0a4a275de9 100644 --- a/src/tools/android/java/com/google/devtools/build/android/AndroidResourceProcessingAction.java +++ b/src/tools/android/java/com/google/devtools/build/android/AndroidResourceProcessingAction.java @@ -27,6 +27,7 @@ import com.android.io.StreamException; import com.android.utils.StdLogger; import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Stopwatch; +import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; import com.google.devtools.build.android.AndroidDataMerger.MergeConflictException; import com.google.devtools.build.android.AndroidResourceMerger.MergingException; @@ -34,6 +35,7 @@ import com.google.devtools.build.android.AndroidResourceProcessor.AaptConfigOpti import com.google.devtools.build.android.AndroidResourceProcessor.FlagAaptOptions; import com.google.devtools.build.android.Converters.DependencyAndroidDataListConverter; import com.google.devtools.build.android.Converters.PathConverter; +import com.google.devtools.build.android.Converters.SerializedAndroidDataListConverter; import com.google.devtools.build.android.Converters.UnvalidatedAndroidDataConverter; import com.google.devtools.build.android.Converters.VariantTypeConverter; import com.google.devtools.build.android.SplitConfigurationFilter.UnrecognizedSplitsException; @@ -138,6 +140,36 @@ public class AndroidResourceProcessingAction { public List<DependencyAndroidData> directData; @Option( + name = "assets", + defaultValue = "", + converter = SerializedAndroidDataListConverter.class, + category = "input", + documentationCategory = OptionDocumentationCategory.UNCATEGORIZED, + effectTags = {OptionEffectTag.UNKNOWN}, + help = + "Transitive asset dependencies. These can also be specified together with resources" + + " using --data. Expected format: " + + SerializedAndroidData.EXPECTED_FORMAT + + "[,...]" + ) + public List<SerializedAndroidData> transitiveAssets; + + @Option( + name = "directAssets", + defaultValue = "", + converter = SerializedAndroidDataListConverter.class, + category = "input", + documentationCategory = OptionDocumentationCategory.UNCATEGORIZED, + effectTags = {OptionEffectTag.UNKNOWN}, + help = + "Direct asset dependencies. These can also be specified together with resources using " + + "--directData. Expected format: " + + SerializedAndroidData.EXPECTED_FORMAT + + "[,...]" + ) + public List<SerializedAndroidData> directAssets; + + @Option( name = "rOutput", defaultValue = "null", converter = PathConverter.class, @@ -380,7 +412,7 @@ public class AndroidResourceProcessingAction { logger.fine(String.format("Setup finished at %sms", timer.elapsed(TimeUnit.MILLISECONDS))); - List<DependencyAndroidData> data = + List<DependencyAndroidData> resourceData = ImmutableSet.<DependencyAndroidData>builder() .addAll(options.directData) .addAll(options.transitiveData) @@ -390,8 +422,14 @@ public class AndroidResourceProcessingAction { final MergedAndroidData mergedData = AndroidResourceMerger.mergeData( options.primaryData, - options.directData, - options.transitiveData, + ImmutableList.<SerializedAndroidData>builder() + .addAll(options.directData) + .addAll(options.directAssets) + .build(), + ImmutableList.<SerializedAndroidData>builder() + .addAll(options.transitiveData) + .addAll(options.transitiveAssets) + .build(), mergedResources, mergedAssets, selectPngCruncher(), @@ -461,7 +499,7 @@ public class AndroidResourceProcessingAction { aaptConfigOptions.resourceConfigs, aaptConfigOptions.splits, processedData, - data, + resourceData, generatedSources, options.packagePath, options.proguardOutput, |