public class MergedResourceWriter extends MergeWriter<ResourceItem,MergedResourceWriter.FileGenerationParameters>
MergeWriter for assets, using ResourceItem. Also takes care of compiling
resources and stripping data binding from layout files.| Modifier and Type | Class and Description |
|---|---|
static class |
MergedResourceWriter.FileGenerationParameters |
static class |
MergedResourceWriter.FileGenerationWorkAction |
MergeConsumer.ConsumerException| Constructor and Description |
|---|
MergedResourceWriter(WorkerExecutorFacade<MergedResourceWriter.FileGenerationParameters> workerExecutor,
java.io.File rootFolder,
java.io.File publicFile,
MergingLog blameLog,
ResourcePreprocessor preprocessor,
QueueableResourceCompiler resourceCompiler,
java.io.File temporaryDirectory,
SingleFileProcessor dataBindingExpressionRemover,
java.io.File notCompiledOutputDirectory,
boolean pseudoLocalesEnabled,
boolean crunchPng)
A
MergeWriter for resources, using ResourceItem. |
| Modifier and Type | Method and Description |
|---|---|
void |
addItem(ResourceItem item)
Adds an item.
|
static MergedResourceWriter |
createWriterWithoutPngCruncher(java.io.File rootFolder,
java.io.File publicFile,
java.io.File blameLogFolder,
ResourcePreprocessor preprocessor,
java.io.File temporaryDirectory) |
void |
end()
Called after the merge ends.
|
boolean |
ignoreItemInMerge(ResourceItem item) |
protected void |
postWriteAction()
Called after all the items have been added/removed.
|
void |
removeItem(ResourceItem removedItem,
ResourceItem replacedBy)
Removes an item.
|
void |
start(javax.xml.parsers.DocumentBuilderFactory factory)
Called before the merge starts.
|
getExecutor, getRootFolderpublic MergedResourceWriter(@NonNull
WorkerExecutorFacade<MergedResourceWriter.FileGenerationParameters> workerExecutor,
@NonNull
java.io.File rootFolder,
@Nullable
java.io.File publicFile,
@Nullable
MergingLog blameLog,
@NonNull
ResourcePreprocessor preprocessor,
@NonNull
QueueableResourceCompiler resourceCompiler,
@NonNull
java.io.File temporaryDirectory,
@Nullable
SingleFileProcessor dataBindingExpressionRemover,
@Nullable
java.io.File notCompiledOutputDirectory,
boolean pseudoLocalesEnabled,
boolean crunchPng)
MergeWriter for resources, using ResourceItem. Also takes care of compiling
resources and stripping data binding from layout files.rootFolder - merged resources directory to write to (e.g. intermediates/res/merged/debug)publicFile - File that we should write public.txt toblameLog - merging log for rewriting error messagespreprocessor - preprocessor for merged resources, such as vector drawable renderingresourceCompiler - resource compiler, i.e. AAPTtemporaryDirectory - temporary directory for intermediate merged filesdataBindingExpressionRemover - removes data binding expressions from layout filesnotCompiledOutputDirectory - for saved uncompiled resources for the resource shrinking
transform and for unit testing with resources.pseudoLocalesEnabled - generate resources for pseudo-locales (en-XA and ar-XB)crunchPng - should we crunch PNG filespublic static MergedResourceWriter createWriterWithoutPngCruncher(@NonNull java.io.File rootFolder, @Nullable java.io.File publicFile, @Nullable java.io.File blameLogFolder, @NonNull ResourcePreprocessor preprocessor, @NonNull java.io.File temporaryDirectory)
public void start(@NonNull
javax.xml.parsers.DocumentBuilderFactory factory)
throws MergeConsumer.ConsumerException
MergeConsumerstart in interface MergeConsumer<ResourceItem>start in class MergeWriter<ResourceItem,MergedResourceWriter.FileGenerationParameters>MergeConsumer.ConsumerExceptionpublic void end()
throws MergeConsumer.ConsumerException
MergeConsumerend in interface MergeConsumer<ResourceItem>end in class MergeWriter<ResourceItem,MergedResourceWriter.FileGenerationParameters>MergeConsumer.ConsumerExceptionpublic boolean ignoreItemInMerge(ResourceItem item)
public void addItem(@NonNull
ResourceItem item)
throws MergeConsumer.ConsumerException
MergeConsumerDataItem.isTouched() will
indicate whether the item actually changed.item - the new item.MergeConsumer.ConsumerExceptionpublic void removeItem(@NonNull
ResourceItem removedItem,
@Nullable
ResourceItem replacedBy)
throws MergeConsumer.ConsumerException
MergeConsumerremovedItem - the removed item.replacedBy - the optional item that replaces the removed item.MergeConsumer.ConsumerExceptionprotected void postWriteAction()
throws MergeConsumer.ConsumerException
MergeWriterMergeWriter.end().postWriteAction in class MergeWriter<ResourceItem,MergedResourceWriter.FileGenerationParameters>MergeConsumer.ConsumerException