Skip to content

Commit 6b3b211

Browse files
committed
Merge dependency_analyzer and unused_dependency_checker
We merge dependency_analyer and unused_dependency_checker projects because of the code they have in common, and because we will be adding additional forms of checking which would be complex with two different projects going on.
1 parent 2a76ab3 commit 6b3b211

File tree

13 files changed

+297
-312
lines changed

13 files changed

+297
-312
lines changed

scala/private/common_attributes.bzl

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -66,13 +66,6 @@ common_attrs.update({
6666
],
6767
mandatory = False,
6868
),
69-
"_unused_dependency_checker_plugin": attr.label(
70-
default = Label(
71-
"@io_bazel_rules_scala//third_party/unused_dependency_checker/src/main:unused_dependency_checker",
72-
),
73-
allow_files = [".jar"],
74-
mandatory = False,
75-
),
7669
"unused_dependency_checker_ignored_targets": attr.label_list(default = []),
7770
"_code_coverage_instrumentation_worker": attr.label(
7871
default = "@io_bazel_rules_scala//src/java/io/bazel/rulesscala/coverage/instrumenter",

scala/private/rule_impls.bzl

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ def compile_scala(
6666
input_plugins = plugins
6767
plugins = _collect_plugin_paths(plugins)
6868
internal_plugin_jars = []
69-
dependency_analyzer_mode = "off"
69+
strict_deps_mode = "off"
7070
compiler_classpath_jars = cjars
7171
optional_scalac_args = ""
7272
classpath_resources = []
@@ -75,7 +75,7 @@ def compile_scala(
7575

7676
if is_dependency_analyzer_on(ctx):
7777
# "off" mode is used as a feature toggle, that preserves original behaviour
78-
dependency_analyzer_mode = ctx.fragments.java.strict_java_deps
78+
strict_deps_mode = ctx.fragments.java.strict_java_deps
7979
dep_plugin = ctx.attr._dependency_analyzer_plugin
8080
plugins = depset(transitive = [plugins, dep_plugin.files])
8181
internal_plugin_jars = ctx.files._dependency_analyzer_plugin
@@ -102,9 +102,9 @@ CurrentTarget: {current_target}
102102
)
103103

104104
elif unused_dependency_checker_mode != "off":
105-
unused_dependency_plugin = ctx.attr._unused_dependency_checker_plugin
106-
plugins = depset(transitive = [plugins, unused_dependency_plugin.files])
107-
internal_plugin_jars = ctx.files._unused_dependency_checker_plugin
105+
dependency_analyzer_plugin = ctx.attr._dependency_analyzer_plugin
106+
plugins = depset(transitive = [plugins, dependency_analyzer_plugin.files])
107+
internal_plugin_jars = ctx.files._dependency_analyzer_plugin
108108

109109
cjars_list = cjars.to_list()
110110
direct_jars = _join_path(cjars_list)
@@ -152,7 +152,7 @@ ResourceSources: {resource_sources}
152152
ResourceJars: {resource_jars}
153153
ScalacOpts: {scala_opts}
154154
SourceJars: {srcjars}
155-
DependencyAnalyzerMode: {dependency_analyzer_mode}
155+
StrictDepsMode: {strict_deps_mode}
156156
UnusedDependencyCheckerMode: {unused_dependency_checker_mode}
157157
StatsfileOutput: {statsfile_output}
158158
""".format(
@@ -170,7 +170,7 @@ StatsfileOutput: {statsfile_output}
170170
resource_targets = ",".join([p[0] for p in resource_paths]),
171171
resource_sources = ",".join([p[1] for p in resource_paths]),
172172
resource_jars = _join_path(resource_jars),
173-
dependency_analyzer_mode = dependency_analyzer_mode,
173+
strict_deps_mode = strict_deps_mode,
174174
unused_dependency_checker_mode = unused_dependency_checker_mode,
175175
statsfile_output = statsfile.path,
176176
)

src/java/io/bazel/rulesscala/scalac/CompileOptions.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public class CompileOptions {
2424
public final String[] ignoredTargets;
2525
public final String[] indirectJars;
2626
public final String[] indirectTargets;
27-
public final String dependencyAnalyzerMode;
27+
public final String strictDepsMode;
2828
public final String unusedDependencyCheckerMode;
2929
public final String currentTarget;
3030
public final String statsfile;
@@ -59,7 +59,7 @@ public CompileOptions(List<String> args) {
5959
indirectJars = getCommaList(argMap, "IndirectJars");
6060
indirectTargets = getCommaList(argMap, "IndirectTargets");
6161

62-
dependencyAnalyzerMode = getOrElse(argMap, "DependencyAnalyzerMode", "off");
62+
strictDepsMode = getOrElse(argMap, "StrictDepsMode", "off");
6363
unusedDependencyCheckerMode = getOrElse(argMap, "UnusedDependencyCheckerMode", "off");
6464
currentTarget = getOrElse(argMap, "CurrentTarget", "NA");
6565

src/java/io/bazel/rulesscala/scalac/ScalacProcessor.java

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -173,16 +173,17 @@ private static boolean isModeEnabled(String mode) {
173173
private static String[] getPluginParamsFrom(CompileOptions ops) {
174174
ArrayList<String> pluginParams = new ArrayList<>(0);
175175

176-
if (isModeEnabled(ops.dependencyAnalyzerMode)) {
176+
if (isModeEnabled(ops.strictDepsMode)) {
177177
String[] indirectTargets = encodeBazelTargets(ops.indirectTargets);
178178
String currentTarget = encodeBazelTarget(ops.currentTarget);
179179

180180
String[] dependencyAnalyzerParams = {
181181
"-P:dependency-analyzer:direct-jars:" + String.join(":", ops.directJars),
182182
"-P:dependency-analyzer:indirect-jars:" + String.join(":", ops.indirectJars),
183183
"-P:dependency-analyzer:indirect-targets:" + String.join(":", indirectTargets),
184-
"-P:dependency-analyzer:mode:" + ops.dependencyAnalyzerMode,
184+
"-P:dependency-analyzer:strict-deps-mode:" + ops.strictDepsMode,
185185
"-P:dependency-analyzer:current-target:" + currentTarget,
186+
"-P:dependency-analyzer:dependency-tracking-method:" + "high-level",
186187
};
187188
pluginParams.addAll(Arrays.asList(dependencyAnalyzerParams));
188189
} else if (isModeEnabled(ops.unusedDependencyCheckerMode)) {
@@ -191,11 +192,12 @@ private static String[] getPluginParamsFrom(CompileOptions ops) {
191192
String currentTarget = encodeBazelTarget(ops.currentTarget);
192193

193194
String[] unusedDependencyCheckerParams = {
194-
"-P:unused-dependency-checker:direct-jars:" + String.join(":", ops.directJars),
195-
"-P:unused-dependency-checker:direct-targets:" + String.join(":", directTargets),
196-
"-P:unused-dependency-checker:ignored-targets:" + String.join(":", ignoredTargets),
197-
"-P:unused-dependency-checker:mode:" + ops.unusedDependencyCheckerMode,
198-
"-P:unused-dependency-checker:current-target:" + currentTarget,
195+
"-P:dependency-analyzer:direct-jars:" + String.join(":", ops.directJars),
196+
"-P:dependency-analyzer:direct-targets:" + String.join(":", directTargets),
197+
"-P:dependency-analyzer:unused-deps-ignored-targets:" + String.join(":", ignoredTargets),
198+
"-P:dependency-analyzer:unused-deps-mode:" + ops.unusedDependencyCheckerMode,
199+
"-P:dependency-analyzer:current-target:" + currentTarget,
200+
"-P:dependency-analyzer:dependency-tracking-method:" + "high-level",
199201
};
200202
pluginParams.addAll(Arrays.asList(unusedDependencyCheckerParams));
201203
}

0 commit comments

Comments
 (0)