Skip to content

Commit

Permalink
Remove JavaSourceInfoProvider
Browse files Browse the repository at this point in the history
The use of the provider has been behind the flag incompatible_dont_use_javasourceinfoprovider. The flag was flipped, tested. The provider can be removed.

PiperOrigin-RevId: 360608367
  • Loading branch information
comius authored and copybara-github committed Mar 3, 2021
1 parent 065423f commit 2cb919f
Show file tree
Hide file tree
Showing 20 changed files with 39 additions and 250 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -491,6 +491,18 @@ public static class GraveyardOptions extends OptionsBase {
"The --legacy_spawn_scheduler flag is a no-op and will be removed soon.",
help = "Was used to enable the old spawn scheduler. Now a no-op.")
public boolean legacySpawnScheduler;

@Option(
name = "incompatible_dont_use_javasourceinfoprovider",
defaultValue = "false",
documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
effectTags = {OptionEffectTag.UNKNOWN},
metadataTags = {
OptionMetadataTag.INCOMPATIBLE_CHANGE,
OptionMetadataTag.TRIGGERED_BY_ALL_INCOMPATIBLE_CHANGES
},
help = "No-op")
public boolean dontUseJavaSourceInfoProvider;
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
import com.google.devtools.build.lib.rules.java.JavaImportBaseRule;
import com.google.devtools.build.lib.rules.java.JavaRuleClasses.IjarBaseRule;
import com.google.devtools.build.lib.rules.java.JavaSemantics;
import com.google.devtools.build.lib.rules.java.JavaSourceInfoProvider;

/**
* Rule definition for the java_import rule.
Expand Down Expand Up @@ -68,9 +67,7 @@ public RuleClass build(RuleClass.Builder builder, RuleDefinitionEnvironment env)
.allowedRuleClasses(ALLOWED_DEPS)
.mandatoryProvidersList(BazelJavaRuleClasses.MANDATORY_JAVA_PROVIDER_ONLY)
.skipAnalysisTimeFileTypeCheck())
.advertiseProvider(JavaSourceInfoProvider.class)
.build();

}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,6 @@
import com.google.devtools.build.lib.rules.java.JavaRuleOutputJarsProvider;
import com.google.devtools.build.lib.rules.java.JavaRuntimeInfo;
import com.google.devtools.build.lib.rules.java.JavaSemantics;
import com.google.devtools.build.lib.rules.java.JavaSourceInfoProvider;
import com.google.devtools.build.lib.rules.java.JavaSourceJarsProvider;
import com.google.devtools.build.lib.rules.java.JavaToolchainProvider;
import com.google.devtools.build.lib.rules.java.ProguardLibrary;
Expand Down Expand Up @@ -214,8 +213,6 @@ public ConfiguredTarget create(RuleContext ruleContext)
NestedSet<Artifact> transitiveJavaSourceJars = transitiveJavaSourceJarBuilder.build();
JavaSourceJarsProvider javaSourceJarsProvider =
JavaSourceJarsProvider.create(transitiveJavaSourceJars, srcJars);
JavaSourceInfoProvider javaSourceInfoProvider =
new JavaSourceInfoProvider.Builder().setSourceJars(srcJars).build();

JavaInfo.Builder javaInfoBuilder =
JavaInfo.Builder.create()
Expand All @@ -224,7 +221,6 @@ public ConfiguredTarget create(RuleContext ruleContext)
.setNeverlink(JavaCommon.isNeverLink(ruleContext))
.addProvider(JavaCompilationArgsProvider.class, javaCompilationArgsProvider)
.addProvider(JavaSourceJarsProvider.class, javaSourceJarsProvider)
.addProvider(JavaSourceInfoProvider.class, javaSourceInfoProvider)
.addProvider(JavaRuleOutputJarsProvider.class, jarProviderBuilder.build());

common.addTransitiveInfoProviders(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,6 @@
import com.google.devtools.build.lib.rules.java.JavaConfiguration.OneVersionEnforcementLevel;
import com.google.devtools.build.lib.rules.java.JavaRuntimeInfo;
import com.google.devtools.build.lib.rules.java.JavaSemantics;
import com.google.devtools.build.lib.rules.java.JavaSourceInfoProvider;
import com.google.devtools.build.lib.rules.java.JavaTargetAttributes;
import com.google.devtools.build.lib.rules.java.JavaToolchainProvider;
import com.google.devtools.build.lib.rules.java.OneVersionCheckActionBuilder;
Expand Down Expand Up @@ -264,8 +263,7 @@ private static RuleConfiguredTargetBuilder init(

AndroidApplicationResourceInfo androidApplicationResourceInfo =
ruleContext.getPrerequisite(
"application_resources",
AndroidApplicationResourceInfo.PROVIDER);
"application_resources", AndroidApplicationResourceInfo.PROVIDER);

final ResourceApk resourceApk;
boolean shouldCompileJavaSrcs = true;
Expand Down Expand Up @@ -694,9 +692,6 @@ public static RuleConfiguredTargetBuilder createAndroidBinary(
.addRunfiles(ruleContext, RunfilesProvider.DEFAULT_RUNFILES)
.addTransitiveArtifacts(filesToBuild)
.build()))
.addProvider(
JavaSourceInfoProvider.class,
JavaSourceInfoProvider.fromJavaTargetAttributes(resourceClasses, javaSemantics))
.addNativeDeclaredProvider(
new ApkInfo(
zipAlignedApk,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@
import com.google.devtools.build.lib.rules.android.databinding.DataBinding;
import com.google.devtools.build.lib.rules.java.JavaCommon;
import com.google.devtools.build.lib.rules.java.JavaSemantics;
import com.google.devtools.build.lib.rules.java.JavaSourceInfoProvider;
import com.google.devtools.build.lib.rules.java.JavaTargetAttributes;
import com.google.devtools.build.lib.rules.java.ProguardLibrary;
import com.google.devtools.build.lib.rules.java.ProguardSpecProvider;
Expand Down Expand Up @@ -244,9 +243,6 @@ public ConfiguredTarget create(RuleContext ruleContext)
new AndroidNativeLibsInfo(
AndroidCommon.collectTransitiveNativeLibs(ruleContext).build()))
.addNativeDeclaredProvider(new AndroidCcLinkParamsProvider(androidCommon.getCcInfo()))
.add(
JavaSourceInfoProvider.class,
JavaSourceInfoProvider.fromJavaTargetAttributes(javaTargetAttributes, javaSemantics))
.addNativeDeclaredProvider(new ProguardSpecProvider(transitiveProguardConfigs))
.addNativeDeclaredProvider(
new AndroidProguardInfo(proguardLibrary.collectLocalProguardSpecs()))
Expand All @@ -259,7 +255,6 @@ public ConfiguredTarget create(RuleContext ruleContext)
builder.addNativeDeclaredProvider(aar.toProvider(ruleContext, definesLocalResources));
}


return builder.build();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,6 @@
import com.google.devtools.build.lib.rules.java.JavaRuntimeClasspathProvider;
import com.google.devtools.build.lib.rules.java.JavaRuntimeInfo;
import com.google.devtools.build.lib.rules.java.JavaSemantics;
import com.google.devtools.build.lib.rules.java.JavaSourceInfoProvider;
import com.google.devtools.build.lib.rules.java.JavaSourceJarsProvider;
import com.google.devtools.build.lib.rules.java.JavaTargetAttributes;
import com.google.devtools.build.lib.rules.java.JavaToolchainProvider;
Expand Down Expand Up @@ -383,9 +382,6 @@ public ConfiguredTarget create(RuleContext ruleContext)
javaInfoBuilder
.addProvider(JavaSourceJarsProvider.class, sourceJarsProvider)
.addProvider(JavaRuleOutputJarsProvider.class, ruleOutputJarsProvider)
.addProvider(
JavaSourceInfoProvider.class,
JavaSourceInfoProvider.fromJavaTargetAttributes(attributes, javaSemantics))
.build();

return builder
Expand Down
2 changes: 0 additions & 2 deletions src/main/java/com/google/devtools/build/lib/rules/java/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ java_library(
"JavaRuntimeAliasRule.java",
"JavaRuntimeClasspathProvider.java",
"JavaRuntimeRule.java",
"JavaSourceInfoProvider.java",
"JavaStarlarkCommon.java",
"JavaToolchain.java",
"JavaToolchainAliasRule.java",
Expand Down Expand Up @@ -147,7 +146,6 @@ java_library(
"JavaRuleOutputJarsProvider.java",
"JavaRuntimeInfo.java",
"JavaSemantics.java",
"JavaSourceInfoProvider.java",
"JavaSourceJarsProvider.java",
"JavaStarlarkCommon.java",
"JavaTargetAttributes.java",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -474,9 +474,6 @@ public ConfiguredTarget create(RuleContext ruleContext)
javaInfoBuilder
.addProvider(JavaSourceJarsProvider.class, sourceJarsProvider)
.addProvider(JavaRuleOutputJarsProvider.class, ruleOutputJarsProvider)
.addProvider(
JavaSourceInfoProvider.class,
JavaSourceInfoProvider.fromJavaTargetAttributes(attributes, semantics))
.maybeTransitiveOnlyRuntimeJarsToJavaInfo(common.getDependencies(), true)
.build();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,9 +113,6 @@ public ConfiguredTarget create(RuleContext ruleContext)

NestedSet<Artifact> filesToBuild = filesBuilder.build();

JavaSourceInfoProvider javaSourceInfoProvider =
new JavaSourceInfoProvider.Builder().setSourceJars(srcJars).build();

JavaRuleOutputJarsProvider.Builder ruleOutputJarsProviderBuilder =
JavaRuleOutputJarsProvider.builder();
for (Artifact jar : jars) {
Expand All @@ -138,7 +135,6 @@ public ConfiguredTarget create(RuleContext ruleContext)
.addProvider(JavaCompilationArgsProvider.class, compilationArgsProvider)
.addProvider(JavaRuleOutputJarsProvider.class, ruleOutputJarsProvider)
.addProvider(JavaSourceJarsProvider.class, sourceJarsProvider)
.addProvider(JavaSourceInfoProvider.class, javaSourceInfoProvider)
.maybeTransitiveOnlyRuntimeJarsToJavaInfo(common.getDependencies(), true)
.setRuntimeJars(javaArtifacts.getRuntimeJars())
.setJavaConstraints(JavaCommon.getConstraints(ruleContext))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,6 @@ public RuleClass build(RuleClass.Builder builder, RuleDefinitionEnvironment envi
.orderIndependent()
.nonconfigurable(
"used in Attribute.validityPredicate implementations (loading time)"))
.advertiseProvider(JavaSourceInfoProvider.class)
.advertiseStarlarkProvider(StarlarkProviderIdentifier.forKey(JavaInfo.PROVIDER.getKey()))
.build();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,7 @@ private static <T> T nullIfNone(Object object, Class<T> type) {
JavaPluginInfoProvider.class,
JavaGenJarsProvider.class,
JavaExportsProvider.class,
JavaCompilationInfoProvider.class,
JavaSourceInfoProvider.class);
JavaCompilationInfoProvider.class);

private final TransitiveInfoProviderMap providers;

Expand Down Expand Up @@ -125,8 +124,6 @@ public static JavaInfo merge(List<JavaInfo> providers) {
JavaInfo.fetchProvidersFromList(providers, JavaExportsProvider.class);
List<JavaRuleOutputJarsProvider> javaRuleOutputJarsProviders =
JavaInfo.fetchProvidersFromList(providers, JavaRuleOutputJarsProvider.class);
List<JavaSourceInfoProvider> sourceInfos =
JavaInfo.fetchProvidersFromList(providers, JavaSourceInfoProvider.class);

ImmutableList.Builder<Artifact> runtimeJars = ImmutableList.builder();
ImmutableList.Builder<String> javaConstraints = ImmutableList.builder();
Expand All @@ -147,7 +144,6 @@ public static JavaInfo merge(List<JavaInfo> providers) {
.addProvider(
JavaPluginInfoProvider.class, JavaPluginInfoProvider.merge(javaPluginInfoProviders))
.addProvider(JavaExportsProvider.class, JavaExportsProvider.merge(javaExportsProviders))
.addProvider(JavaSourceInfoProvider.class, JavaSourceInfoProvider.merge(sourceInfos))
// TODO(b/65618333): add merge function to JavaGenJarsProvider. See #3769
// TODO(iirina): merge or remove JavaCompilationInfoProvider
.setRuntimeJars(runtimeJars.build())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,6 @@ final ConfiguredTarget init(
JavaCommon.getRunfiles(ruleContext, semantics, javaArtifacts, neverLink)))
.setFilesToBuild(filesToBuild)
.addNativeDeclaredProvider(new JavaNativeLibraryInfo(transitiveJavaNativeLibraries))
.addProvider(JavaSourceInfoProvider.fromJavaTargetAttributes(attributes, semantics))
.addNativeDeclaredProvider(new ProguardSpecProvider(proguardSpecs))
.addNativeDeclaredProvider(javaInfo)
.addOutputGroup(JavaSemantics.SOURCE_JARS_OUTPUT_GROUP, transitiveSourceJars)
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,6 @@
import com.google.devtools.build.lib.rules.java.JavaInfo;
import com.google.devtools.build.lib.rules.java.JavaRuntimeInfo;
import com.google.devtools.build.lib.rules.java.JavaSemantics;
import com.google.devtools.build.lib.rules.java.JavaSourceInfoProvider;
import com.google.devtools.build.lib.rules.objc.CompilationSupport.ExtraCompileArgs;
import com.google.devtools.build.lib.rules.objc.J2ObjcSource.SourceType;
import com.google.devtools.build.lib.rules.proto.ProtoCommon;
Expand Down Expand Up @@ -315,33 +314,24 @@ private ConfiguredAspect java(ConfiguredTarget base, RuleContext ruleContext)
throws InterruptedException, ActionConflictException {
JavaCompilationArgsProvider compilationArgsProvider =
JavaInfo.getProvider(JavaCompilationArgsProvider.class, base);
JavaSourceInfoProvider sourceInfoProvider =
JavaInfo.getProvider(JavaSourceInfoProvider.class, base);
JavaGenJarsProvider genJarProvider = JavaInfo.getProvider(JavaGenJarsProvider.class, base);
ImmutableSet.Builder<Artifact> javaSourceFilesBuilder = ImmutableSet.builder();
ImmutableSet.Builder<Artifact> javaSourceJarsBuilder = ImmutableSet.builder();
if (ruleContext
.getConfiguration()
.getFragment(J2ObjcConfiguration.class)
.dontUseJavaSourceInfoProvider()) {
for (Artifact srcArtifact : ruleContext.getPrerequisiteArtifacts("srcs").list()) {
String srcFilename = srcArtifact.getExecPathString();
if (JavaSemantics.SOURCE_JAR.apply(srcFilename)) {
javaSourceJarsBuilder.add(srcArtifact);
} else if (JavaSemantics.JAVA_SOURCE.apply(srcFilename)) {
javaSourceFilesBuilder.add(srcArtifact);
}
}
Artifact srcJar =
ruleContext.attributes().has("srcjar")
? ruleContext.getPrerequisiteArtifact("srcjar")
: null;
if (srcJar != null) {
javaSourceJarsBuilder.add(srcJar);

for (Artifact srcArtifact : ruleContext.getPrerequisiteArtifacts("srcs").list()) {
String srcFilename = srcArtifact.getExecPathString();
if (JavaSemantics.SOURCE_JAR.apply(srcFilename)) {
javaSourceJarsBuilder.add(srcArtifact);
} else if (JavaSemantics.JAVA_SOURCE.apply(srcFilename)) {
javaSourceFilesBuilder.add(srcArtifact);
}
} else if (sourceInfoProvider != null) {
javaSourceFilesBuilder.addAll(sourceInfoProvider.getSourceFiles());
javaSourceJarsBuilder.addAll(sourceInfoProvider.getSourceJars());
}
Artifact srcJar =
ruleContext.attributes().has("srcjar")
? ruleContext.getPrerequisiteArtifact("srcjar")
: null;
if (srcJar != null) {
javaSourceJarsBuilder.add(srcJar);
}

if (genJarProvider != null && genJarProvider.getGenSourceJar() != null) {
Expand Down
Loading

0 comments on commit 2cb919f

Please sign in to comment.