Open
Description
Hi everyone!
When I build some of our scala_specs2_junit_test
targets using --strict_java_deps=ERROR
, I get errors that I'm not sure how to resolve.
error: Target 'Unknown label of file bazel-out/local-fastbuild/genfiles/external/scala/_ijar/scala-parser-combinators/external/scala/lib/scala-parser-combinators_2.11-1.0.4-ijar.jar which came from @io_bazel_rules_scala//specs2:specs2' is used but isn't explicitly declared, please add it to the deps.
You can use the following buildozer command:
buildozer 'add deps Unknown label of file bazel-out/local-fastbuild/genfiles/external/scala/_ijar/scala-parser-combinators/external/scala/lib/scala-parser-combinators_2.11-1.0.4-ijar.jar which came from @io_bazel_rules_scala//specs2:specs2' //util:test
error: Target 'Unknown label of file bazel-out/local-fastbuild/genfiles/external/scala/_ijar/scala-xml/external/scala/lib/scala-xml_2.11-1.0.5-ijar.jar which came from @io_bazel_rules_scala//specs2:specs2' is used but isn't explicitly declared, please add it to the deps.
You can use the following buildozer command:
buildozer 'add deps Unknown label of file bazel-out/local-fastbuild/genfiles/external/scala/_ijar/scala-xml/external/scala/lib/scala-xml_2.11-1.0.5-ijar.jar which came from @io_bazel_rules_scala//specs2:specs2' //util:test
two errors found
two errors found
Normally I would add the jar to the deps list, but I'm not sure how to do that here. Both scala-parser-combinators and scala-xml are maven_jar
s in my WORKSPACE
file. I've added them to the deps
list for the test target, but it doesn't seem to change anything.
If there's a bug, I'm happy to provide debug info and fix it. If this is an issue with my ignorance of bazel, then I'm happy to update docs somewhere to help others avoid this in the future.
Here are the rules from the BUILD
file
shared_deps = [
"//a",
"//b",
"//c",
"//d",
"@com_typesafe_scala_logging_scala_logging_2_11//jar:file",
"@com_fasterxml_jackson_core_jackson_annotations//jar",
"@com_fasterxml_jackson_core_jackson_core//jar",
"@com_fasterxml_jackson_core_jackson_databind//jar",
"@com_typesafe_config//jar",
"@com_typesafe_play_play_datacommons_2_11//jar",
"@com_typesafe_play_play_functional_2_11//jar",
"@com_typesafe_play_play_iteratees_2_11//jar",
"@com_typesafe_play_play_json_2_11//jar",
"@commons_io_commons_io//jar",
"@joda_time_joda_time//jar",
"@org_apache_httpcomponents_httpclient//jar",
"@org_apache_httpcomponents_httpcore//jar",
"@org_apache_httpcomponents_httpmime//jar",
"@org_scala_lang_modules_scala_parser_combinators_2_11//jar",
"@org_scala_lang_modules_scala_xml_2_11//jar",
"@org_scala_lang_plugins_scala_continuations_library_2_11//jar",
"@org_slf4j_slf4j_api//jar",
]
scala_macro_library(
name = "util",
srcs = glob(["src/main/**/*.scala"]) + glob(["src/main/**/*.java"]),
resources = glob(["src/main/resources/**"]),
visibility = ["//visibility:public"],
deps = shared_deps + [
"//e",
"//f",
"//g",
"//e",
"@com_amazonaws_aws_java_sdk_core//jar",
"@com_amazonaws_aws_java_sdk_sts//jar",
"@com_github_nscala_time_nscala_time_2_11//jar",
"@com_lucidchart_thread_context//jar",
"@commons_codec_commons_codec//jar",
"@net_sf_ehcache_ehcache_core//jar",
"@org_apache_httpcomponents_httpasyncclient//jar",
"@org_scala_lang_modules_scala_java8_compat_2_11//jar",
"@org_scalaz_scalaz_core_2_11//jar:file",
]
)
scala_specs2_junit_test(
name = "test",
srcs = glob(["src/test/**/*.scala"]),
resources = glob(["src/test/resources/**"]),
deps = shared_deps + [
":util",
"@junit_junit//jar",
"@org_mockito_mockito_core//jar",
"@org_objenesis_objenesis//jar",
"@org_specs2_specs2_mock_2_11//jar",
],
suffixes = ["Spec", "Test"],
timeout = "short",
print_discovered_classes = True,
)