diff --git a/WORKSPACE b/WORKSPACE index e74e13b1e2..4f080275bb 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -29,41 +29,46 @@ specs2_junit_repositories() load("//scala:scala_cross_version.bzl", "default_scala_major_version", "scala_mvn_artifact") -# test adding a scala jar: -maven_jar( - name = "com_twitter__scalding_date", - artifact = scala_mvn_artifact( - "com.twitter:scalding-date:0.17.0", - default_scala_major_version(), - ), - sha1 = "420fb0c4f737a24b851c4316ee0362095710caa5", -) +load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") -# For testing that we don't include sources jars to the classpath -maven_jar( - name = "org_typelevel__cats_core", - artifact = scala_mvn_artifact( - "org.typelevel:cats-core:0.9.0", - default_scala_major_version(), - ), - sha1 = "b2f8629c6ec834d8b6321288c9fe77823f1e1314", -) +RULES_JVM_EXTERNAL_TAG = "2.10" +RULES_JVM_EXTERNAL_SHA = "1bbf2e48d07686707dd85357e9a94da775e1dbd7c464272b3664283c9c716d26" -# test of a plugin -maven_jar( - name = "org_psywerx_hairyfotr__linter", - artifact = scala_mvn_artifact( - "org.psywerx.hairyfotr:linter:0.1.13", - default_scala_major_version(), - ), - sha1 = "e5b3e2753d0817b622c32aedcb888bcf39e275b4", +http_archive( + name = "rules_jvm_external", + strip_prefix = "rules_jvm_external-%s" % RULES_JVM_EXTERNAL_TAG, + sha256 = RULES_JVM_EXTERNAL_SHA, + url = "https://github.com/bazelbuild/rules_jvm_external/archive/%s.zip" % RULES_JVM_EXTERNAL_TAG, ) -# test of strict deps (scalac plugin UT + E2E) -maven_jar( - name = "com_google_guava_guava_21_0_with_file", - artifact = "com.google.guava:guava:21.0", - sha1 = "3a3d111be1be1b745edfa7d91678a12d7ed38709", +load("@rules_jvm_external//:defs.bzl", "maven_install") + +maven_install( + artifacts = [ + scala_mvn_artifact( + "com.twitter:scalding-date:0.17.0", + default_scala_major_version(), + ), + + scala_mvn_artifact( + "org.typelevel:cats-core:0.9.0", + default_scala_major_version(), + ), + + scala_mvn_artifact( + "org.psywerx.hairyfotr:linter:0.1.13", + default_scala_major_version(), + ), + + "com.google.guava:guava:21.0", + + "org.apache.commons:commons-lang3:3.5", + ], + repositories = [ + "https://jcenter.bintray.com/", + "https://maven.google.com", + "https://repo1.maven.org/maven2", + ], ) # test of import external @@ -84,12 +89,6 @@ scala_maven_import_external( srcjar_sha256 = "5e586357a289f5fe896f7b48759e1c16d9fa419333156b496696887e613d7a19", ) -maven_jar( - name = "org_apache_commons_commons_lang_3_5", - artifact = "org.apache.commons:commons-lang3:3.5", - sha1 = "6c6c702c89bfff3cd9e80b04d668c5e190d588c6", -) - new_local_repository( name = "test_new_local_repo", build_file_content = diff --git a/test/BUILD b/test/BUILD index daeb207b14..fcfffe59b3 100644 --- a/test/BUILD +++ b/test/BUILD @@ -63,7 +63,7 @@ scala_binary( scala_library( name = "HelloLib", srcs = ["HelloLib.scala"], - plugins = ["@org_psywerx_hairyfotr__linter//jar"], + plugins = ["@maven//:org_psywerx_hairyfotr_linter_2_11"], deps = [ "Exported", "MacroTest", @@ -278,7 +278,7 @@ scala_repl( scala_library( name = "jar_export", - exports = ["@com_twitter__scalding_date//jar"], + exports = ["@maven//:com_twitter_scalding_date_2_11"], ) #Mix java scala diff --git a/test/src/main/scala/scalarules/test/scala_import/BUILD b/test/src/main/scala/scalarules/test/scala_import/BUILD index 1d46bb0e3d..f4e6e2c5aa 100644 --- a/test/src/main/scala/scalarules/test/scala_import/BUILD +++ b/test/src/main/scala/scalarules/test/scala_import/BUILD @@ -5,8 +5,8 @@ load("//scala:scala_import.bzl", "scala_import") scala_import( name = "guava_and_commons_lang", jars = [ - "@com_google_guava_guava_21_0_with_file//jar:file", - "@org_apache_commons_commons_lang_3_5//jar:file", + "@maven//:com_google_guava_guava", + "@maven//:org_apache_commons_commons_lang3", ], ) @@ -44,7 +44,7 @@ scala_specs2_junit_test( #filter source jars scala_import( name = "cats", - jars = ["@org_typelevel__cats_core//jar:file"], + jars = ["@maven//:org_typelevel_cats_core_2_11"], ) scala_library( @@ -77,11 +77,11 @@ scala_specs2_junit_test( runtime_deps = [":cats_and_guava_and_commons_lang_as_runtime_deps"], ) -java_import( +java_library( name = "guava_and_commons_lang_java_import", - jars = [ - "@com_google_guava_guava_21_0_with_file//jar:file", - "@org_apache_commons_commons_lang_3_5//jar:file", + exports = [ + "@maven//:com_google_guava_guava", + "@maven//:org_apache_commons_commons_lang3", ], ) diff --git a/test/src/main/scala/scalarules/test/sources_jars_in_deps/BUILD b/test/src/main/scala/scalarules/test/sources_jars_in_deps/BUILD index 8a2d0d7af3..5b4b49d7e9 100644 --- a/test/src/main/scala/scalarules/test/sources_jars_in_deps/BUILD +++ b/test/src/main/scala/scalarules/test/sources_jars_in_deps/BUILD @@ -4,6 +4,6 @@ scala_library( name = "source_jar_not_oncp", srcs = ["ReferCatsImplicits.scala"], deps = [ - "@org_typelevel__cats_core//jar", + "@maven//:org_typelevel_cats_core_2_11", ], ) diff --git a/test_expect_failure/missing_direct_deps/external_deps/BUILD b/test_expect_failure/missing_direct_deps/external_deps/BUILD index 9585f74f23..c35586aca3 100644 --- a/test_expect_failure/missing_direct_deps/external_deps/BUILD +++ b/test_expect_failure/missing_direct_deps/external_deps/BUILD @@ -31,5 +31,5 @@ scala_library( srcs = [ "B.scala", ], - deps = ["@com_google_guava_guava_21_0_with_file//jar"], + deps = ["@maven//:com_google_guava_guava"], ) diff --git a/test_expect_failure/scala_import/BUILD b/test_expect_failure/scala_import/BUILD index 49fa457646..9d1a29b5db 100644 --- a/test_expect_failure/scala_import/BUILD +++ b/test_expect_failure/scala_import/BUILD @@ -1,23 +1,24 @@ load("//scala:scala.bzl", "scala_library", "scala_specs2_junit_test") load("//scala:scala_import.bzl", "scala_import") +load("@rules_jvm_external//:defs.bzl", "maven_artifact") #deps, transitive_deps and propagation of deps as transitive_runtime_deps #also labels handling- transitive and transitive-transitive scala_import( name = "dummy_dependency_to_trigger_create_provider_transitive_compile_jar_usage", - jars = ["@org_psywerx_hairyfotr__linter//jar:file"], + jars = ["@maven//:org_psywerx_hairyfotr_linter_2_11"], ) scala_import( name = "guava", - jars = ["@com_google_guava_guava_21_0_with_file//jar:file"], + jars = [maven_artifact("com.google.guava:guava:21.0")], deps = [":dummy_dependency_to_trigger_create_provider_transitive_compile_jar_usage"], ) scala_import( name = "cats", - jars = ["@org_typelevel__cats_core//jar:file"], + jars = ["@maven//:org_typelevel_cats_core_2_11"], ) scala_import( diff --git a/third_party/dependency_analyzer/src/test/BUILD b/third_party/dependency_analyzer/src/test/BUILD index 0b279289bb..b4dfbdac62 100644 --- a/third_party/dependency_analyzer/src/test/BUILD +++ b/third_party/dependency_analyzer/src/test/BUILD @@ -1,6 +1,7 @@ licenses(["notice"]) # 3-clause BSD load("//scala:scala.bzl", "scala_junit_test", "scala_test") +load("@rules_jvm_external//:defs.bzl", "maven_artifact") scala_junit_test( name = "dependency_analyzer_test", @@ -8,10 +9,11 @@ scala_junit_test( srcs = [ "io/bazel/rulesscala/dependencyanalyzer/DependencyAnalyzerTest.scala", ], + data = [maven_artifact("com.google.guava:guava:21.0")], jvm_flags = [ "-Dplugin.jar.location=$(location //third_party/dependency_analyzer/src/main:dependency_analyzer)", "-Dscala.library.location=$(location //external:io_bazel_rules_scala/dependency/scala/scala_library)", - "-Dguava.jar.location=$(location @com_google_guava_guava_21_0_with_file//jar)", + "-Dguava.jar.location=$(location %s)" % maven_artifact("com.google.guava:guava:21.0"), "-Dapache.commons.jar.location=$(location @org_apache_commons_commons_lang_3_5_without_file//:linkable_org_apache_commons_commons_lang_3_5_without_file)", ], suffixes = ["Test"], @@ -22,7 +24,6 @@ scala_junit_test( "//external:io_bazel_rules_scala/dependency/scala/scala_reflect", "//third_party/dependency_analyzer/src/main:dependency_analyzer", "//third_party/utils/src/test:test_util", - "@com_google_guava_guava_21_0_with_file//jar", "@org_apache_commons_commons_lang_3_5_without_file//:linkable_org_apache_commons_commons_lang_3_5_without_file", ], )