@Override protected void doFullTaskAction() throws IOException { super.doFullTaskAction(); recordMetrics(); }
@Override protected void doIncrementalTaskAction(Map<File, FileStatus> changedInputs) throws IOException { super.doIncrementalTaskAction(changedInputs); recordMetrics(); }
@NonNull private IncrementalPackager createPackager(ApkCreatorFactory.CreationData creationData) throws PackagerException, IOException { return new IncrementalPackager( creationData, getIncrementalFolder(), ApkCreatorFactories.fromProjectProperties(getProject(), getDebugBuild()), getAbiFilters(), getJniDebugBuild()); }
FileUtils.deleteDirectoryContents(getIncrementalFolder()); File androidResourceFile = getResourceFile(); if (androidResourceFile != null) { androidResources.add(androidResourceFile); getOutputFile().delete(); IncrementalRelativeFileSets.fromZipsAndDirectories(getDexFolders()); ImmutableMap.Builder<RelativeFile, FileStatus> updatedJavaResourcesBuilder = ImmutableMap.builder(); for (File javaResourceFile : getJavaResourceFiles()) { try { updatedJavaResourcesBuilder.putAll( updatedJavaResourcesBuilder.putAll( IncrementalRelativeFileSets.fromZip( copyJavaResourcesOnly(getIncrementalFolder(), javaResourceFile))); ImmutableMap<RelativeFile, FileStatus> updatedAssets = IncrementalRelativeFileSets.fromZipsAndDirectories( Collections.singleton(getAssets())); ImmutableMap<RelativeFile, FileStatus> updatedAndroidResources = IncrementalRelativeFileSets.fromZipsAndDirectories(androidResources); ImmutableMap<RelativeFile, FileStatus> updatedJniResources = IncrementalRelativeFileSets.fromZipsAndDirectories(getJniFolders()); ImmutableMap<RelativeFile, FileStatus> updatedAtomMetadata; if (getAtomMetadataFolder() == null) { updatedAtomMetadata = ImmutableMap.of();
File androidResourceFile = getResourceFile(); if (androidResourceFile != null) { androidResources.add(androidResourceFile); KnownFilesSaveData saveData = KnownFilesSaveData.make(getIncrementalFolder()); getChangedInputs( changedInputs, saveData, InputSet.DEX, getDexFolders(), cacheByPath, cacheUpdates); getChangedInputs( changedInputs, saveData, InputSet.JAVA_RESOURCE, getJavaResourceFiles(), cacheByPath, cacheUpdates); getChangedInputs( changedInputs, saveData, InputSet.ASSET, Collections.singleton(getAssets()), cacheByPath, cacheUpdates);
instantRunDexBaseFiles = getDexFolders() .stream() .filter(input -> input.getName().contains(INSTANT_RUN_PACKAGES_PREFIX)) .collect(Collectors.toSet()); Iterable<File> nonInstantRunDexBaseFiles = getDexFolders() .stream() .filter(f -> !instantRunDexBaseFiles.contains(f)) makeInstantRunResourcesFromDex(nonInstantRunDexBaseFiles); changedDex, Predicates.compose( Predicates.in(getDexFolders()), RelativeFile::getBase ))); default: throw new RuntimeException( "Unhandled DexPackagingPolicy : " + getDexPackagingPolicy()); getOutputFile(), key, certificate, getBuilder().getCreatedBy(), getMinSdkVersion(), PackagingUtils.getNativeLibrariesLibrariesPackagingMode(manifest), getNoCompressPredicate());