Program: 110578
Project: 110578
Buggy source:
/** 
 * Packages up the manifest with resource and assets from the rule and dependent resources. 
 */
public ResourceApk packBinaryWithDataAndResources(RuleContext ruleContext,Artifact resourceApk,ResourceDependencies resourceDeps,@Nullable Artifact rTxt,ResourceFilterFactory resourceFilterFactory,List<String> uncompressedExtensions,boolean crunchPng,Artifact proguardCfg,@Nullable Artifact mainDexProguardCfg,boolean conditionalKeepRules,Artifact manifestOut,Artifact mergedResources,@Nullable Artifact dataBindingInfoZip,@Nullable Artifact featureOf,@Nullable Artifact featureAfter) throws InterruptedException, RuleErrorException {
  AndroidResources resources=AndroidResources.from(ruleContext,"String_Node_Str");
  ResourceFilter resourceFilter=resourceFilterFactory.getResourceFilter(ruleContext,resourceDeps,resources);
  resources=resources.filterLocalResources(resourceFilter);
  resourceDeps=resourceDeps.filter(resourceFilter);
  ResourceContainer resourceContainer=ResourceContainer.builderFromRule(ruleContext).setAssets(AndroidAssets.from(ruleContext)).setResources(resources).setManifest(getManifest()).setRTxt(rTxt).setApk(resourceApk).build();
  AndroidConfiguration androidConfiguration=ruleContext.getConfiguration().getFragment(AndroidConfiguration.class);
  boolean skipParsingAction=targetAaptVersion == AndroidAaptVersion.AAPT2 && androidConfiguration.skipParsingAction();
  if (conditionalKeepRules && targetAaptVersion != AndroidAaptVersion.AAPT2) {
    throw ruleContext.throwWithRuleError("String_Node_Str");
  }
  ResourceContainer processed=new AndroidResourcesProcessorBuilder(ruleContext).setLibrary(false).setApkOut(resourceContainer.getApk()).setResourceFilterFactory(resourceFilterFactory).setUncompressedExtensions(uncompressedExtensions).setCrunchPng(crunchPng).setJavaPackage(resourceContainer.getJavaPackage()).setDebug(ruleContext.getConfiguration().getCompilationMode() != CompilationMode.OPT).setManifestOut(manifestOut).setMergedResourcesOut(mergedResources).withPrimary(resourceContainer).withDependencies(resourceDeps).setProguardOut(proguardCfg).setMainDexProguardOut(mainDexProguardCfg).conditionalKeepRules(conditionalKeepRules).setDataBindingInfoZip(dataBindingInfoZip).setApplicationId(manifestValues.get("String_Node_Str")).setVersionCode(manifestValues.get("String_Node_Str")).setVersionName(manifestValues.get("String_Node_Str")).setFeatureOf(featureOf).setFeatureAfter(featureAfter).setThrowOnResourceConflict(androidConfiguration.throwOnResourceConflict()).setUseCompiledResourcesForMerge(skipParsingAction).targetAaptVersion(targetAaptVersion).setRTxtOut(resourceContainer.getRTxt()).setSymbols(resourceContainer.getSymbols()).setSourceJarOut(resourceContainer.getJavaSourceJar()).build(ruleContext);
  return new ResourceApk(resourceContainer.getApk(),processed.getJavaSourceJar(),processed.getJavaClassJar(),resourceDeps,processed,processed.getManifest(),proguardCfg,mainDexProguardCfg);
}

Fixed version (ground truth):
/** 
 * Packages up the manifest with resource and assets from the rule and dependent resources. 
 */
public ResourceApk packBinaryWithDataAndResources(RuleContext ruleContext,Artifact resourceApk,ResourceDependencies resourceDeps,@Nullable Artifact rTxt,ResourceFilterFactory resourceFilterFactory,List<String> uncompressedExtensions,boolean crunchPng,Artifact proguardCfg,@Nullable Artifact mainDexProguardCfg,boolean conditionalKeepRules,Artifact manifestOut,Artifact mergedResources,@Nullable Artifact dataBindingInfoZip,@Nullable Artifact featureOf,@Nullable Artifact featureAfter) throws InterruptedException, RuleErrorException {
  AndroidResources resources=AndroidResources.from(ruleContext,"String_Node_Str");
  ResourceFilter resourceFilter=resourceFilterFactory.getResourceFilter(ruleContext,resourceDeps,resources);
  resources=resources.filterLocalResources(ruleContext,resourceFilter);
  resourceDeps=resourceDeps.filter(ruleContext,resourceFilter);
  ResourceContainer resourceContainer=ResourceContainer.builderFromRule(ruleContext).setAssets(AndroidAssets.from(ruleContext)).setResources(resources).setManifest(getManifest()).setRTxt(rTxt).setApk(resourceApk).build();
  AndroidConfiguration androidConfiguration=ruleContext.getConfiguration().getFragment(AndroidConfiguration.class);
  boolean skipParsingAction=targetAaptVersion == AndroidAaptVersion.AAPT2 && androidConfiguration.skipParsingAction();
  if (conditionalKeepRules && targetAaptVersion != AndroidAaptVersion.AAPT2) {
    throw ruleContext.throwWithRuleError("String_Node_Str");
  }
  ResourceContainer processed=new AndroidResourcesProcessorBuilder(ruleContext).setLibrary(false).setApkOut(resourceContainer.getApk()).setResourceFilterFactory(resourceFilterFactory).setUncompressedExtensions(uncompressedExtensions).setCrunchPng(crunchPng).setJavaPackage(resourceContainer.getJavaPackage()).setDebug(ruleContext.getConfiguration().getCompilationMode() != CompilationMode.OPT).setManifestOut(manifestOut).setMergedResourcesOut(mergedResources).withPrimary(resourceContainer).withDependencies(resourceDeps).setProguardOut(proguardCfg).setMainDexProguardOut(mainDexProguardCfg).conditionalKeepRules(conditionalKeepRules).setDataBindingInfoZip(dataBindingInfoZip).setApplicationId(manifestValues.get("String_Node_Str")).setVersionCode(manifestValues.get("String_Node_Str")).setVersionName(manifestValues.get("String_Node_Str")).setFeatureOf(featureOf).setFeatureAfter(featureAfter).setThrowOnResourceConflict(androidConfiguration.throwOnResourceConflict()).setUseCompiledResourcesForMerge(skipParsingAction).targetAaptVersion(targetAaptVersion).setRTxtOut(resourceContainer.getRTxt()).setSymbols(resourceContainer.getSymbols()).setSourceJarOut(resourceContainer.getJavaSourceJar()).build(ruleContext);
  return new ResourceApk(resourceContainer.getApk(),processed.getJavaSourceJar(),processed.getJavaClassJar(),resourceDeps,processed,processed.getManifest(),proguardCfg,mainDexProguardCfg);
}