diff --git a/WORKSPACE b/WORKSPACE index 95cfe5a0e..e9c1fcb4b 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -27,7 +27,7 @@ scala_repositories(fetch_sources = True) load("//scala:scala_cross_version.bzl", "default_maven_server_urls") load("//scala:scala_maven_import_external.bzl", "scala_maven_import_external") -load("//twitter_scrooge:twitter_scrooge.bzl", "scrooge_scala_library", "twitter_scrooge") +load("//twitter_scrooge:twitter_scrooge.bzl", "twitter_scrooge") twitter_scrooge() @@ -53,7 +53,12 @@ scalafmt_default_config() scalafmt_repositories() -load("//scala:scala_cross_version.bzl", "default_scala_major_version", "scala_mvn_artifact") +load( + "//scala:scala_cross_version.bzl", + "default_scala_major_version", + "default_scala_version", + "scala_mvn_artifact", +) MAVEN_SERVER_URLS = default_maven_server_urls() @@ -62,70 +67,6 @@ load("//test/proto_cross_repo_boundary:repo.bzl", "proto_cross_repo_boundary_rep proto_cross_repo_boundary_repository() -# test adding a scala jar: -jvm_maven_import_external( - name = "com_twitter__scalding_date", - artifact = scala_mvn_artifact( - "com.twitter:scalding-date:0.17.0", - default_scala_major_version(), - ), - artifact_sha256 = "973a7198121cc8dac9eeb3f325c93c497fe3b682f68ba56e34c1b210af7b15b3", - server_urls = MAVEN_SERVER_URLS, -) - -# For testing that we don't include sources jars to the classpath -jvm_maven_import_external( - name = "org_typelevel__cats_core", - artifact = scala_mvn_artifact( - "org.typelevel:cats-core:0.9.0", - default_scala_major_version(), - ), - artifact_sha256 = "3ca705cba9dc0632e60477d80779006f8c636c0e2e229dda3410a0c314c1ea1d", - server_urls = MAVEN_SERVER_URLS, -) - -# test of a plugin -jvm_maven_import_external( - name = "org_psywerx_hairyfotr__linter", - artifact = scala_mvn_artifact( - "org.psywerx.hairyfotr:linter:0.1.17", - default_scala_major_version(), - ), - artifact_sha256 = "59becd7883613064842b3a62f84315b02457dc439f42ef62e3c80408393c905b", - server_urls = MAVEN_SERVER_URLS, -) - -# test of strict deps (scalac plugin UT + E2E) -jvm_maven_import_external( - name = "com_google_guava_guava_21_0_with_file", - artifact = "com.google.guava:guava:21.0", - artifact_sha256 = "972139718abc8a4893fa78cba8cf7b2c903f35c97aaf44fa3031b0669948b480", - server_urls = MAVEN_SERVER_URLS, -) - -# test of import external -# scala maven import external decodes maven artifacts to its parts -# (group id, artifact id, packaging, version and classifier). To make sure -# the decoding and then the download url composition are working the artifact example -# must contain all the different parts and sha256s so the downloaded content will be -# validated against it -scala_maven_import_external( - name = "com_github_jnr_jffi_native", - artifact = "com.github.jnr:jffi:jar:native:1.2.17", - artifact_sha256 = "4eb582bc99d96c8df92fc6f0f608fd123d278223982555ba16219bf8be9f75a9", - fetch_sources = True, - licenses = ["notice"], - server_urls = MAVEN_SERVER_URLS, - srcjar_sha256 = "5e586357a289f5fe896f7b48759e1c16d9fa419333156b496696887e613d7a19", -) - -jvm_maven_import_external( - name = "org_apache_commons_commons_lang_3_5", - artifact = "org.apache.commons:commons-lang3:3.5", - artifact_sha256 = "8ac96fc686512d777fca85e144f196cd7cfe0c0aec23127229497d1a38ff651c", - server_urls = MAVEN_SERVER_URLS, -) - new_local_repository( name = "test_new_local_repo", build_file_content = @@ -152,16 +93,6 @@ register_toolchains("@io_bazel_rules_scala//test/proto:scalapb_toolchain") load("//scala:scala_maven_import_external.bzl", "java_import_external", "scala_maven_import_external") -scala_maven_import_external( - name = "com_google_guava_guava_21_0", - artifact = "com.google.guava:guava:21.0", - artifact_sha256 = "972139718abc8a4893fa78cba8cf7b2c903f35c97aaf44fa3031b0669948b480", - fetch_sources = True, - licenses = ["notice"], # Apache 2.0 - server_urls = MAVEN_SERVER_URLS, - srcjar_sha256 = "b186965c9af0a714632fe49b33378c9670f8f074797ab466f49a67e918e116ea", -) - # bazel's java_import_external has been altered in rules_scala to be a macro based on jvm_import_external # in order to allow for other jvm-language imports (e.g. scala_import) # the 3rd-party dependency below is using the java_import_external macro @@ -226,36 +157,41 @@ rbe_autoconfig( name = "buildkite_config", ) -## deps for tests of limited deps support - -scala_maven_import_external( - name = "org_springframework_spring_core", - artifact = "org.springframework:spring-core:5.1.5.RELEASE", - artifact_sha256 = "f771b605019eb9d2cf8f60c25c050233e39487ff54d74c93d687ea8de8b7285a", - licenses = ["notice"], # Apache 2.0 - server_urls = MAVEN_SERVER_URLS, -) - -scala_maven_import_external( - name = "org_springframework_spring_tx", - artifact = "org.springframework:spring-tx:5.1.5.RELEASE", - artifact_sha256 = "666f72b73c7e6b34e5bb92a0d77a14cdeef491c00fcb07a1e89eb62b08500135", - licenses = ["notice"], # Apache 2.0 - server_urls = MAVEN_SERVER_URLS, - deps = [ - "@org_springframework_spring_core", - ], -) +load("//third_party/repositories:repositories.bzl", "repositories") -## deps for tests of compiler plugin -scala_maven_import_external( - name = "org_spire_math_kind_projector", +jvm_maven_import_external( + name = "org_typelevel__cats_core", artifact = scala_mvn_artifact( - "org.spire-math:kind-projector:0.9.10", + "org.typelevel:cats-core:0.9.0", default_scala_major_version(), ), - artifact_sha256 = "36aca2493302e2c037328107a121cda1d28bf9119fbc04fb47ea1ff9bce3c03f", - fetch_sources = False, - licenses = ["notice"], + artifact_sha256 = "3ca705cba9dc0632e60477d80779006f8c636c0e2e229dda3410a0c314c1ea1d", server_urls = MAVEN_SERVER_URLS, ) + +repositories( + for_artifact_ids = [ + # test adding a scala jar: + "com_twitter__scalding_date", + # For testing that we don't include sources jars to the classpath + # "org_typelevel__cats_core", + # test of a plugin + "org_psywerx_hairyfotr__linter", + # test of strict deps (scalac plugin UT + E2E) + "com_google_guava_guava_21_0_with_file", + "com_github_jnr_jffi_native", + "org_apache_commons_commons_lang_3_5", + "com_google_guava_guava_21_0", + # test of import external + # scala maven import external decodes maven artifacts to its parts + # (group id, artifact id, packaging, version and classifier). To make sure + # the decoding and then the download url composition are working the artifact example + # must contain all the different parts and sha256s so the downloaded content will be + # validated against it + "org_springframework_spring_core", + "org_springframework_spring_tx", + "org_spire_math_kind_projector", + ], + maven_servers = MAVEN_SERVER_URLS, + scala_version = default_scala_version(), +) diff --git a/jmh/jmh.bzl b/jmh/jmh.bzl index b0a2eee8f..5a2c3269b 100644 --- a/jmh/jmh.bzl +++ b/jmh/jmh.bzl @@ -1,78 +1,53 @@ load("//scala:scala.bzl", "scala_binary", "scala_library") load( "//scala:scala_cross_version.bzl", - _default_maven_server_urls = "default_maven_server_urls", -) -load( - "@io_bazel_rules_scala//scala:scala_maven_import_external.bzl", - _scala_maven_import_external = "scala_maven_import_external", + "default_maven_server_urls", + "default_scala_version", ) +load("//third_party/repositories:repositories.bzl", "repositories") -def jmh_repositories(maven_servers = _default_maven_server_urls()): - _scala_maven_import_external( - name = "io_bazel_rules_scala_org_openjdk_jmh_jmh_core", - artifact = "org.openjdk.jmh:jmh-core:1.20", - artifact_sha256 = "1688db5110ea6413bf63662113ed38084106ab1149e020c58c5ac22b91b842ca", - licenses = ["notice"], - server_urls = maven_servers, +def jmh_repositories( + scala_version = default_scala_version(), + maven_servers = default_maven_server_urls(), + overriden_artifacts = {}): + repositories( + for_artifact_ids = [ + "io_bazel_rules_scala_org_openjdk_jmh_jmh_core", + "io_bazel_rules_scala_org_openjdk_jmh_jmh_generator_asm", + "io_bazel_rules_scala_org_openjdk_jmh_jmh_generator_reflection", + "io_bazel_rules_scala_org_openjdk_jmh_jmh_generator_reflection", + "io_bazel_rules_scala_org_ows2_asm_asm", + "io_bazel_rules_scala_net_sf_jopt_simple_jopt_simple", + "io_bazel_rules_scala_org_apache_commons_commons_math3", + ], + fetch_sources = False, + scala_version = scala_version, + maven_servers = maven_servers, + overriden_artifacts = {}, ) + native.bind( name = "io_bazel_rules_scala/dependency/jmh/jmh_core", actual = "@io_bazel_rules_scala_org_openjdk_jmh_jmh_core//jar", ) - _scala_maven_import_external( - name = "io_bazel_rules_scala_org_openjdk_jmh_jmh_generator_asm", - artifact = "org.openjdk.jmh:jmh-generator-asm:1.20", - artifact_sha256 = "2dd4798b0c9120326310cda3864cc2e0035b8476346713d54a28d1adab1414a5", - licenses = ["notice"], - server_urls = maven_servers, - ) native.bind( name = "io_bazel_rules_scala/dependency/jmh/jmh_generator_asm", actual = "@io_bazel_rules_scala_org_openjdk_jmh_jmh_generator_asm//jar", ) - _scala_maven_import_external( - name = "io_bazel_rules_scala_org_openjdk_jmh_jmh_generator_reflection", - artifact = "org.openjdk.jmh:jmh-generator-reflection:1.20", - artifact_sha256 = "57706f7c8278272594a9afc42753aaf9ba0ba05980bae0673b8195908d21204e", - licenses = ["notice"], - server_urls = maven_servers, - ) native.bind( name = "io_bazel_rules_scala/dependency/jmh/jmh_generator_reflection", actual = "@io_bazel_rules_scala_org_openjdk_jmh_jmh_generator_reflection//jar", ) - _scala_maven_import_external( - name = "io_bazel_rules_scala_org_ows2_asm_asm", - artifact = "org.ow2.asm:asm:6.1.1", - artifact_sha256 = "dd3b546415dd4bade2ebe3b47c7828ab0623ee2336604068e2d81023f9f8d833", - licenses = ["notice"], - server_urls = maven_servers, - ) native.bind( name = "io_bazel_rules_scala/dependency/jmh/org_ows2_asm_asm", actual = "@io_bazel_rules_scala_org_ows2_asm_asm//jar", ) - _scala_maven_import_external( - name = "io_bazel_rules_scala_net_sf_jopt_simple_jopt_simple", - artifact = "net.sf.jopt-simple:jopt-simple:4.6", - artifact_sha256 = "3fcfbe3203c2ea521bf7640484fd35d6303186ea2e08e72f032d640ca067ffda", - licenses = ["notice"], - server_urls = maven_servers, - ) native.bind( name = "io_bazel_rules_scala/dependency/jmh/net_sf_jopt_simple_jopt_simple", actual = "@io_bazel_rules_scala_net_sf_jopt_simple_jopt_simple//jar", ) - _scala_maven_import_external( - name = "io_bazel_rules_scala_org_apache_commons_commons_math3", - artifact = "org.apache.commons:commons-math3:3.6.1", - artifact_sha256 = "1e56d7b058d28b65abd256b8458e3885b674c1d588fa43cd7d1cbb9c7ef2b308", - licenses = ["notice"], - server_urls = maven_servers, - ) native.bind( name = "io_bazel_rules_scala/dependency/jmh/org_apache_commons_commons_math3", diff --git a/junit/junit.bzl b/junit/junit.bzl index 6acaa9881..3dbf8b361 100644 --- a/junit/junit.bzl +++ b/junit/junit.bzl @@ -2,31 +2,24 @@ load( "//scala:scala_cross_version.bzl", _default_maven_server_urls = "default_maven_server_urls", ) -load( - "@io_bazel_rules_scala//scala:scala_maven_import_external.bzl", - _scala_maven_import_external = "scala_maven_import_external", -) +load("//third_party/repositories:repositories.bzl", "repositories") -def junit_repositories(maven_servers = _default_maven_server_urls()): - _scala_maven_import_external( - name = "io_bazel_rules_scala_junit_junit", - artifact = "junit:junit:4.12", - artifact_sha256 = "59721f0805e223d84b90677887d9ff567dc534d7c502ca903c0c2b17f05c116a", - licenses = ["notice"], - server_urls = maven_servers, +def junit_repositories( + maven_servers = _default_maven_server_urls(), + fetch_sources = True): + repositories( + for_artifact_ids = [ + "io_bazel_rules_scala_junit_junit", + "io_bazel_rules_scala_org_hamcrest_hamcrest_core", + ], + fetch_sources = fetch_sources, + maven_servers = maven_servers, ) + native.bind( name = "io_bazel_rules_scala/dependency/junit/junit", actual = "@io_bazel_rules_scala_junit_junit//jar", ) - - _scala_maven_import_external( - name = "io_bazel_rules_scala_org_hamcrest_hamcrest_core", - artifact = "org.hamcrest:hamcrest-core:1.3", - artifact_sha256 = "66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9", - licenses = ["notice"], - server_urls = maven_servers, - ) native.bind( name = "io_bazel_rules_scala/dependency/hamcrest/hamcrest_core", actual = "@io_bazel_rules_scala_org_hamcrest_hamcrest_core//jar", diff --git a/scala/private/macros/scala_repositories.bzl b/scala/private/macros/scala_repositories.bzl index 56d42497e..cb062fbcd 100644 --- a/scala/private/macros/scala_repositories.bzl +++ b/scala/private/macros/scala_repositories.bzl @@ -3,54 +3,8 @@ load( "@io_bazel_rules_scala//scala:scala_cross_version.bzl", _default_maven_server_urls = "default_maven_server_urls", _default_scala_version = "default_scala_version", - _default_scala_version_jar_shas = "default_scala_version_jar_shas", - _extract_major_version = "extract_major_version", - _new_scala_default_repository = "new_scala_default_repository", ) -load( - "@io_bazel_rules_scala//scala:scala_maven_import_external.bzl", - _scala_maven_import_external = "scala_maven_import_external", -) - -def _default_scala_extra_jars(): - return { - "2.11": { - "scalatest": { - "version": "3.0.5", - "sha256": "2aafeb41257912cbba95f9d747df9ecdc7ff43f039d35014b4c2a8eb7ed9ba2f", - }, - "scalactic": { - "version": "3.0.5", - "sha256": "84723064f5716f38990fe6e65468aa39700c725484efceef015771d267341cf2", - }, - "scala_xml": { - "version": "1.0.5", - "sha256": "767e11f33eddcd506980f0ff213f9d553a6a21802e3be1330345f62f7ee3d50f", - }, - "scala_parser_combinators": { - "version": "1.0.4", - "sha256": "0dfaafce29a9a245b0a9180ec2c1073d2bd8f0330f03a9f1f6a74d1bc83f62d6", - }, - }, - "2.12": { - "scalatest": { - "version": "3.0.5", - "sha256": "b416b5bcef6720da469a8d8a5726e457fc2d1cd5d316e1bc283aa75a2ae005e5", - }, - "scalactic": { - "version": "3.0.5", - "sha256": "57e25b4fd969b1758fe042595112c874dfea99dca5cc48eebe07ac38772a0c41", - }, - "scala_xml": { - "version": "1.0.5", - "sha256": "035015366f54f403d076d95f4529ce9eeaf544064dbc17c2d10e4f5908ef4256", - }, - "scala_parser_combinators": { - "version": "1.0.4", - "sha256": "282c78d064d3e8f09b3663190d9494b85e0bb7d96b0da05994fe994384d96111", - }, - }, - } +load("//third_party/repositories:repositories.bzl", "repositories") def rules_scala_setup(): if not native.existing_rule("com_google_protobuf"): @@ -116,73 +70,26 @@ def rules_scala_setup(): ) def scala_repositories( - scala_version_shas = ( - _default_scala_version(), - _default_scala_version_jar_shas(), - ), + scala_version = _default_scala_version(), maven_servers = _default_maven_server_urls(), - scala_extra_jars = _default_scala_extra_jars(), + overriden_artifacts = {}, fetch_sources = False): rules_scala_setup() - (scala_version, scala_version_jar_shas) = scala_version_shas - major_version = _extract_major_version(scala_version) - - _new_scala_default_repository( - maven_servers = maven_servers, - scala_version = scala_version, - scala_version_jar_shas = scala_version_jar_shas, - fetch_sources = fetch_sources, - ) - - scala_version_extra_jars = scala_extra_jars[major_version] - - _scala_maven_import_external( - name = "io_bazel_rules_scala_scalatest", - artifact = "org.scalatest:scalatest_{major_version}:{extra_jar_version}".format( - major_version = major_version, - extra_jar_version = scala_version_extra_jars["scalatest"]["version"], - ), - artifact_sha256 = scala_version_extra_jars["scalatest"]["sha256"], - licenses = ["notice"], - server_urls = maven_servers, - fetch_sources = fetch_sources, - ) - _scala_maven_import_external( - name = "io_bazel_rules_scala_scalactic", - artifact = "org.scalactic:scalactic_{major_version}:{extra_jar_version}".format( - major_version = major_version, - extra_jar_version = scala_version_extra_jars["scalactic"]["version"], - ), - artifact_sha256 = scala_version_extra_jars["scalactic"]["sha256"], - licenses = ["notice"], - server_urls = maven_servers, - fetch_sources = fetch_sources, - ) - - _scala_maven_import_external( - name = "io_bazel_rules_scala_scala_xml", - artifact = "org.scala-lang.modules:scala-xml_{major_version}:{extra_jar_version}".format( - major_version = major_version, - extra_jar_version = scala_version_extra_jars["scala_xml"]["version"], - ), - artifact_sha256 = scala_version_extra_jars["scala_xml"]["sha256"], - licenses = ["notice"], - server_urls = maven_servers, - fetch_sources = fetch_sources, - ) - - _scala_maven_import_external( - name = "io_bazel_rules_scala_scala_parser_combinators", - artifact = - "org.scala-lang.modules:scala-parser-combinators_{major_version}:{extra_jar_version}".format( - major_version = major_version, - extra_jar_version = scala_version_extra_jars["scala_parser_combinators"]["version"], - ), - artifact_sha256 = scala_version_extra_jars["scala_parser_combinators"]["sha256"], - licenses = ["notice"], - server_urls = maven_servers, + repositories( + for_artifact_ids = [ + "io_bazel_rules_scala_scala_library", + "io_bazel_rules_scala_scala_compiler", + "io_bazel_rules_scala_scala_reflect", + "io_bazel_rules_scala_scalatest", + "io_bazel_rules_scala_scalactic", + "io_bazel_rules_scala_scala_xml", + "io_bazel_rules_scala_scala_parser_combinators", + ], + maven_servers = _default_maven_server_urls(), fetch_sources = fetch_sources, + overriden_artifacts = overriden_artifacts, + scala_version = scala_version, ) native.bind( diff --git a/scala/scala_cross_version.bzl b/scala/scala_cross_version.bzl index 527135f74..fc922aa25 100644 --- a/scala/scala_cross_version.bzl +++ b/scala/scala_cross_version.bzl @@ -11,11 +11,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -load( - "@io_bazel_rules_scala//scala:scala_maven_import_external.bzl", - _scala_maven_import_external = "scala_maven_import_external", -) - """Helper functions for Scala cross-version support. Encapsulates the logic of abstracting over Scala major version (2.11, 2.12, etc) for dependency resolution.""" @@ -24,13 +19,6 @@ def default_scala_version(): """return the scala version for use in maven coordinates""" return "2.12.11" -def default_scala_version_jar_shas(): - return { - "scala_compiler": "e901937dbeeae1715b231a7cfcd547a10d5bbf0dfb9d52d2886eae18b4d62ab6", - "scala_library": "dbfe77a3fc7a16c0c7cb6cb2b91fecec5438f2803112a744cb1b187926a138be", - "scala_reflect": "5f9e156aeba45ef2c4d24b303405db259082739015190b3b334811843bd90d6a", - } - def default_maven_server_urls(): return [ "https://repo.maven.apache.org/maven2", @@ -60,33 +48,3 @@ def scala_mvn_artifact( artifactid = gav[1] version = gav[2] return "%s:%s_%s:%s" % (groupid, artifactid, major_scala_version, version) - -def new_scala_default_repository( - scala_version, - scala_version_jar_shas, - maven_servers, - fetch_sources): - _scala_maven_import_external( - name = "io_bazel_rules_scala_scala_library", - artifact = "org.scala-lang:scala-library:{}".format(scala_version), - artifact_sha256 = scala_version_jar_shas["scala_library"], - licenses = ["notice"], - server_urls = maven_servers, - fetch_sources = fetch_sources, - ) - _scala_maven_import_external( - name = "io_bazel_rules_scala_scala_compiler", - artifact = "org.scala-lang:scala-compiler:{}".format(scala_version), - artifact_sha256 = scala_version_jar_shas["scala_compiler"], - licenses = ["notice"], - server_urls = maven_servers, - fetch_sources = fetch_sources, - ) - _scala_maven_import_external( - name = "io_bazel_rules_scala_scala_reflect", - artifact = "org.scala-lang:scala-reflect:{}".format(scala_version), - artifact_sha256 = scala_version_jar_shas["scala_reflect"], - licenses = ["notice"], - server_urls = maven_servers, - fetch_sources = fetch_sources, - ) diff --git a/scala/scalafmt/scalafmt_repositories.bzl b/scala/scalafmt/scalafmt_repositories.bzl index dc7188a6a..eb4dbc6f0 100644 --- a/scala/scalafmt/scalafmt_repositories.bzl +++ b/scala/scalafmt/scalafmt_repositories.bzl @@ -2,13 +2,8 @@ load( "//scala:scala_cross_version.bzl", _default_maven_server_urls = "default_maven_server_urls", _default_scala_version = "default_scala_version", - _default_scala_version_jar_shas = "default_scala_version_jar_shas", - _extract_major_version = "extract_major_version", -) -load( - "@io_bazel_rules_scala//scala:scala_maven_import_external.bzl", - _scala_maven_import_external = "scala_maven_import_external", ) +load("//third_party/repositories:repositories.bzl", "repositories") def scalafmt_default_config(path = ".scalafmt.conf"): build = [] @@ -19,484 +14,37 @@ def scalafmt_default_config(path = ".scalafmt.conf"): build.append(")") native.new_local_repository(name = "scalafmt_default", build_file_content = "\n".join(build), path = "") -def _default_scala_extra_jars(): - return { - "2.11": { - "org_scalameta_common": { - "version": "4.3.0", - "sha256": "6330798bcbd78d14d371202749f32efda0465c3be5fd057a6055a67e21335ba0", - }, - "org_scalameta_fastparse": { - "version": "1.0.1", - "sha256": "49ecc30a4b47efc0038099da0c97515cf8f754ea631ea9f9935b36ca7d41b733", - }, - "org_scalameta_fastparse_utils": { - "version": "1.0.1", - "sha256": "93f58db540e53178a686621f7a9c401307a529b68e051e38804394a2a86cea94", - }, - "org_scala_lang_modules_scala_collection_compat": { - "version": "2.1.2", - "sha256": "e9667b8b7276aeb42599f536fe4d7caab06eabc55e9995572267ad60c7a11c8b", - }, - "org_scalameta_parsers": { - "version": "4.3.0", - "sha256": "724382abfac27b32dec6c21210562bc7e1b09b5268ccb704abe66dcc8844beeb", - }, - "org_scalameta_scalafmt_core": { - "version": "2.3.2", - "sha256": "6bf391e0e1d7369fda83ddaf7be4d267bf4cbccdf2cc31ff941999a78c30e67f", - }, - "org_scalameta_scalameta": { - "version": "4.3.0", - "sha256": "94fe739295447cd3ae877c279ccde1def06baea02d9c76a504dda23de1d90516", - }, - "org_scalameta_trees": { - "version": "4.3.0", - "sha256": "d24d5d63d8deafe646d455c822593a66adc6fdf17c8373754a3834a6e92a8a72", - }, - "org_typelevel_paiges_core": { - "version": "0.2.4", - "sha256": "aa66fbe0457ca5cb5b9e522d4cb873623bb376a2e1ff58c464b5194c1d87c241", - }, - "org_scala_lang_scalap": { - "version": "2.11.12", - "sha256": "a6dd7203ce4af9d6185023d5dba9993eb8e80584ff4b1f6dec574a2aba4cd2b7", - }, - "com_thesamet_scalapb_lenses": { - "version": "0.9.0", - "sha256": "f4809760edee6abc97a7fe9b7fd6ae5fe1006795b1dc3963ab4e317a72f1a385", - }, - "com_thesamet_scalapb_scalapb_runtime": { - "version": "0.9.0", - "sha256": "ab1e449a18a9ce411eb3fec31bdbca5dd5fae4475b1557bb5e235a7b54738757", - }, - "com_lihaoyi_fansi": { - "version": "0.2.5", - "sha256": "1ff0a8304f322c1442e6bcf28fab07abf3cf560dd24573dbe671249aee5fc488", - }, - "com_lihaoyi_fastparse": { - "version": "2.1.2", - "sha256": "5c5d81f90ada03ac5b21b161864a52558133951031ee5f6bf4d979e8baa03628", - }, - "com_lihaoyi_pprint": { - "version": "0.5.3", - "sha256": "fb5e4921e7dff734d049e752a482d3a031380d3eea5caa76c991312dee9e6991", - }, - "com_lihaoyi_sourcecode": { - "version": "0.1.7", - "sha256": "33516d7fd9411f74f05acfd5274e1b1889b7841d1993736118803fc727b2d5fc", - }, - "com_geirsson_metaconfig_core": { - "version": "0.9.4", - "sha256": "5d5704a1f1c4f74aed26248eeb9b577274d570b167cec0bf51d2908609c29118", - }, - "com_geirsson_metaconfig_typesafe_config": { - "version": "0.9.4", - "sha256": "52d2913640f4592402aeb2f0cec5004893d02acf26df4aa1cf8d4dcb0d2b21c7", - }, - }, - "2.12": { - "org_scalameta_common": { - "version": "4.3.0", - "sha256": "3bdb2ff71d3e86f94b4d31d2c40442f533655860749a92fd17e1f29b8deb8baa", - }, - "org_scalameta_fastparse": { - "version": "1.0.1", - "sha256": "387ced762e93915c5f87fed59d8453e404273f49f812d413405696ce20273aa5", - }, - "org_scalameta_fastparse_utils": { - "version": "1.0.1", - "sha256": "9d8ad97778ef9aedef5d4190879ed0ec54969e2fc951576fe18746ae6ce6cfcf", - }, - "org_scala_lang_modules_scala_collection_compat": { - "version": "2.1.2", - "sha256": "8aab3e1f9dd7bc392a2e27cf168af94fdc7cc2752131fc852192302fb21efdb4", - }, - "org_scalameta_parsers": { - "version": "4.3.0", - "sha256": "d9f87d03b6b5e942f263db6dab75937493bfcb0fe7cfe2cda6567bf30f23ff3a", - }, - "org_scalameta_scalafmt_core": { - "version": "2.3.2", - "sha256": "4788e2045e99f4624162d3182016a05032a7ab1324c4a28af433aa070f916773", - }, - "org_scalameta_scalameta": { - "version": "4.3.0", - "sha256": "4d9487b434cbe9d89033824a4fc902dc7c782eea94961e8575df91ae96b10d6a", - }, - "org_scalameta_trees": { - "version": "4.3.0", - "sha256": "020b53681dd8e148d74ffa282276994bcb0f06c3425fb9a4bb9f8d161e22187a", - }, - "org_typelevel_paiges_core": { - "version": "0.2.4", - "sha256": "594ca130526023e80549484e45400d09810fa39d9fd6b4663830a00be2a8556a", - }, - "org_scala_lang_scalap": { - "version": "2.12.10", - "sha256": "4641b0a55fe1ebec995b4daea9183c21651c03f77d2ed08b345507474eeabe72", - }, - "com_thesamet_scalapb_lenses": { - "version": "0.9.0", - "sha256": "0a2fff4de17d270cea561618090c21d50bc891d82c6f9dfccdc20568f18d0260", - }, - "com_thesamet_scalapb_scalapb_runtime": { - "version": "0.9.0", - "sha256": "b905fa66b3fd0fabf3114105cd73ae2bdddbb6e13188a6538a92ae695e7ad6ed", - }, - "com_lihaoyi_fansi": { - "version": "0.2.5", - "sha256": "7d752240ec724e7370903c25b69088922fa3fb6831365db845cd72498f826eca", - }, - "com_lihaoyi_fastparse": { - "version": "2.1.2", - "sha256": "92a98f89c4f9559715124599ee5ce8f0d36ee326f5c7ef88b51487de39a3602e", - }, - "com_lihaoyi_pprint": { - "version": "0.5.3", - "sha256": "2e18aa0884870537bf5c562255fc759d4ebe360882b5cb2141b30eda4034c71d", - }, - "com_lihaoyi_sourcecode": { - "version": "0.1.7", - "sha256": "f07d79f0751ac275cc09b92caf3618f0118d153da7868b8f0c9397ce93c5f926", - }, - "com_geirsson_metaconfig_core": { - "version": "0.9.4", - "sha256": "970b3d74fc9b2982d9fb31d93f460000b41fff21c0b9d9ef9476ed333a010b2a", - }, - "com_geirsson_metaconfig_typesafe_config": { - "version": "0.9.4", - "sha256": "3165f30a85d91de7f8ba714e685a6b822bd1cbb365946f5d708163725df3ef5d", - }, - }, - } - def scalafmt_repositories( - scala_version_shas = ( - _default_scala_version(), - _default_scala_version_jar_shas(), - ), + scala_version = _default_scala_version(), maven_servers = _default_maven_server_urls(), - scala_extra_jars = _default_scala_extra_jars()): - (scala_version, scala_version_jar_shas) = scala_version_shas - major_version = _extract_major_version(scala_version) - - scala_version_extra_jars = scala_extra_jars[major_version] - - _scala_maven_import_external( - name = "org_scalameta_common", - artifact = "org.scalameta:common_{major_version}:{extra_jar_version}".format( - major_version = major_version, - extra_jar_version = scala_version_extra_jars["org_scalameta_common"]["version"], - ), - artifact_sha256 = scala_version_extra_jars["org_scalameta_common"]["sha256"], - fetch_sources = True, - licenses = ["notice"], # Apache 2.0 - deps = [ - "@com_lihaoyi_sourcecode", - "//external:io_bazel_rules_scala/dependency/scala/scala_library", - ], - server_urls = maven_servers, - ) - - _scala_maven_import_external( - name = "org_scalameta_fastparse", - artifact = "org.scalameta:fastparse_{major_version}:{extra_jar_version}".format( - major_version = major_version, - extra_jar_version = scala_version_extra_jars["org_scalameta_fastparse"]["version"], - ), - artifact_sha256 = scala_version_extra_jars["org_scalameta_fastparse"]["sha256"], - fetch_sources = True, - licenses = ["notice"], # Apache 2.0 - deps = [ - "@com_lihaoyi_sourcecode", - "//external:io_bazel_rules_scala/dependency/scala/scala_library", - "@org_scalameta_fastparse_utils", - ], - server_urls = maven_servers, - ) - - _scala_maven_import_external( - name = "org_scalameta_fastparse_utils", - artifact = "org.scalameta:fastparse-utils_{major_version}:{extra_jar_version}".format( - major_version = major_version, - extra_jar_version = scala_version_extra_jars["org_scalameta_fastparse_utils"]["version"], - ), - artifact_sha256 = scala_version_extra_jars["org_scalameta_fastparse_utils"]["sha256"], - fetch_sources = True, - licenses = ["notice"], # Apache 2.0 - deps = [ - "@com_lihaoyi_sourcecode", - "//external:io_bazel_rules_scala/dependency/scala/scala_library", - ], - server_urls = maven_servers, - ) - - _scala_maven_import_external( - name = "org_scala_lang_modules_scala_collection_compat", - artifact = "org.scala-lang.modules:scala-collection-compat_{major_version}:{extra_jar_version}".format( - major_version = major_version, - extra_jar_version = scala_version_extra_jars["org_scala_lang_modules_scala_collection_compat"]["version"], - ), - artifact_sha256 = scala_version_extra_jars["org_scala_lang_modules_scala_collection_compat"]["sha256"], - fetch_sources = True, - licenses = ["notice"], # Apache 2.0 - deps = [ - "//external:io_bazel_rules_scala/dependency/scala/scala_library", - ], - server_urls = maven_servers, - ) - - _scala_maven_import_external( - name = "org_scalameta_parsers", - artifact = "org.scalameta:parsers_{major_version}:{extra_jar_version}".format( - major_version = major_version, - extra_jar_version = scala_version_extra_jars["org_scalameta_parsers"]["version"], - ), - artifact_sha256 = scala_version_extra_jars["org_scalameta_parsers"]["sha256"], - fetch_sources = True, - licenses = ["notice"], # Apache 2.0 - deps = [ - "//external:io_bazel_rules_scala/dependency/scala/scala_library", - "@org_scalameta_trees", - ], - server_urls = maven_servers, - ) - - _scala_maven_import_external( - name = "org_scalameta_scalafmt_core", - artifact = "org.scalameta:scalafmt-core_{major_version}:{extra_jar_version}".format( - major_version = major_version, - extra_jar_version = scala_version_extra_jars["org_scalameta_scalafmt_core"]["version"], - ), - artifact_sha256 = scala_version_extra_jars["org_scalameta_scalafmt_core"]["sha256"], - fetch_sources = True, - licenses = ["notice"], # Apache 2.0 - deps = [ - "@com_geirsson_metaconfig_core", - "@com_geirsson_metaconfig_typesafe_config", - "//external:io_bazel_rules_scala/dependency/scala/scala_library", - "//external:io_bazel_rules_scala/dependency/scala/scala_reflect", - "@org_scalameta_scalameta", - "@org_scala_lang_modules_scala_collection_compat", - ], - server_urls = maven_servers, - ) - - _scala_maven_import_external( - name = "org_scalameta_scalameta", - artifact = "org.scalameta:scalameta_{major_version}:{extra_jar_version}".format( - major_version = major_version, - extra_jar_version = scala_version_extra_jars["org_scalameta_scalameta"]["version"], - ), - artifact_sha256 = scala_version_extra_jars["org_scalameta_scalameta"]["sha256"], - fetch_sources = True, - licenses = ["notice"], # Apache 2.0 - deps = [ - "//external:io_bazel_rules_scala/dependency/scala/scala_library", - "@org_scala_lang_scalap", - "@org_scalameta_parsers", - ], - server_urls = maven_servers, - ) - - _scala_maven_import_external( - name = "org_scalameta_trees", - artifact = "org.scalameta:trees_{major_version}:{extra_jar_version}".format( - major_version = major_version, - extra_jar_version = scala_version_extra_jars["org_scalameta_trees"]["version"], - ), - artifact_sha256 = scala_version_extra_jars["org_scalameta_trees"]["sha256"], - fetch_sources = True, - licenses = ["notice"], # Apache 2.0 - deps = [ - "@com_thesamet_scalapb_scalapb_runtime", - "//external:io_bazel_rules_scala/dependency/scala/scala_library", - "@org_scalameta_common", - "@org_scalameta_fastparse", - ], - server_urls = maven_servers, - ) - - _scala_maven_import_external( - name = "org_typelevel_paiges_core", - artifact = "org.typelevel:paiges-core_{major_version}:{extra_jar_version}".format( - major_version = major_version, - extra_jar_version = scala_version_extra_jars["org_typelevel_paiges_core"]["version"], - ), - artifact_sha256 = scala_version_extra_jars["org_typelevel_paiges_core"]["sha256"], - fetch_sources = True, - licenses = ["notice"], # Apache 2.0 - deps = [ - "//external:io_bazel_rules_scala/dependency/scala/scala_library", - ], - server_urls = maven_servers, - ) - - _scala_maven_import_external( - name = "com_typesafe_config", - artifact = "com.typesafe:config:1.3.3", - artifact_sha256 = "b5f1d6071f1548d05be82f59f9039c7d37a1787bd8e3c677e31ee275af4a4621", - srcjar_sha256 = "fcd7c3070417c776b313cc559665c035d74e3a2b40a89bbb0e9bff6e567c9cc8", - fetch_sources = True, - licenses = ["notice"], # Apache 2.0 - server_urls = maven_servers, - ) - - _scala_maven_import_external( - name = "org_scala_lang_scalap", - artifact = "org.scala-lang:scalap:{extra_jar_version}".format( - extra_jar_version = scala_version_extra_jars["org_scala_lang_scalap"]["version"], - ), - artifact_sha256 = scala_version_extra_jars["org_scala_lang_scalap"]["sha256"], - fetch_sources = True, - licenses = ["notice"], # Apache 2.0 - deps = [ - "@io_bazel_rules_scala_scala_compiler", - ], - server_urls = maven_servers, - ) - - _scala_maven_import_external( - name = "com_thesamet_scalapb_lenses", - artifact = "com.thesamet.scalapb:lenses_{major_version}:{extra_jar_version}".format( - major_version = major_version, - extra_jar_version = scala_version_extra_jars["com_thesamet_scalapb_lenses"]["version"], - ), - artifact_sha256 = scala_version_extra_jars["com_thesamet_scalapb_lenses"]["sha256"], - fetch_sources = True, - licenses = ["notice"], # Apache 2.0 - deps = [ - "//external:io_bazel_rules_scala/dependency/scala/scala_library", - ], - server_urls = maven_servers, - ) - - _scala_maven_import_external( - name = "com_thesamet_scalapb_scalapb_runtime", - artifact = "com.thesamet.scalapb:scalapb-runtime_{major_version}:{extra_jar_version}".format( - major_version = major_version, - extra_jar_version = scala_version_extra_jars["com_thesamet_scalapb_scalapb_runtime"]["version"], - ), - artifact_sha256 = scala_version_extra_jars["com_thesamet_scalapb_scalapb_runtime"]["sha256"], - fetch_sources = True, - licenses = ["notice"], # Apache 2.0 - deps = [ - "@com_google_protobuf_protobuf_java", - "@com_lihaoyi_fastparse", - "@com_thesamet_scalapb_lenses", - "//external:io_bazel_rules_scala/dependency/scala/scala_library", - ], - server_urls = maven_servers, - ) - - _scala_maven_import_external( - name = "com_lihaoyi_fansi", - artifact = "com.lihaoyi:fansi_{major_version}:{extra_jar_version}".format( - major_version = major_version, - extra_jar_version = scala_version_extra_jars["com_lihaoyi_fansi"]["version"], - ), - artifact_sha256 = scala_version_extra_jars["com_lihaoyi_fansi"]["sha256"], - fetch_sources = True, - licenses = ["notice"], # Apache 2.0 - deps = [ - "@com_lihaoyi_sourcecode", - "//external:io_bazel_rules_scala/dependency/scala/scala_library", - ], - server_urls = maven_servers, - ) - - _scala_maven_import_external( - name = "com_lihaoyi_fastparse", - artifact = "com.lihaoyi:fastparse_{major_version}:{extra_jar_version}".format( - major_version = major_version, - extra_jar_version = scala_version_extra_jars["com_lihaoyi_fastparse"]["version"], - ), - artifact_sha256 = scala_version_extra_jars["com_lihaoyi_fastparse"]["sha256"], - fetch_sources = True, - licenses = ["notice"], # Apache 2.0 - deps = [ - "@com_lihaoyi_sourcecode", - ], - server_urls = maven_servers, + overriden_artifacts = {}): + repositories( + for_artifact_ids = [ + "org_scalameta_common", + "org_scalameta_fastparse", + "org_scalameta_fastparse_utils", + "org_scalameta_parsers", + "org_scalameta_scalafmt_core", + "org_scalameta_scalameta", + "org_scalameta_trees", + "org_typelevel_paiges_core", + "com_typesafe_config", + "org_scala_lang_scalap", + "com_thesamet_scalapb_lenses", + "com_thesamet_scalapb_scalapb_runtime", + "com_lihaoyi_fansi", + "com_lihaoyi_fastparse", + "org_scalameta_fastparse_utils", + "org_scala_lang_modules_scala_collection_compat", + "com_lihaoyi_pprint", + "com_lihaoyi_sourcecode", + "com_google_protobuf_protobuf_java", + "com_geirsson_metaconfig_core", + "com_geirsson_metaconfig_typesafe_config", + ], + maven_servers = maven_servers, + fetch_sources = True, + overriden_artifacts = overriden_artifacts, + scala_version = scala_version, ) - - _scala_maven_import_external( - name = "com_lihaoyi_pprint", - artifact = "com.lihaoyi:pprint_{major_version}:{extra_jar_version}".format( - major_version = major_version, - extra_jar_version = scala_version_extra_jars["com_lihaoyi_pprint"]["version"], - ), - artifact_sha256 = scala_version_extra_jars["com_lihaoyi_pprint"]["sha256"], - fetch_sources = True, - licenses = ["notice"], # Apache 2.0 - deps = [ - "@com_lihaoyi_fansi", - "@com_lihaoyi_sourcecode", - "//external:io_bazel_rules_scala/dependency/scala/scala_library", - ], - server_urls = maven_servers, - ) - - _scala_maven_import_external( - name = "com_lihaoyi_sourcecode", - artifact = "com.lihaoyi:sourcecode_{major_version}:{extra_jar_version}".format( - major_version = major_version, - extra_jar_version = scala_version_extra_jars["com_lihaoyi_sourcecode"]["version"], - ), - artifact_sha256 = scala_version_extra_jars["com_lihaoyi_sourcecode"]["sha256"], - fetch_sources = True, - licenses = ["notice"], # Apache 2.0 - deps = [ - "//external:io_bazel_rules_scala/dependency/scala/scala_library", - ], - server_urls = maven_servers, - ) - - _scala_maven_import_external( - name = "com_google_protobuf_protobuf_java", - artifact = "com.google.protobuf:protobuf-java:3.10.0", - artifact_sha256 = "161d7d61a8cb3970891c299578702fd079646e032329d6c2cabf998d191437c9", - srcjar_sha256 = "47012b36fcd7c4325e07a3a3b43c72e1b2d7a7d79d8e2605f2327b1e81348133", - fetch_sources = True, - licenses = ["notice"], # Apache 2.0 - server_urls = maven_servers, - ) - - _scala_maven_import_external( - name = "com_geirsson_metaconfig_core", - artifact = "com.geirsson:metaconfig-core_{major_version}:{extra_jar_version}".format( - major_version = major_version, - extra_jar_version = scala_version_extra_jars["com_geirsson_metaconfig_core"]["version"], - ), - artifact_sha256 = scala_version_extra_jars["com_geirsson_metaconfig_core"]["sha256"], - fetch_sources = True, - licenses = ["notice"], # Apache 2.0 - deps = [ - "@com_lihaoyi_pprint", - "//external:io_bazel_rules_scala/dependency/scala/scala_library", - "@org_typelevel_paiges_core", - "@org_scala_lang_modules_scala_collection_compat", - ], - server_urls = maven_servers, - ) - - _scala_maven_import_external( - name = "com_geirsson_metaconfig_typesafe_config", - artifact = "com.geirsson:metaconfig-typesafe-config_{major_version}:{extra_jar_version}".format( - major_version = major_version, - extra_jar_version = scala_version_extra_jars["com_geirsson_metaconfig_typesafe_config"]["version"], - ), - artifact_sha256 = scala_version_extra_jars["com_geirsson_metaconfig_typesafe_config"]["sha256"], - fetch_sources = True, - licenses = ["notice"], # Apache 2.0 - deps = [ - "@com_geirsson_metaconfig_core", - "@com_typesafe_config", - "//external:io_bazel_rules_scala/dependency/scala/scala_library", - "@org_scala_lang_modules_scala_collection_compat", - ], - server_urls = maven_servers, - ) - native.register_toolchains("@io_bazel_rules_scala//scala/scalafmt:scalafmt_toolchain") diff --git a/scala_proto/private/scala_proto_default_repositories.bzl b/scala_proto/private/scala_proto_default_repositories.bzl index 3c0930582..e71f4fa65 100644 --- a/scala_proto/private/scala_proto_default_repositories.bzl +++ b/scala_proto/private/scala_proto_default_repositories.bzl @@ -2,49 +2,51 @@ load( "//scala:scala_cross_version.bzl", _default_maven_server_urls = "default_maven_server_urls", _default_scala_version = "default_scala_version", - _extract_major_version = "extract_major_version", _scala_mvn_artifact = "scala_mvn_artifact", ) -load( - "@io_bazel_rules_scala//scala:scala_maven_import_external.bzl", - _scala_maven_import_external = "scala_maven_import_external", -) +load("//third_party/repositories:repositories.bzl", "repositories") def scala_proto_default_repositories( scala_version = _default_scala_version(), - maven_servers = _default_maven_server_urls()): - major_version = _extract_major_version(scala_version) - - scala_jar_shas = { - "2.11": { - "scalapb_plugin": "2d6793fa2565953ef2b5094fc37fae4933f3c42e4cb4048d54e7f358ec104a87", - "protoc_bridge": "314e34bf331b10758ff7a780560c8b5a5b09e057695a643e33ab548e3d94aa03", - "scalapb_runtime": "5131033e9536727891a38004ec707a93af1166cb8283c7db711c2c105fbf289e", - "scalapb_runtime_grpc": "24d19df500ce6450d8f7aa72a9bad675fa4f3650f7736d548aa714058f887e23", - "scalapb_lenses": "f8e3b526ceac998652b296014e9ab4c0ab906a40837dd1dfcf6948b6f5a1a8bf", - "scalapb_fastparse": "5c5d81f90ada03ac5b21b161864a52558133951031ee5f6bf4d979e8baa03628", - }, - "2.12": { - "scalapb_plugin": "516ed567e2c3ac28b91a2f350d3febc7a6a396978718145f536853ffe8de40c2", - "protoc_bridge": "2b8db0b71be5052768a96ccc41c9bb03f3f19e1e267e810a64963566538b1a2b", - "scalapb_runtime": "82624a7fadaa323bbb8d33e37f055ce42e761c203573ace3ccf95bd0511917fe", - "scalapb_runtime_grpc": "4c00f2a57cc1d00a2d454f695c3f1e565173e1d1297294f1cf81339bdeba3f4a", - "scalapb_lenses": "fff4fc9d47ad44c1371ff2d8dfa2b5907826c4b98ca576baf67f14d31d0d9be1", - "scalapb_fastparse": "e8b831a843c0eb5105d42e4b6febfc772b3aed3a853a899e6c8196e9ecc057df", - }, - } - - scala_version_jar_shas = scala_jar_shas[major_version] - - _scala_maven_import_external( - name = "scala_proto_rules_scalapb_plugin", - artifact = _scala_mvn_artifact( - "com.thesamet.scalapb:compilerplugin:0.9.7", - major_version, - ), - artifact_sha256 = scala_version_jar_shas["scalapb_plugin"], - licenses = ["notice"], - server_urls = maven_servers, + maven_servers = _default_maven_server_urls(), + overriden_artifacts = {}): + repositories( + for_artifact_ids = [ + "scala_proto_rules_scalapb_plugin", + "scala_proto_rules_protoc_bridge", + "scala_proto_rules_scalapb_runtime", + "scala_proto_rules_scalapb_runtime_grpc", + "scala_proto_rules_scalapb_lenses", + "scala_proto_rules_scalapb_fastparse", + "scala_proto_rules_grpc_core", + "scala_proto_rules_grpc_api", + "scala_proto_rules_grpc_stub", + "scala_proto_rules_grpc_protobuf", + "scala_proto_rules_grpc_netty", + "scala_proto_rules_grpc_context", + "scala_proto_rules_perfmark_api", + "scala_proto_rules_guava", + "scala_proto_rules_google_instrumentation", + "scala_proto_rules_netty_codec", + "scala_proto_rules_netty_codec_http", + "scala_proto_rules_netty_codec_socks", + "scala_proto_rules_netty_codec_http2", + "scala_proto_rules_netty_handler", + "scala_proto_rules_netty_buffer", + "scala_proto_rules_netty_transport", + "scala_proto_rules_netty_resolver", + "scala_proto_rules_netty_common", + "scala_proto_rules_netty_handler_proxy", + "scala_proto_rules_opencensus_api", + "scala_proto_rules_opencensus_impl", + "scala_proto_rules_disruptor", + "scala_proto_rules_opencensus_impl_core", + "scala_proto_rules_opencensus_contrib_grpc_metrics", + ], + scala_version = scala_version, + maven_servers = maven_servers, + fetch_sources = True, + overriden_artifacts = overriden_artifacts, ) native.bind( @@ -52,392 +54,146 @@ def scala_proto_default_repositories( actual = "@scala_proto_rules_scalapb_plugin", ) - _scala_maven_import_external( - name = "scala_proto_rules_protoc_bridge", - artifact = _scala_mvn_artifact( - "com.thesamet.scalapb:protoc-bridge:0.7.14", - major_version, - ), - artifact_sha256 = scala_version_jar_shas["protoc_bridge"], - licenses = ["notice"], - server_urls = maven_servers, - ) - native.bind( name = "io_bazel_rules_scala/dependency/proto/protoc_bridge", actual = "@scala_proto_rules_protoc_bridge", ) - _scala_maven_import_external( - name = "scala_proto_rules_scalapb_runtime", - artifact = _scala_mvn_artifact( - "com.thesamet.scalapb:scalapb-runtime:0.9.7", - major_version, - ), - artifact_sha256 = scala_version_jar_shas["scalapb_runtime"], - licenses = ["notice"], - server_urls = maven_servers, - ) native.bind( name = "io_bazel_rules_scala/dependency/proto/scalapb_runtime", actual = "@scala_proto_rules_scalapb_runtime", ) - _scala_maven_import_external( - name = "scala_proto_rules_scalapb_runtime_grpc", - artifact = _scala_mvn_artifact( - "com.thesamet.scalapb:scalapb-runtime-grpc:0.9.7", - major_version, - ), - artifact_sha256 = scala_version_jar_shas["scalapb_runtime_grpc"], - licenses = ["notice"], - server_urls = maven_servers, - ) native.bind( name = "io_bazel_rules_scala/dependency/proto/scalapb_runtime_grpc", actual = "@scala_proto_rules_scalapb_runtime_grpc", ) - _scala_maven_import_external( - name = "scala_proto_rules_scalapb_lenses", - artifact = _scala_mvn_artifact( - "com.thesamet.scalapb:lenses:0.9.7", - major_version, - ), - artifact_sha256 = scala_version_jar_shas["scalapb_lenses"], - licenses = ["notice"], - server_urls = maven_servers, - ) native.bind( name = "io_bazel_rules_scala/dependency/proto/scalapb_lenses", actual = "@scala_proto_rules_scalapb_lenses", ) - _scala_maven_import_external( - name = "scala_proto_rules_scalapb_fastparse", - artifact = _scala_mvn_artifact( - "com.lihaoyi:fastparse:" + ("2.1.2" if int(scala_version.split(".")[1]) < 12 else "2.1.3"), - major_version, - ), - artifact_sha256 = scala_version_jar_shas["scalapb_fastparse"], - licenses = ["notice"], - server_urls = maven_servers, - ) - native.bind( name = "io_bazel_rules_scala/dependency/proto/scalapb_fastparse", actual = "@scala_proto_rules_scalapb_fastparse", ) - _scala_maven_import_external( - name = "scala_proto_rules_grpc_core", - artifact = "io.grpc:grpc-core:1.24.0", - artifact_sha256 = "8fc900625a9330b1c155b5423844d21be0a5574fe218a63170a16796c6f7880e", - licenses = ["notice"], - server_urls = maven_servers, - ) - native.bind( name = "io_bazel_rules_scala/dependency/proto/grpc_core", actual = "@scala_proto_rules_grpc_core//jar", ) - _scala_maven_import_external( - name = "scala_proto_rules_grpc_api", - artifact = "io.grpc:grpc-api:1.24.0", - artifact_sha256 = "553978366e04ee8ddba64afde3b3cf2ac021a2f3c2db2831b6491d742b558598", - licenses = ["notice"], - server_urls = maven_servers, - ) - native.bind( name = "io_bazel_rules_scala/dependency/proto/grpc_api", actual = "@scala_proto_rules_grpc_api//jar", ) - _scala_maven_import_external( - name = "scala_proto_rules_grpc_stub", - artifact = "io.grpc:grpc-stub:1.24.0", - artifact_sha256 = "eaa9201896a77a0822e26621b538c7154f00441a51c9b14dc9e1ec1f2acfb815", - licenses = ["notice"], - server_urls = maven_servers, - ) - native.bind( name = "io_bazel_rules_scala/dependency/proto/grpc_stub", actual = "@scala_proto_rules_grpc_stub//jar", ) - _scala_maven_import_external( - name = "scala_proto_rules_grpc_protobuf", - artifact = "io.grpc:grpc-protobuf:1.24.0", - artifact_sha256 = "88cd0838ea32893d92cb214ea58908351854ed8de7730be07d5f7d19025dd0bc", - licenses = ["notice"], - server_urls = maven_servers, - ) - native.bind( name = "io_bazel_rules_scala/dependency/proto/grpc_protobuf", actual = "@scala_proto_rules_grpc_protobuf//jar", ) - _scala_maven_import_external( - name = "scala_proto_rules_grpc_netty", - artifact = "io.grpc:grpc-netty:1.24.0", - artifact_sha256 = "8478333706ba442a354c2ddb8832d80a5aef71016e8a9cf07e7bf6e8c298f042", - licenses = ["notice"], - server_urls = maven_servers, - ) - native.bind( name = "io_bazel_rules_scala/dependency/proto/grpc_netty", actual = "@scala_proto_rules_grpc_netty//jar", ) - _scala_maven_import_external( - name = "scala_proto_rules_grpc_context", - artifact = "io.grpc:grpc-context:1.24.0", - artifact_sha256 = "1f0546e18789f7445d1c5a157010a11bc038bbb31544cdb60d9da3848efcfeea", - licenses = ["notice"], - server_urls = maven_servers, - ) - native.bind( name = "io_bazel_rules_scala/dependency/proto/grpc_context", actual = "@scala_proto_rules_grpc_context//jar", ) - _scala_maven_import_external( - name = "scala_proto_rules_perfmark_api", - artifact = "io.perfmark:perfmark-api:0.17.0", - artifact_sha256 = "816c11409b8a0c6c9ce1cda14bed526e7b4da0e772da67c5b7b88eefd41520f9", - licenses = ["notice"], - server_urls = maven_servers, - ) - native.bind( name = "io_bazel_rules_scala/dependency/proto/perfmark_api", actual = "@scala_proto_rules_perfmark_api//jar", ) - _scala_maven_import_external( - name = "scala_proto_rules_guava", - # io.grpc:grpc-api:1.24.0 defines a dependency on guava 26.0-android - # see https://search.maven.org/artifact/io.grpc/grpc-api/1.24.0/jar - artifact = "com.google.guava:guava:26.0-android", - artifact_sha256 = "1d044ebb866ef08b7d04e998b4260c9b52fab6e6d6b68d207859486bb3686cd5", - licenses = ["notice"], - server_urls = maven_servers, - ) - native.bind( name = "io_bazel_rules_scala/dependency/proto/guava", actual = "@scala_proto_rules_guava//jar", ) - _scala_maven_import_external( - name = "scala_proto_rules_google_instrumentation", - artifact = "com.google.instrumentation:instrumentation-api:0.3.0", - artifact_sha256 = "671f7147487877f606af2c7e39399c8d178c492982827305d3b1c7f5b04f1145", - licenses = ["notice"], - server_urls = maven_servers, - ) - native.bind( name = "io_bazel_rules_scala/dependency/proto/google_instrumentation", actual = "@scala_proto_rules_google_instrumentation//jar", ) - _scala_maven_import_external( - name = "scala_proto_rules_netty_codec", - artifact = "io.netty:netty-codec:4.1.32.Final", - artifact_sha256 = "dbd6cea7d7bf5a2604e87337cb67c9468730d599be56511ed0979aacb309f879", - licenses = ["notice"], - server_urls = maven_servers, - ) - native.bind( name = "io_bazel_rules_scala/dependency/proto/netty_codec", actual = "@scala_proto_rules_netty_codec//jar", ) - _scala_maven_import_external( - name = "scala_proto_rules_netty_codec_http", - artifact = "io.netty:netty-codec-http:4.1.32.Final", - artifact_sha256 = "db2c22744f6a4950d1817e4e1a26692e53052c5d54abe6cceecd7df33f4eaac3", - licenses = ["notice"], - server_urls = maven_servers, - ) - native.bind( name = "io_bazel_rules_scala/dependency/proto/netty_codec_http", actual = "@scala_proto_rules_netty_codec_http//jar", ) - _scala_maven_import_external( - name = "scala_proto_rules_netty_codec_socks", - artifact = "io.netty:netty-codec-socks:4.1.32.Final", - artifact_sha256 = "fe2f2e97d6c65dc280623dcfd24337d8a5c7377049c120842f2c59fb83d7408a", - licenses = ["notice"], - server_urls = maven_servers, - ) - native.bind( name = "io_bazel_rules_scala/dependency/proto/netty_codec_socks", actual = "@scala_proto_rules_netty_codec_socks//jar", ) - _scala_maven_import_external( - name = "scala_proto_rules_netty_codec_http2", - artifact = "io.netty:netty-codec-http2:4.1.32.Final", - artifact_sha256 = "4d4c6cfc1f19efb969b9b0ae6cc977462d202867f7dcfee6e9069977e623a2f5", - licenses = ["notice"], - server_urls = maven_servers, - ) - native.bind( name = "io_bazel_rules_scala/dependency/proto/netty_codec_http2", actual = "@scala_proto_rules_netty_codec_http2//jar", ) - _scala_maven_import_external( - name = "scala_proto_rules_netty_handler", - artifact = "io.netty:netty-handler:4.1.32.Final", - artifact_sha256 = "07d9756e48b5f6edc756e33e8b848fb27ff0b1ae087dab5addca6c6bf17cac2d", - licenses = ["notice"], - server_urls = maven_servers, - ) - native.bind( name = "io_bazel_rules_scala/dependency/proto/netty_handler", actual = "@scala_proto_rules_netty_handler//jar", ) - _scala_maven_import_external( - name = "scala_proto_rules_netty_buffer", - artifact = "io.netty:netty-buffer:4.1.32.Final", - artifact_sha256 = "8ac0e30048636bd79ae205c4f9f5d7544290abd3a7ed39d8b6d97dfe3795afc1", - licenses = ["notice"], - server_urls = maven_servers, - ) - native.bind( name = "io_bazel_rules_scala/dependency/proto/netty_buffer", actual = "@scala_proto_rules_netty_buffer//jar", ) - _scala_maven_import_external( - name = "scala_proto_rules_netty_transport", - artifact = "io.netty:netty-transport:4.1.32.Final", - artifact_sha256 = "175bae0d227d7932c0c965c983efbb3cf01f39abe934f5c4071d0319784715fb", - licenses = ["notice"], - server_urls = maven_servers, - ) - native.bind( name = "io_bazel_rules_scala/dependency/proto/netty_transport", actual = "@scala_proto_rules_netty_transport//jar", ) - _scala_maven_import_external( - name = "scala_proto_rules_netty_resolver", - artifact = "io.netty:netty-resolver:4.1.32.Final", - artifact_sha256 = "9b4a19982047a95ea4791a7ad7ad385c7a08c2ac75f0a3509cc213cb32a726ae", - licenses = ["notice"], - server_urls = maven_servers, - ) - native.bind( name = "io_bazel_rules_scala/dependency/proto/netty_resolver", actual = "@scala_proto_rules_netty_resolver//jar", ) - _scala_maven_import_external( - name = "scala_proto_rules_netty_common", - artifact = "io.netty:netty-common:4.1.32.Final", - artifact_sha256 = "cc993e660f8f8e3b033f1d25a9e2f70151666bdf878d460a6508cb23daa696dc", - licenses = ["notice"], - server_urls = maven_servers, - ) - native.bind( name = "io_bazel_rules_scala/dependency/proto/netty_common", actual = "@scala_proto_rules_netty_common//jar", ) - _scala_maven_import_external( - name = "scala_proto_rules_netty_handler_proxy", - artifact = "io.netty:netty-handler-proxy:4.1.32.Final", - artifact_sha256 = "10d1081ed114bb0e76ebbb5331b66a6c3189cbdefdba232733fc9ca308a6ea34", - licenses = ["notice"], - server_urls = maven_servers, - ) - native.bind( name = "io_bazel_rules_scala/dependency/proto/netty_handler_proxy", actual = "@scala_proto_rules_netty_handler_proxy//jar", ) - _scala_maven_import_external( - name = "scala_proto_rules_opencensus_api", - artifact = "io.opencensus:opencensus-api:0.22.1", - artifact_sha256 = "62a0503ee81856ba66e3cde65dee3132facb723a4fa5191609c84ce4cad36127", - licenses = ["notice"], - server_urls = maven_servers, - ) - native.bind( name = "io_bazel_rules_scala/dependency/proto/opencensus_api", actual = "@scala_proto_rules_opencensus_api//jar", ) - _scala_maven_import_external( - name = "scala_proto_rules_opencensus_impl", - artifact = "io.opencensus:opencensus-impl:0.22.1", - artifact_sha256 = "9e8b209da08d1f5db2b355e781b9b969b2e0dab934cc806e33f1ab3baed4f25a", - licenses = ["notice"], - server_urls = maven_servers, - ) - native.bind( name = "io_bazel_rules_scala/dependency/proto/opencensus_impl", actual = "@scala_proto_rules_opencensus_impl//jar", ) - _scala_maven_import_external( - name = "scala_proto_rules_disruptor", - artifact = "com.lmax:disruptor:3.4.2", - artifact_sha256 = "f412ecbb235c2460b45e63584109723dea8d94b819c78c9bfc38f50cba8546c0", - licenses = ["notice"], - server_urls = maven_servers, - ) - native.bind( name = "io_bazel_rules_scala/dependency/proto/disruptor", actual = "@scala_proto_rules_disruptor//jar", ) - _scala_maven_import_external( - name = "scala_proto_rules_opencensus_impl_core", - artifact = "io.opencensus:opencensus-impl-core:0.22.1", - artifact_sha256 = "04607d100e34bacdb38f93c571c5b7c642a1a6d873191e25d49899668514db68", - licenses = ["notice"], - server_urls = maven_servers, - ) - native.bind( name = "io_bazel_rules_scala/dependency/proto/opencensus_impl_core", actual = "@scala_proto_rules_opencensus_impl_core//jar", ) - _scala_maven_import_external( - name = "scala_proto_rules_opencensus_contrib_grpc_metrics", - artifact = "io.opencensus:opencensus-contrib-grpc-metrics:0.22.1", - artifact_sha256 = "3f6f4d5bd332c516282583a01a7c940702608a49ed6e62eb87ef3b1d320d144b", - licenses = ["notice"], - server_urls = maven_servers, - ) - native.bind( name = "io_bazel_rules_scala/dependency/proto/opencensus_contrib_grpc_metrics", actual = "@scala_proto_rules_opencensus_contrib_grpc_metrics//jar", diff --git a/specs2/specs2.bzl b/specs2/specs2.bzl index 623d0e0db..8b022b672 100644 --- a/specs2/specs2.bzl +++ b/specs2/specs2.bzl @@ -2,87 +2,28 @@ load( "//scala:scala_cross_version.bzl", _default_maven_server_urls = "default_maven_server_urls", _default_scala_version = "default_scala_version", - _extract_major_version = "extract_major_version", _scala_mvn_artifact = "scala_mvn_artifact", ) -load( - "@io_bazel_rules_scala//scala:scala_maven_import_external.bzl", - _scala_maven_import_external = "scala_maven_import_external", -) +load("//third_party/repositories:repositories.bzl", "repositories") def specs2_version(): return "4.4.1" def specs2_repositories( scala_version = _default_scala_version(), - maven_servers = _default_maven_server_urls()): - major_version = _extract_major_version(scala_version) - - scala_jar_shas = { - "2.11": { - "specs2_common": "52d7c0da58725606e98c6e8c81d2efe632053520a25da9140116d04a4abf9d2c", - "specs2_core": "8e95cb7e347e7a87e7a80466cbd88419ece1aaacb35c32e8bd7d299a623b31b9", - "specs2_fp": "e43006fdd0726ffcd1e04c6c4d795176f5f765cc787cc09baebe1fcb009e4462", - "specs2_matcher": "448e5ab89d4d650d23030fdbee66a010a07dcac5e4c3e73ef5fe39ca1aace1cd", - }, - "2.12": { - "specs2_common": "7b7d2497bfe10ad552f5ab3780537c7db9961d0ae841098d5ebd91c78d09438a", - "specs2_core": "f92c3c83844aac13250acec4eb247a2a26a2b3f04e79ef1bf42c56de4e0bb2e7", - "specs2_fp": "834a145b28dbf57ba6d96f02a3862522e693b5aeec44d4cb2f305ef5617dc73f", - "specs2_matcher": "78c699001c307dcc5dcbec8a80cd9f14e9bdaa047579c3d1010ee4bea66805fe", - }, - } - - scala_version_jar_shas = scala_jar_shas[major_version] - - _scala_maven_import_external( - name = "io_bazel_rules_scala_org_specs2_specs2_common", - artifact = _scala_mvn_artifact( - "org.specs2:specs2-common:" + specs2_version(), - major_version, - ), - artifact_sha256 = scala_version_jar_shas["specs2_common"], - deps = ["@io_bazel_rules_scala_org_specs2_specs2_fp"], - licenses = ["notice"], - server_urls = maven_servers, - ) - - _scala_maven_import_external( - name = "io_bazel_rules_scala_org_specs2_specs2_core", - artifact = _scala_mvn_artifact( - "org.specs2:specs2-core:" + specs2_version(), - major_version, - ), - artifact_sha256 = scala_version_jar_shas["specs2_core"], - deps = [ - "@io_bazel_rules_scala_org_specs2_specs2_common", - "@io_bazel_rules_scala_org_specs2_specs2_matcher", + maven_servers = _default_maven_server_urls(), + overriden_artifacts = {}): + repositories( + for_artifact_ids = [ + "io_bazel_rules_scala_org_specs2_specs2_common", + "io_bazel_rules_scala_org_specs2_specs2_core", + "io_bazel_rules_scala_org_specs2_specs2_fp", + "io_bazel_rules_scala_org_specs2_specs2_matcher", ], - licenses = ["notice"], - server_urls = maven_servers, - ) - - _scala_maven_import_external( - name = "io_bazel_rules_scala_org_specs2_specs2_fp", - artifact = _scala_mvn_artifact( - "org.specs2:specs2-fp:" + specs2_version(), - major_version, - ), - artifact_sha256 = scala_version_jar_shas["specs2_fp"], - licenses = ["notice"], - server_urls = maven_servers, - ) - - _scala_maven_import_external( - name = "io_bazel_rules_scala_org_specs2_specs2_matcher", - artifact = _scala_mvn_artifact( - "org.specs2:specs2-matcher:" + specs2_version(), - major_version, - ), - artifact_sha256 = scala_version_jar_shas["specs2_matcher"], - deps = ["@io_bazel_rules_scala_org_specs2_specs2_common"], - licenses = ["notice"], - server_urls = maven_servers, + scala_version = scala_version, + maven_servers = maven_servers, + fetch_sources = True, + overriden_artifacts = overriden_artifacts, ) native.bind( diff --git a/specs2/specs2_junit.bzl b/specs2/specs2_junit.bzl index 9c9885b2c..9c30b37d1 100644 --- a/specs2/specs2_junit.bzl +++ b/specs2/specs2_junit.bzl @@ -9,42 +9,24 @@ load( "//scala:scala_cross_version.bzl", _default_maven_server_urls = "default_maven_server_urls", _default_scala_version = "default_scala_version", - _extract_major_version = "extract_major_version", - _scala_mvn_artifact = "scala_mvn_artifact", -) -load( - "@io_bazel_rules_scala//scala:scala_maven_import_external.bzl", - _scala_maven_import_external = "scala_maven_import_external", ) +load("//third_party/repositories:repositories.bzl", "repositories") def specs2_junit_repositories( scala_version = _default_scala_version(), - maven_servers = _default_maven_server_urls()): - major_version = _extract_major_version(scala_version) - + maven_servers = _default_maven_server_urls(), + overriden_artifacts = {}): specs2_repositories(scala_version, maven_servers) junit_repositories() - scala_jar_shas = { - "2.11": { - "specs2_junit": "a8549d52e87896624200fe35ef7b841c1c698a8fb5d97d29bf082762aea9bb72", - }, - "2.12": { - "specs2_junit": "c867824801da5cccf75354da6d12d406009c435865ecd08a881b799790e9ffec", - }, - } - - # Aditional dependencies for specs2 junit runner - _scala_maven_import_external( - name = "io_bazel_rules_scala_org_specs2_specs2_junit", - artifact = _scala_mvn_artifact( - "org.specs2:specs2-junit:" + specs2_version(), - major_version, - ), - artifact_sha256 = scala_jar_shas[major_version]["specs2_junit"], - deps = ["@io_bazel_rules_scala_org_specs2_specs2_core"], - licenses = ["notice"], - server_urls = maven_servers, + repositories( + for_artifact_ids = [ + "io_bazel_rules_scala_org_specs2_specs2_junit", + ], + scala_version = scala_version, + maven_servers = maven_servers, + fetch_sources = True, + overriden_artifacts = overriden_artifacts, ) native.bind( diff --git a/test/src/main/scala/scalarules/test/compiler_plugin/BUILD.bazel b/test/src/main/scala/scalarules/test/compiler_plugin/BUILD.bazel index 53db39a9b..6e9c4406a 100644 --- a/test/src/main/scala/scalarules/test/compiler_plugin/BUILD.bazel +++ b/test/src/main/scala/scalarules/test/compiler_plugin/BUILD.bazel @@ -2,6 +2,7 @@ load("//scala:scala.bzl", "scala_library") scala_library( name = "compiler_plugin", + testonly = True, srcs = ["KindProjected.scala"], plugins = ["@org_spire_math_kind_projector//jar"], visibility = ["//visibility:public"], diff --git a/test/src/main/scala/scalarules/test/fetch_sources/BUILD b/test/src/main/scala/scalarules/test/fetch_sources/BUILD index 8eb33b5f2..45c3a19e5 100644 --- a/test/src/main/scala/scalarules/test/fetch_sources/BUILD +++ b/test/src/main/scala/scalarules/test/fetch_sources/BUILD @@ -2,6 +2,7 @@ load("//scala:scala.bzl", "scala_library") scala_library( name = "fetch_sources", + testonly = True, srcs = ["FetchSources.scala"], deps = ["@com_google_guava_guava_21_0//jar"], ) diff --git a/test/src/main/scala/scalarules/test/scala_import/BUILD b/test/src/main/scala/scalarules/test/scala_import/BUILD index 80ca9ccd7..9ad76d44a 100644 --- a/test/src/main/scala/scalarules/test/scala_import/BUILD +++ b/test/src/main/scala/scalarules/test/scala_import/BUILD @@ -13,6 +13,7 @@ scala_import( scala_import( name = "jffi_native_external", + testonly = True, jars = [ "@com_github_jnr_jffi_native//jar", ], @@ -44,6 +45,7 @@ scala_specs2_junit_test( scala_library( name = "source_jar_not_oncp", + testonly = True, srcs = ["ReferCatsImplicits.scala"], # jvm_maven_import_external doesn't fetch source jars automatically deps = ["@org_typelevel__cats_core//jar"], @@ -52,6 +54,7 @@ scala_library( ##Runtime deps scala_import( name = "indirection_for_transitive_runtime_deps", + testonly = True, jars = [], # jvm_maven_import_external doesn't fetch source jars automatically deps = ["@org_typelevel__cats_core//jar"], @@ -59,6 +62,7 @@ scala_import( scala_import( name = "cats_and_guava_and_commons_lang_as_runtime_deps", + testonly = True, jars = [], runtime_deps = [ ":guava_and_commons_lang", 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 8a2d0d7af..1178d3ee0 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 @@ -2,6 +2,7 @@ load("//scala:scala.bzl", "scala_library") scala_library( name = "source_jar_not_oncp", + testonly = True, srcs = ["ReferCatsImplicits.scala"], deps = [ "@org_typelevel__cats_core//jar", diff --git a/test_expect_failure/missing_direct_deps/external_deps/BUILD b/test_expect_failure/missing_direct_deps/external_deps/BUILD index 9585f74f2..25e0e8eb0 100644 --- a/test_expect_failure/missing_direct_deps/external_deps/BUILD +++ b/test_expect_failure/missing_direct_deps/external_deps/BUILD @@ -4,6 +4,7 @@ load("//scala:scala.bzl", "scala_library", "scala_test") scala_library( name = "transitive_external_dependency_user", + testonly = True, srcs = [ "A.scala", ], @@ -12,6 +13,7 @@ scala_library( scala_library( name = "external_dependency_user", + testonly = True, srcs = [ "B.scala", ], @@ -20,6 +22,7 @@ scala_library( scala_library( name = "transitive_external_dependency_user_file_group", + testonly = True, srcs = [ "A.scala", ], @@ -28,6 +31,7 @@ scala_library( scala_library( name = "external_dependency_user_file_group", + testonly = True, srcs = [ "B.scala", ], diff --git a/test_expect_failure/plus_one_deps/external_deps/BUILD.bazel b/test_expect_failure/plus_one_deps/external_deps/BUILD.bazel index 42d964bb9..47dbf7537 100644 --- a/test_expect_failure/plus_one_deps/external_deps/BUILD.bazel +++ b/test_expect_failure/plus_one_deps/external_deps/BUILD.bazel @@ -2,6 +2,7 @@ load("//scala:scala.bzl", "scala_library") scala_library( name = "a", + testonly = True, srcs = ["A.scala"], deps = ["@org_springframework_spring_tx"], ) diff --git a/test_expect_failure/scala_import/BUILD b/test_expect_failure/scala_import/BUILD index b1d5564ea..dd2f6c4fe 100644 --- a/test_expect_failure/scala_import/BUILD +++ b/test_expect_failure/scala_import/BUILD @@ -6,28 +6,33 @@ load("//scala:scala_import.bzl", "scala_import") scala_import( name = "dummy_dependency_to_trigger_create_provider_transitive_compile_jar_usage", + testonly = True, jars = ["@org_psywerx_hairyfotr__linter//jar"], ) scala_import( name = "guava", + testonly = True, jars = ["@com_google_guava_guava_21_0_with_file//jar"], deps = [":dummy_dependency_to_trigger_create_provider_transitive_compile_jar_usage"], ) scala_import( name = "cats", + testonly = True, jars = ["@org_typelevel__cats_core//jar"], ) scala_import( name = "indirection_for_transitive_compile_deps", + testonly = True, jars = [], deps = [":cats"], ) scala_import( name = "commons_lang_as_imported_jar_cats_and_guava_as_compile_deps", + testonly = True, jars = ["@org_apache_commons_commons_lang_3_5//jar"], deps = [ ":guava", diff --git a/test_version.sh b/test_version.sh index 69cbc79e8..49f20bb85 100755 --- a/test_version.sh +++ b/test_version.sh @@ -3,30 +3,14 @@ set -e scala_2_11_version="2.11.12" -scala_2_11_shas='\ - "scala_compiler": "3e892546b72ab547cb77de4d840bcfd05c853e73390fed7370a8f19acb0735a0", \ - "scala_library": "0b3d6fd42958ee98715ba2ec5fe221f4ca1e694d7c981b0ae0cd68e97baf6dce", \ - "scala_reflect": "6ba385b450a6311a15c918cf8688b9af9327c6104f0ecbd35933cfcd3095fe04" \ -' -scala_2_12_version="2.12.10" -scala_2_12_shas='\ - "scala_compiler": "cedc3b9c39d215a9a3ffc0cc75a1d784b51e9edc7f13051a1b4ad5ae22cfbc0c", \ - "scala_library": "0a57044d10895f8d3dd66ad4286891f607169d948845ac51e17b4c1cf0ab569d", \ - "scala_reflect": "56b609e1bab9144fb51525bfa01ccd72028154fc40a58685a1e9adcbe7835730" \ -' +scala_2_12_version="2.12.11" SCALA_VERSION_DEFAULT=$scala_2_11_version SCALA_VERSION_SHAS_DEFAULT=$scala_2_11_shas -TWITTER_SCROOGE_VERSION_SHAS_DEFAULT='' -TWITTER_SCROOGE_EXTRA_IMPORTS_DEFAULT='' -TWITTER_SCROOGE_BINDINGS_DEFAULT='twitter_scrooge(scala_version)' +TWITTER_SCROOGE_ARTIFACTS='twitter_scrooge_artifacts={}' run_in_test_repo() { local SCALA_VERSION=${SCALA_VERSION:-$SCALA_VERSION_DEFAULT} - local SCALA_VERSION_SHAS=${SCALA_VERSION_SHAS:-$SCALA_VERSION_SHAS_DEFAULT} - local TWITTER_SCROOGE_BINDINGS=${TWITTER_SCROOGE_BINDINGS:-$TWITTER_SCROOGE_BINDINGS_DEFAULT} - local TWITTER_SCROOGE_EXTRA_IMPORTS=${TWITTER_SCROOGE_EXTRA_IMPORTS:-$TWITTER_SCROOGE_EXTRA_IMPORTS_DEFAULT} - local TWITTER_SCROOGE_VERSION_SHAS=${TWITTER_SCROOGE_VERSION_SHAS:-$TWITTER_SCROOGE_VERSION_SHAS_DEFAULT} local test_command=$1 local test_dir_prefix=$2 @@ -41,10 +25,7 @@ run_in_test_repo() { sed \ -e "s/\${scala_version}/$SCALA_VERSION/" \ - -e "s%\${scala_version_shas}%$SCALA_VERSION_SHAS%" \ - -e "s%\${twitter_scrooge_bindings}%$TWITTER_SCROOGE_BINDINGS%" \ - -e "s%\${twitter_scrooge_extra_imports}%$TWITTER_SCROOGE_EXTRA_IMPORTS%" \ - -e "s%\${twitter_scrooge_version_shas}%$TWITTER_SCROOGE_VERSION_SHAS%" \ + -e "s%\${twitter_scrooge_artifacts}%$TWITTER_SCROOGE_ARTIFACTS%" \ WORKSPACE.template >> $NEW_TEST_DIR/WORKSPACE cd $NEW_TEST_DIR @@ -72,23 +53,59 @@ test_scala_version() { test_twitter_scrooge_versions() { local version_under_test=$1 - local TWITTER_SCROOGE_VERSION_SHAS='twitter_scrooge_version_shas= {\ - "18.6.0": { \ - "scrooge-generator": "0f0027e815e67985895a6f3caa137f02366ceeea4966498f34fb82cabb11dee6", \ - "scrooge-core": "00351f73b555d61cfe7320ef3b1367a9641e694cfb8dfa8a733cfcf49df872e8", \ - "util-core": "5336da4846dfc3db8ffe5ae076be1021828cfee35aa17bda9af461e203cf265c", \ - "util-logging": "73ddd61cedabd4dab82b30e6c52c1be6c692b063b8ba310d716ead9e3b4e9267" \ - }, \ - "20.5.0": { \ - "scrooge-generator": "a4cf7dd773e8c2ee0ccad52be1ebd4ae8a9defcbc9be28e370e44a46a34a005a", \ - "scrooge-core": "b1aa0f3b9f10287644f1edc47b79a67b287656d97fbd157a806d69c82b27e21d", \ - "util-core": "253cc631d3766e978bafd60dcee6976f7cf46d80106882c7b55b969ab14e3d7c", \ - "util-logging": "77782dad82e4066a2b8aa1aa6c07c8c2d111f65365833a88592e303464a98654" \ - } \ + local TWITTER_SCROOGE_ARTIFACTS_18_6_0='twitter_scrooge_artifacts={ \ + "io_bazel_rules_scala_scrooge_core": {\ + "artifact": "com.twitter:scrooge-core_2.11:18.6.0",\ + "sha256": "00351f73b555d61cfe7320ef3b1367a9641e694cfb8dfa8a733cfcf49df872e8",\ + },\ + "io_bazel_rules_scala_scrooge_generator": {\ + "artifact": "com.twitter:scrooge-generator_2.11:18.6.0",\ + "sha256": "0f0027e815e67985895a6f3caa137f02366ceeea4966498f34fb82cabb11dee6",\ + "runtime_deps": [\ + "@io_bazel_rules_scala_guava",\ + "@io_bazel_rules_scala_mustache",\ + ],\ + },\ + "io_bazel_rules_scala_util_core": {\ + "artifact": "com.twitter:util-core_2.11:18.6.0",\ + "sha256": "5336da4846dfc3db8ffe5ae076be1021828cfee35aa17bda9af461e203cf265c",\ + },\ + "io_bazel_rules_scala_util_logging": {\ + "artifact": "com.twitter:util-logging_2.11:18.6.0",\ + "sha256": "73ddd61cedabd4dab82b30e6c52c1be6c692b063b8ba310d716ead9e3b4e9267",\ + },\ }' - local TWITTER_SCROOGE_EXTRA_IMPORTS="load(\"//twitter_scrooge:twitter_scrooge_bindings.bzl\", \"twitter_scrooge_with_custom_dep_version\")" - local TWITTER_SCROOGE_BINDINGS="twitter_scrooge_with_custom_dep_version(\"${version_under_test}\", scala_version, twitter_scrooge_version_shas)" + local TWITTER_SCROOGE_ARTIFACTS_20_5_0='twitter_scrooge_artifacts={ \ + "io_bazel_rules_scala_scrooge_core": {\ + "artifact": "com.twitter:scrooge-core_2.11:20.5.0",\ + "sha256": "b1aa0f3b9f10287644f1edc47b79a67b287656d97fbd157a806d69c82b27e21d",\ + },\ + "io_bazel_rules_scala_scrooge_generator": {\ + "artifact": "com.twitter:scrooge-generator_2.11:20.5.0",\ + "sha256": "a4cf7dd773e8c2ee0ccad52be1ebd4ae8a9defcbc9be28e370e44a46a34a005a",\ + "runtime_deps": [\ + "@io_bazel_rules_scala_guava",\ + "@io_bazel_rules_scala_mustache",\ + ],\ + },\ + "io_bazel_rules_scala_util_core": {\ + "artifact": "com.twitter:util-core_2.11:20.5.0",\ + "sha256": "253cc631d3766e978bafd60dcee6976f7cf46d80106882c7b55b969ab14e3d7c",\ + },\ + "io_bazel_rules_scala_util_logging": {\ + "artifact": "com.twitter:util-logging_2.11:20.5.0",\ + "sha256": "77782dad82e4066a2b8aa1aa6c07c8c2d111f65365833a88592e303464a98654",\ + },\ +}' + + if [ "18.6.0" = $version_under_test ]; then + TWITTER_SCROOGE_ARTIFACTS=$TWITTER_SCROOGE_ARTIFACTS_18_6_0 + elif [ "20.5.0" = $version_under_test ]; then + TWITTER_SCROOGE_ARTIFACTS=$TWITTER_SCROOGE_ARTIFACTS_20_5_0 + else + echo "Unknown Twitter Scrooge version given $version_under_test" + fi run_in_test_repo "test //twitter_scrooge/... --test_arg=${version_under_test}" "scrooge_version" } diff --git a/test_version/WORKSPACE.template b/test_version/WORKSPACE.template index 3817a09ed..c3fe25588 100644 --- a/test_version/WORKSPACE.template +++ b/test_version/WORKSPACE.template @@ -26,17 +26,13 @@ scala_version = "${scala_version}" load("@io_bazel_rules_scala//scala:scala.bzl", "scala_repositories") scala_repositories( - (scala_version, { - ${scala_version_shas} - }), + scala_version, fetch_sources = True ) -load("@io_bazel_rules_scala//twitter_scrooge:twitter_scrooge.bzl", "twitter_scrooge", "scrooge_scala_library") - -${twitter_scrooge_version_shas} -${twitter_scrooge_extra_imports} -${twitter_scrooge_bindings} +load("@io_bazel_rules_scala//twitter_scrooge:twitter_scrooge.bzl", "twitter_scrooge") +${twitter_scrooge_artifacts} +twitter_scrooge(scala_version, overriden_artifacts = twitter_scrooge_artifacts) load("@io_bazel_rules_scala//tut_rule:tut.bzl", "tut_repositories") diff --git a/test_version/version_specific_tests_dir/twitter_scrooge/twitter_scrooge_bindings.bzl b/test_version/version_specific_tests_dir/twitter_scrooge/twitter_scrooge_bindings.bzl deleted file mode 100644 index cef62907c..000000000 --- a/test_version/version_specific_tests_dir/twitter_scrooge/twitter_scrooge_bindings.bzl +++ /dev/null @@ -1,64 +0,0 @@ -# Functions used for this particular example of resolving a dependency. -# Not necessary in general, you can pass any target label to `twitter_scrooge`. -load("@io_bazel_rules_scala//scala:scala_maven_import_external.bzl", "scala_maven_import_external") -load("@io_bazel_rules_scala//scala:scala_cross_version.bzl", "default_maven_server_urls", "extract_major_version", "scala_mvn_artifact") - -# This is an example of how to customize `twitter_scrooge` to use alternative versions of its dependencies. -# -# Even though you could pass any label to `twitter_scrooge`, this particular example uses -# `scala_maven_import_external` to fetch different versions of the dependencies with custom labels, -# and initializes the `twitter_scrooge` system with those targets instead. -# Alternatively, you could pass your internal copies of the repo fetched via `http_archive`, `git_repository`, -# or a source target in your workspace. -# -# This code is used and tested in the integration test `test_twitter_scrooge_versions` in `./test_version.sh`. -load("@io_bazel_rules_scala//twitter_scrooge:twitter_scrooge.bzl", "twitter_scrooge") - -def _resolve_dependency_version(dependency_name, dependency_version, sha, scala_major_version): - custom_dependency_label = "custom_dependency_{}".format(dependency_name) - scala_maven_import_external( - name = custom_dependency_label, - artifact = scala_mvn_artifact( - "com.twitter:{}:{}".format(dependency_name, dependency_version), - scala_major_version, - ), - artifact_sha256 = sha, - licenses = ["notice"], - server_urls = default_maven_server_urls(), - ) - return "@{}".format(custom_dependency_label) - -def twitter_scrooge_with_custom_dep_version(twitter_scrooge_deps_version, scala_version, version_shas): - scala_major_version = extract_major_version(scala_version) - - scrooge_core_label = _resolve_dependency_version( - "scrooge-core", - twitter_scrooge_deps_version, - version_shas[twitter_scrooge_deps_version]["scrooge-core"], - scala_major_version, - ) - scrooge_generator_label = _resolve_dependency_version( - "scrooge-generator", - twitter_scrooge_deps_version, - version_shas[twitter_scrooge_deps_version]["scrooge-generator"], - scala_major_version, - ) - util_core_label = _resolve_dependency_version( - "util-core", - twitter_scrooge_deps_version, - version_shas[twitter_scrooge_deps_version]["util-core"], - scala_major_version, - ) - util_logging_label = _resolve_dependency_version( - "util-logging", - twitter_scrooge_deps_version, - version_shas[twitter_scrooge_deps_version]["util-logging"], - scala_major_version, - ) - twitter_scrooge( - scala_version, - scrooge_core = scrooge_core_label, - scrooge_generator = scrooge_generator_label, - util_core = util_core_label, - util_logging = util_logging_label, - ) diff --git a/third_party/repositories/BUILD b/third_party/repositories/BUILD new file mode 100644 index 000000000..e69de29bb diff --git a/third_party/repositories/repositories.bzl b/third_party/repositories/repositories.bzl new file mode 100644 index 000000000..eb20b3c69 --- /dev/null +++ b/third_party/repositories/repositories.bzl @@ -0,0 +1,39 @@ +load("//third_party/repositories:scala_2_11.bzl", _artifacts_2_11 = "artifacts") +load("//third_party/repositories:scala_2_12.bzl", _artifacts_2_12 = "artifacts") +load( + "@io_bazel_rules_scala//scala:scala_cross_version.bzl", + "default_maven_server_urls", + "default_scala_version", + "extract_major_version", +) +load( + "@io_bazel_rules_scala//scala:scala_maven_import_external.bzl", + _scala_maven_import_external = "scala_maven_import_external", +) + +artifacts_by_major_scala_version = { + "2.11": _artifacts_2_11, + "2.12": _artifacts_2_12, +} + +def repositories( + scala_version = default_scala_version(), + for_artifact_ids = [], + maven_servers = default_maven_server_urls(), + overriden_artifacts = {}, + fetch_sources = True): + major_scala_version = extract_major_version(scala_version) + default_artifacts = artifacts_by_major_scala_version[major_scala_version] + artifacts = dict(default_artifacts.items() + overriden_artifacts.items()) + for id in for_artifact_ids: + _scala_maven_import_external( + name = id, + artifact = artifacts[id]["artifact"], + artifact_sha256 = artifacts[id]["sha256"], + licenses = ["notice"], + server_urls = maven_servers, + deps = artifacts[id].get("deps", []), + runtime_deps = artifacts[id].get("runtime_deps", []), + testonly_ = artifacts[id].get("testonly", False), + fetch_sources = fetch_sources, + ) diff --git a/third_party/repositories/scala_2_11.bzl b/third_party/repositories/scala_2_11.bzl new file mode 100644 index 000000000..9eaf1feaf --- /dev/null +++ b/third_party/repositories/scala_2_11.bzl @@ -0,0 +1,474 @@ +artifacts = { + "io_bazel_rules_scala_scala_library": { + "artifact": "org.scala-lang:scala-library:2.11.12", + "sha256": "0b3d6fd42958ee98715ba2ec5fe221f4ca1e694d7c981b0ae0cd68e97baf6dce", + }, + "io_bazel_rules_scala_scala_compiler": { + "artifact": "org.scala-lang:scala-compiler:2.11.12", + "sha256": "3e892546b72ab547cb77de4d840bcfd05c853e73390fed7370a8f19acb0735a0", + }, + "io_bazel_rules_scala_scala_reflect": { + "artifact": "org.scala-lang:scala-reflect:2.11.12", + "sha256": "6ba385b450a6311a15c918cf8688b9af9327c6104f0ecbd35933cfcd3095fe04", + }, + "io_bazel_rules_scala_scalatest": { + "artifact": "org.scalatest:scalatest_2.11:3.0.5", + "sha256": "2aafeb41257912cbba95f9d747df9ecdc7ff43f039d35014b4c2a8eb7ed9ba2f", + }, + "io_bazel_rules_scala_scalactic": { + "artifact": "org.scalactic:scalactic_2.11:3.0.5", + "sha256": "84723064f5716f38990fe6e65468aa39700c725484efceef015771d267341cf2", + }, + "io_bazel_rules_scala_scala_xml": { + "artifact": "org.scala-lang.modules:scala-xml_2.11:1.0.5", + "sha256": "767e11f33eddcd506980f0ff213f9d553a6a21802e3be1330345f62f7ee3d50f", + }, + "io_bazel_rules_scala_scala_parser_combinators": { + "artifact": "org.scala-lang.modules:scala-parser-combinators_2.11:1.0.4", + "sha256": "0dfaafce29a9a245b0a9180ec2c1073d2bd8f0330f03a9f1f6a74d1bc83f62d6", + }, + "org_scalameta_common": { + "artifact": "org.scalameta:common_2.11:4.3.0", + "sha256": "6330798bcbd78d14d371202749f32efda0465c3be5fd057a6055a67e21335ba0", + "deps": [ + "@com_lihaoyi_sourcecode", + "//external:io_bazel_rules_scala/dependency/scala/scala_library", + ], + }, + "org_scalameta_fastparse": { + "artifact": "org.scalameta:fastparse_2.11:1.0.1", + "sha256": "49ecc30a4b47efc0038099da0c97515cf8f754ea631ea9f9935b36ca7d41b733", + "deps": [ + "@com_lihaoyi_sourcecode", + "//external:io_bazel_rules_scala/dependency/scala/scala_library", + "@org_scalameta_fastparse_utils", + ], + }, + "org_scalameta_fastparse_utils": { + "artifact": "org.scalameta:fastparse-utils_2.11:1.0.1", + "sha256": "93f58db540e53178a686621f7a9c401307a529b68e051e38804394a2a86cea94", + "deps": [ + "@com_lihaoyi_sourcecode", + "//external:io_bazel_rules_scala/dependency/scala/scala_library", + ], + }, + "org_scala_lang_modules_scala_collection_compat": { + "artifact": "org.scala-lang.modules:scala-collection-compat_2.11:2.1.2", + "sha256": "e9667b8b7276aeb42599f536fe4d7caab06eabc55e9995572267ad60c7a11c8b", + "deps": [ + "//external:io_bazel_rules_scala/dependency/scala/scala_library", + ], + }, + "org_scalameta_parsers": { + "artifact": "org.scalameta:parsers_2.11:4.3.0", + "sha256": "724382abfac27b32dec6c21210562bc7e1b09b5268ccb704abe66dcc8844beeb", + "deps": [ + "//external:io_bazel_rules_scala/dependency/scala/scala_library", + "@org_scalameta_trees", + ], + }, + "org_scalameta_scalafmt_core": { + "artifact": "org.scalameta:scalafmt-core_2.11:2.3.2", + "sha256": "6bf391e0e1d7369fda83ddaf7be4d267bf4cbccdf2cc31ff941999a78c30e67f", + "deps": [ + "@com_geirsson_metaconfig_core", + "@com_geirsson_metaconfig_typesafe_config", + "//external:io_bazel_rules_scala/dependency/scala/scala_library", + "//external:io_bazel_rules_scala/dependency/scala/scala_reflect", + "@org_scalameta_scalameta", + "@org_scala_lang_modules_scala_collection_compat", + ], + }, + "org_scalameta_scalameta": { + "artifact": "org.scalameta:scalameta_2.11:4.3.0", + "sha256": "94fe739295447cd3ae877c279ccde1def06baea02d9c76a504dda23de1d90516", + "deps": [ + "//external:io_bazel_rules_scala/dependency/scala/scala_library", + "@org_scala_lang_scalap", + "@org_scalameta_parsers", + ], + }, + "org_scalameta_trees": { + "artifact": "org.scalameta:trees_2.11:4.3.0", + "sha256": "d24d5d63d8deafe646d455c822593a66adc6fdf17c8373754a3834a6e92a8a72", + "deps": [ + "@com_thesamet_scalapb_scalapb_runtime", + "//external:io_bazel_rules_scala/dependency/scala/scala_library", + "@org_scalameta_common", + "@org_scalameta_fastparse", + ], + }, + "org_typelevel_paiges_core": { + "artifact": "org.typelevel:paiges-core_2.11:0.2.4", + "sha256": "aa66fbe0457ca5cb5b9e522d4cb873623bb376a2e1ff58c464b5194c1d87c241", + "deps": [ + "//external:io_bazel_rules_scala/dependency/scala/scala_library", + ], + }, + "com_typesafe_config": { + "artifact": "com.typesafe:config:1.3.3", + "sha256": "b5f1d6071f1548d05be82f59f9039c7d37a1787bd8e3c677e31ee275af4a4621", + }, + "org_scala_lang_scalap": { + "artifact": "org.scala-lang:scalap:2.11.10", + "sha256": "a6dd7203ce4af9d6185023d5dba9993eb8e80584ff4b1f6dec574a2aba4cd2b7", + "deps": [ + "@io_bazel_rules_scala_scala_compiler", + ], + }, + "com_thesamet_scalapb_lenses": { + "artifact": "com.thesamet.scalapb:lenses_2.11:0.9.0", + "sha256": "f4809760edee6abc97a7fe9b7fd6ae5fe1006795b1dc3963ab4e317a72f1a385", + "deps": [ + "//external:io_bazel_rules_scala/dependency/scala/scala_library", + ], + }, + "com_thesamet_scalapb_scalapb_runtime": { + "artifact": "com.thesamet.scalapb:scalapb-runtime_2.11:0.9.0", + "sha256": "ab1e449a18a9ce411eb3fec31bdbca5dd5fae4475b1557bb5e235a7b54738757", + "deps": [ + "@com_google_protobuf_protobuf_java", + "@com_lihaoyi_fastparse", + "@com_thesamet_scalapb_lenses", + "//external:io_bazel_rules_scala/dependency/scala/scala_library", + ], + }, + "com_lihaoyi_fansi": { + "artifact": "com.lihaoyi:fansi_2.11:0.2.5", + "sha256": "1ff0a8304f322c1442e6bcf28fab07abf3cf560dd24573dbe671249aee5fc488", + "deps": [ + "@com_lihaoyi_sourcecode", + "//external:io_bazel_rules_scala/dependency/scala/scala_library", + ], + }, + "com_lihaoyi_fastparse": { + "artifact": "com.lihaoyi:fastparse_2.11:2.1.2", + "sha256": "5c5d81f90ada03ac5b21b161864a52558133951031ee5f6bf4d979e8baa03628", + "deps": [ + "@com_lihaoyi_sourcecode", + ], + }, + "com_lihaoyi_pprint": { + "artifact": "com.lihaoyi:pprint_2.11:0.5.3", + "sha256": "fb5e4921e7dff734d049e752a482d3a031380d3eea5caa76c991312dee9e6991", + "deps": [ + "@com_lihaoyi_fansi", + "@com_lihaoyi_sourcecode", + "//external:io_bazel_rules_scala/dependency/scala/scala_library", + ], + }, + "com_lihaoyi_sourcecode": { + "artifact": "com.lihaoyi:sourcecode_2.11:0.1.7", + "sha256": "33516d7fd9411f74f05acfd5274e1b1889b7841d1993736118803fc727b2d5fc", + "deps": [ + "//external:io_bazel_rules_scala/dependency/scala/scala_library", + ], + }, + "com_google_protobuf_protobuf_java": { + "artifact": "com.google.protobuf:protobuf-java:3.10.0", + "sha256": "161d7d61a8cb3970891c299578702fd079646e032329d6c2cabf998d191437c9", + }, + "com_geirsson_metaconfig_core": { + "artifact": "com.geirsson:metaconfig-core_2.11:0.9.4", + "sha256": "5d5704a1f1c4f74aed26248eeb9b577274d570b167cec0bf51d2908609c29118", + "deps": [ + "@com_lihaoyi_pprint", + "//external:io_bazel_rules_scala/dependency/scala/scala_library", + "@org_typelevel_paiges_core", + "@org_scala_lang_modules_scala_collection_compat", + ], + }, + "com_geirsson_metaconfig_typesafe_config": { + "artifact": "com.geirsson:metaconfig-typesafe-config_2.11:0.9.4", + "sha256": "52d2913640f4592402aeb2f0cec5004893d02acf26df4aa1cf8d4dcb0d2b21c7", + "deps": [ + "@com_geirsson_metaconfig_core", + "@com_typesafe_config", + "//external:io_bazel_rules_scala/dependency/scala/scala_library", + "@org_scala_lang_modules_scala_collection_compat", + ], + }, + "io_bazel_rules_scala_org_openjdk_jmh_jmh_core": { + "artifact": "org.openjdk.jmh:jmh-core:1.20", + "sha256": "1688db5110ea6413bf63662113ed38084106ab1149e020c58c5ac22b91b842ca", + }, + "io_bazel_rules_scala_org_openjdk_jmh_jmh_generator_asm": { + "artifact": "org.openjdk.jmh:jmh-generator-asm:1.20", + "sha256": "2dd4798b0c9120326310cda3864cc2e0035b8476346713d54a28d1adab1414a5", + }, + "io_bazel_rules_scala_org_openjdk_jmh_jmh_generator_reflection": { + "artifact": "org.openjdk.jmh:jmh-generator-reflection:1.20", + "sha256": "57706f7c8278272594a9afc42753aaf9ba0ba05980bae0673b8195908d21204e", + }, + "io_bazel_rules_scala_org_ows2_asm_asm": { + "artifact": "org.ow2.asm:asm:6.1.1", + "sha256": "dd3b546415dd4bade2ebe3b47c7828ab0623ee2336604068e2d81023f9f8d833", + }, + "io_bazel_rules_scala_net_sf_jopt_simple_jopt_simple": { + "artifact": "net.sf.jopt-simple:jopt-simple:4.6", + "sha256": "3fcfbe3203c2ea521bf7640484fd35d6303186ea2e08e72f032d640ca067ffda", + }, + "io_bazel_rules_scala_org_apache_commons_commons_math3": { + "artifact": "org.apache.commons:commons-math3:3.6.1", + "sha256": "1e56d7b058d28b65abd256b8458e3885b674c1d588fa43cd7d1cbb9c7ef2b308", + }, + "io_bazel_rules_scala_junit_junit": { + "artifact": "junit:junit:4.12", + "sha256": "59721f0805e223d84b90677887d9ff567dc534d7c502ca903c0c2b17f05c116a", + }, + "io_bazel_rules_scala_org_hamcrest_hamcrest_core": { + "artifact": "org.hamcrest:hamcrest-core:1.3", + "sha256": "66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9", + }, + "io_bazel_rules_scala_org_specs2_specs2_common": { + "artifact": "org.specs2:specs2-common_2.11:4.4.1", + "sha256": "52d7c0da58725606e98c6e8c81d2efe632053520a25da9140116d04a4abf9d2c", + "deps": [ + "@io_bazel_rules_scala_org_specs2_specs2_fp", + ], + }, + "io_bazel_rules_scala_org_specs2_specs2_core": { + "artifact": "org.specs2:specs2-core_2.11:4.4.1", + "sha256": "8e95cb7e347e7a87e7a80466cbd88419ece1aaacb35c32e8bd7d299a623b31b9", + "deps": [ + "@io_bazel_rules_scala_org_specs2_specs2_common", + "@io_bazel_rules_scala_org_specs2_specs2_matcher", + ], + }, + "io_bazel_rules_scala_org_specs2_specs2_fp": { + "artifact": "org.specs2:specs2-fp_2.11:4.4.1", + "sha256": "e43006fdd0726ffcd1e04c6c4d795176f5f765cc787cc09baebe1fcb009e4462", + }, + "io_bazel_rules_scala_org_specs2_specs2_matcher": { + "artifact": "org.specs2:specs2-matcher_2.11:4.4.1", + "sha256": "448e5ab89d4d650d23030fdbee66a010a07dcac5e4c3e73ef5fe39ca1aace1cd", + "deps": [ + "@io_bazel_rules_scala_org_specs2_specs2_common", + ], + }, + "io_bazel_rules_scala_org_specs2_specs2_junit": { + "artifact": "org.specs2:specs2-junit_2.11:4.4.1", + "sha256": "a8549d52e87896624200fe35ef7b841c1c698a8fb5d97d29bf082762aea9bb72", + "deps": [ + "@io_bazel_rules_scala_org_specs2_specs2_core", + ], + }, + "scala_proto_rules_scalapb_plugin": { + "artifact": "com.thesamet.scalapb:compilerplugin_2.11:0.9.7", + "sha256": "2d6793fa2565953ef2b5094fc37fae4933f3c42e4cb4048d54e7f358ec104a87", + }, + "scala_proto_rules_protoc_bridge": { + "artifact": "com.thesamet.scalapb:protoc-bridge_2.11:0.7.14", + "sha256": "314e34bf331b10758ff7a780560c8b5a5b09e057695a643e33ab548e3d94aa03", + }, + "scala_proto_rules_scalapb_runtime": { + "artifact": "com.thesamet.scalapb:scalapb-runtime_2.11:0.9.7", + "sha256": "5131033e9536727891a38004ec707a93af1166cb8283c7db711c2c105fbf289e", + }, + "scala_proto_rules_scalapb_runtime_grpc": { + "artifact": "com.thesamet.scalapb:scalapb-runtime-grpc_2.11:0.9.7", + "sha256": "24d19df500ce6450d8f7aa72a9bad675fa4f3650f7736d548aa714058f887e23", + }, + "scala_proto_rules_scalapb_lenses": { + "artifact": "com.thesamet.scalapb:lenses_2.11:0.9.7", + "sha256": "f8e3b526ceac998652b296014e9ab4c0ab906a40837dd1dfcf6948b6f5a1a8bf", + }, + "scala_proto_rules_scalapb_fastparse": { + "artifact": "com.lihaoyi:fastparse_2.11:2.1.2", + "sha256": "5c5d81f90ada03ac5b21b161864a52558133951031ee5f6bf4d979e8baa03628", + }, + "scala_proto_rules_grpc_core": { + "artifact": "io.grpc:grpc-core:1.24.0", + "sha256": "8fc900625a9330b1c155b5423844d21be0a5574fe218a63170a16796c6f7880e", + }, + "scala_proto_rules_grpc_api": { + "artifact": "io.grpc:grpc-api:1.24.0", + "sha256": "553978366e04ee8ddba64afde3b3cf2ac021a2f3c2db2831b6491d742b558598", + }, + "scala_proto_rules_grpc_stub": { + "artifact": "io.grpc:grpc-stub:1.24.0", + "sha256": "eaa9201896a77a0822e26621b538c7154f00441a51c9b14dc9e1ec1f2acfb815", + }, + "scala_proto_rules_grpc_protobuf": { + "artifact": "io.grpc:grpc-protobuf:1.24.0", + "sha256": "88cd0838ea32893d92cb214ea58908351854ed8de7730be07d5f7d19025dd0bc", + }, + "scala_proto_rules_grpc_netty": { + "artifact": "io.grpc:grpc-netty:1.24.0", + "sha256": "8478333706ba442a354c2ddb8832d80a5aef71016e8a9cf07e7bf6e8c298f042", + }, + "scala_proto_rules_grpc_context": { + "artifact": "io.grpc:grpc-context:1.24.0", + "sha256": "1f0546e18789f7445d1c5a157010a11bc038bbb31544cdb60d9da3848efcfeea", + }, + "scala_proto_rules_perfmark_api": { + "artifact": "io.perfmark:perfmark-api:0.17.0", + "sha256": "816c11409b8a0c6c9ce1cda14bed526e7b4da0e772da67c5b7b88eefd41520f9", + }, + "scala_proto_rules_guava": { + "artifact": "com.google.guava:guava:26.0-android", + "sha256": "1d044ebb866ef08b7d04e998b4260c9b52fab6e6d6b68d207859486bb3686cd5", + }, + "scala_proto_rules_google_instrumentation": { + "artifact": "com.google.instrumentation:instrumentation-api:0.3.0", + "sha256": "671f7147487877f606af2c7e39399c8d178c492982827305d3b1c7f5b04f1145", + }, + "scala_proto_rules_netty_codec": { + "artifact": "io.netty:netty-codec:4.1.32.Final", + "sha256": "dbd6cea7d7bf5a2604e87337cb67c9468730d599be56511ed0979aacb309f879", + }, + "scala_proto_rules_netty_codec_http": { + "artifact": "io.netty:netty-codec-http:4.1.32.Final", + "sha256": "db2c22744f6a4950d1817e4e1a26692e53052c5d54abe6cceecd7df33f4eaac3", + }, + "scala_proto_rules_netty_codec_socks": { + "artifact": "io.netty:netty-codec-socks:4.1.32.Final", + "sha256": "fe2f2e97d6c65dc280623dcfd24337d8a5c7377049c120842f2c59fb83d7408a", + }, + "scala_proto_rules_netty_codec_http2": { + "artifact": "io.netty:netty-codec-http2:4.1.32.Final", + "sha256": "4d4c6cfc1f19efb969b9b0ae6cc977462d202867f7dcfee6e9069977e623a2f5", + }, + "scala_proto_rules_netty_handler": { + "artifact": "io.netty:netty-handler:4.1.32.Final", + "sha256": "07d9756e48b5f6edc756e33e8b848fb27ff0b1ae087dab5addca6c6bf17cac2d", + }, + "scala_proto_rules_netty_buffer": { + "artifact": "io.netty:netty-buffer:4.1.32.Final", + "sha256": "8ac0e30048636bd79ae205c4f9f5d7544290abd3a7ed39d8b6d97dfe3795afc1", + }, + "scala_proto_rules_netty_transport": { + "artifact": "io.netty:netty-transport:4.1.32.Final", + "sha256": "175bae0d227d7932c0c965c983efbb3cf01f39abe934f5c4071d0319784715fb", + }, + "scala_proto_rules_netty_resolver": { + "artifact": "io.netty:netty-resolver:4.1.32.Final", + "sha256": "9b4a19982047a95ea4791a7ad7ad385c7a08c2ac75f0a3509cc213cb32a726ae", + }, + "scala_proto_rules_netty_common": { + "artifact": "io.netty:netty-common:4.1.32.Final", + "sha256": "cc993e660f8f8e3b033f1d25a9e2f70151666bdf878d460a6508cb23daa696dc", + }, + "scala_proto_rules_netty_handler_proxy": { + "artifact": "io.netty:netty-handler-proxy:4.1.32.Final", + "sha256": "10d1081ed114bb0e76ebbb5331b66a6c3189cbdefdba232733fc9ca308a6ea34", + }, + "scala_proto_rules_opencensus_api": { + "artifact": "io.opencensus:opencensus-api:0.22.1", + "sha256": "62a0503ee81856ba66e3cde65dee3132facb723a4fa5191609c84ce4cad36127", + }, + "scala_proto_rules_opencensus_impl": { + "artifact": "io.opencensus:opencensus-impl:0.22.1", + "sha256": "9e8b209da08d1f5db2b355e781b9b969b2e0dab934cc806e33f1ab3baed4f25a", + }, + "scala_proto_rules_disruptor": { + "artifact": "com.lmax:disruptor:3.4.2", + "sha256": "f412ecbb235c2460b45e63584109723dea8d94b819c78c9bfc38f50cba8546c0", + }, + "scala_proto_rules_opencensus_impl_core": { + "artifact": "io.opencensus:opencensus-impl-core:0.22.1", + "sha256": "04607d100e34bacdb38f93c571c5b7c642a1a6d873191e25d49899668514db68", + }, + "scala_proto_rules_opencensus_contrib_grpc_metrics": { + "artifact": "io.opencensus:opencensus-contrib-grpc-metrics:0.22.1", + "sha256": "3f6f4d5bd332c516282583a01a7c940702608a49ed6e62eb87ef3b1d320d144b", + }, + "io_bazel_rules_scala_org_tpolecat_tut_core": { + "artifact": "org.tpolecat:tut-core_2.11:0.6.13", + "sha256": "7f89f9858713e9089d47389e66a2184303bf3582719e4ab313d83dccd5ed2fe9", + }, + "io_bazel_rules_scala_mustache": { + "artifact": "com.github.spullara.mustache.java:compiler:0.8.18", + "sha256": "ddabc1ef897fd72319a761d29525fd61be57dc25d04d825f863f83cc89000e66", + }, + "io_bazel_rules_scala_guava": { + "artifact": "com.google.guava:guava:21.0", + "sha256": "972139718abc8a4893fa78cba8cf7b2c903f35c97aaf44fa3031b0669948b480", + }, + "libthrift": { + "artifact": "org.apache.thrift:libthrift:0.8.0", + "sha256": "adea029247c3f16e55e29c1708b897812fd1fe335ac55fe3903e5d2f428ef4b3", + }, + "io_bazel_rules_scala_scrooge_core": { + "artifact": "com.twitter:scrooge-core_2.11:18.6.0", + "sha256": "00351f73b555d61cfe7320ef3b1367a9641e694cfb8dfa8a733cfcf49df872e8", + }, + "io_bazel_rules_scala_scrooge_generator": { + "artifact": "com.twitter:scrooge-generator_2.11:18.6.0", + "sha256": "0f0027e815e67985895a6f3caa137f02366ceeea4966498f34fb82cabb11dee6", + "runtime_deps": [ + "@io_bazel_rules_scala_guava", + "@io_bazel_rules_scala_mustache", + ], + }, + "io_bazel_rules_scala_util_core": { + "artifact": "com.twitter:util-core_2.11:18.6.0", + "sha256": "5336da4846dfc3db8ffe5ae076be1021828cfee35aa17bda9af461e203cf265c", + }, + "io_bazel_rules_scala_util_logging": { + "artifact": "com.twitter:util-logging_2.11:18.6.0", + "sha256": "73ddd61cedabd4dab82b30e6c52c1be6c692b063b8ba310d716ead9e3b4e9267", + }, + "io_bazel_rules_scala_javax_annotation_api": { + "artifact": "javax.annotation:javax.annotation-api:1.3.2", + "sha256": "e04ba5195bcd555dc95650f7cc614d151e4bcd52d29a10b8aa2197f3ab89ab9b", + }, + + # test only + "com_twitter__scalding_date": { + "testonly": True, + "artifact": "com.twitter:scalding-date_2.11:0.17.0", + "sha256": "bf743cd6d224a4568d6486a2b794143e23145d2afd7a1d2de412d49e45bdb308", + }, + "org_typelevel__cats_core": { + "testonly": True, + "artifact": "org.typelevel:cats-core_2.11:0.9.0", + "sha256": "3fda7a27114b0d178107ace5c2cf04e91e9951810690421768e65038999ffca5", + }, + "org_psywerx_hairyfotr__linter": { + "testonly": True, + "artifact": "org.psywerx.hairyfotr:linter_2.11:0.1.17", + "sha256": "44a7dcc177cff78ed21ccbfa05309db4198992c84261f8a7818ebc5546499e8e", + }, + "com_google_guava_guava_21_0_with_file": { + "testonly": True, + "artifact": "com.google.guava:guava:21.0", + "sha256": "972139718abc8a4893fa78cba8cf7b2c903f35c97aaf44fa3031b0669948b480", + }, + "com_github_jnr_jffi_native": { + "testonly": True, + "artifact": "com.github.jnr:jffi:jar:native:1.2.17", + "sha256": "4eb582bc99d96c8df92fc6f0f608fd123d278223982555ba16219bf8be9f75a9", + }, + "org_apache_commons_commons_lang_3_5": { + "testonly": True, + "artifact": "org.apache.commons:commons-lang3:3.5", + "sha256": "8ac96fc686512d777fca85e144f196cd7cfe0c0aec23127229497d1a38ff651c", + }, + "org_springframework_spring_core": { + "testonly": True, + "artifact": "org.springframework:spring-core:5.1.5.RELEASE", + "sha256": "f771b605019eb9d2cf8f60c25c050233e39487ff54d74c93d687ea8de8b7285a", + }, + "org_springframework_spring_tx": { + "testonly": True, + "artifact": "org.springframework:spring-tx:5.1.5.RELEASE", + "sha256": "666f72b73c7e6b34e5bb92a0d77a14cdeef491c00fcb07a1e89eb62b08500135", + "deps": [ + "@org_springframework_spring_core", + ], + }, + "com_google_guava_guava_21_0": { + "testonly": True, + "artifact": "com.google.guava:guava:21.0", + "sha256": "972139718abc8a4893fa78cba8cf7b2c903f35c97aaf44fa3031b0669948b480", + "deps": [ + "@org_springframework_spring_core", + ], + }, + "org_spire_math_kind_projector": { + "testonly": True, + "artifact": "org.spire-math:kind-projector_2.11:0.9.10", + "sha256": "897460d4488b7dd6ac9198937d6417b36cc6ec8ab3693fdf2c532652f26c4373", + }, +} diff --git a/third_party/repositories/scala_2_12.bzl b/third_party/repositories/scala_2_12.bzl new file mode 100644 index 000000000..e5319118d --- /dev/null +++ b/third_party/repositories/scala_2_12.bzl @@ -0,0 +1,474 @@ +artifacts = { + "io_bazel_rules_scala_scala_library": { + "artifact": "org.scala-lang:scala-library:2.12.11", + "sha256": "dbfe77a3fc7a16c0c7cb6cb2b91fecec5438f2803112a744cb1b187926a138be", + }, + "io_bazel_rules_scala_scala_compiler": { + "artifact": "org.scala-lang:scala-compiler:2.12.11", + "sha256": "e901937dbeeae1715b231a7cfcd547a10d5bbf0dfb9d52d2886eae18b4d62ab6", + }, + "io_bazel_rules_scala_scala_reflect": { + "artifact": "org.scala-lang:scala-reflect:2.12.11", + "sha256": "5f9e156aeba45ef2c4d24b303405db259082739015190b3b334811843bd90d6a", + }, + "io_bazel_rules_scala_scalatest": { + "artifact": "org.scalatest:scalatest_2.12:3.0.5", + "sha256": "b416b5bcef6720da469a8d8a5726e457fc2d1cd5d316e1bc283aa75a2ae005e5", + }, + "io_bazel_rules_scala_scalactic": { + "artifact": "org.scalactic:scalactic_2.12:3.0.5", + "sha256": "57e25b4fd969b1758fe042595112c874dfea99dca5cc48eebe07ac38772a0c41", + }, + "io_bazel_rules_scala_scala_xml": { + "artifact": "org.scala-lang.modules:scala-xml_2.12:1.0.5", + "sha256": "035015366f54f403d076d95f4529ce9eeaf544064dbc17c2d10e4f5908ef4256", + }, + "io_bazel_rules_scala_scala_parser_combinators": { + "artifact": "org.scala-lang.modules:scala-parser-combinators_2.12:1.0.4", + "sha256": "282c78d064d3e8f09b3663190d9494b85e0bb7d96b0da05994fe994384d96111", + }, + "org_scalameta_common": { + "artifact": "org.scalameta:common_2.12:4.3.0", + "sha256": "3bdb2ff71d3e86f94b4d31d2c40442f533655860749a92fd17e1f29b8deb8baa", + "deps": [ + "@com_lihaoyi_sourcecode", + "//external:io_bazel_rules_scala/dependency/scala/scala_library", + ], + }, + "org_scalameta_fastparse": { + "artifact": "org.scalameta:fastparse_2.12:1.0.1", + "sha256": "387ced762e93915c5f87fed59d8453e404273f49f812d413405696ce20273aa5", + "deps": [ + "@com_lihaoyi_sourcecode", + "//external:io_bazel_rules_scala/dependency/scala/scala_library", + "@org_scalameta_fastparse_utils", + ], + }, + "org_scalameta_fastparse_utils": { + "artifact": "org.scalameta:fastparse-utils_2.12:1.0.1", + "sha256": "9d8ad97778ef9aedef5d4190879ed0ec54969e2fc951576fe18746ae6ce6cfcf", + "deps": [ + "@com_lihaoyi_sourcecode", + "//external:io_bazel_rules_scala/dependency/scala/scala_library", + ], + }, + "org_scala_lang_modules_scala_collection_compat": { + "artifact": "org.scala-lang.modules:scala-collection-compat_2.12:2.1.2", + "sha256": "8aab3e1f9dd7bc392a2e27cf168af94fdc7cc2752131fc852192302fb21efdb4", + "deps": [ + "//external:io_bazel_rules_scala/dependency/scala/scala_library", + ], + }, + "org_scalameta_parsers": { + "artifact": "org.scalameta:parsers_2.12:4.3.0", + "sha256": "d9f87d03b6b5e942f263db6dab75937493bfcb0fe7cfe2cda6567bf30f23ff3a", + "deps": [ + "//external:io_bazel_rules_scala/dependency/scala/scala_library", + "@org_scalameta_trees", + ], + }, + "org_scalameta_scalafmt_core": { + "artifact": "org.scalameta:scalafmt-core_2.12:2.3.2", + "sha256": "4788e2045e99f4624162d3182016a05032a7ab1324c4a28af433aa070f916773", + "deps": [ + "@com_geirsson_metaconfig_core", + "@com_geirsson_metaconfig_typesafe_config", + "//external:io_bazel_rules_scala/dependency/scala/scala_library", + "//external:io_bazel_rules_scala/dependency/scala/scala_reflect", + "@org_scalameta_scalameta", + "@org_scala_lang_modules_scala_collection_compat", + ], + }, + "org_scalameta_scalameta": { + "artifact": "org.scalameta:scalameta_2.12:4.3.0", + "sha256": "4d9487b434cbe9d89033824a4fc902dc7c782eea94961e8575df91ae96b10d6a", + "deps": [ + "//external:io_bazel_rules_scala/dependency/scala/scala_library", + "@org_scala_lang_scalap", + "@org_scalameta_parsers", + ], + }, + "org_scalameta_trees": { + "artifact": "org.scalameta:trees_2.12:4.3.0", + "sha256": "020b53681dd8e148d74ffa282276994bcb0f06c3425fb9a4bb9f8d161e22187a", + "deps": [ + "@com_thesamet_scalapb_scalapb_runtime", + "//external:io_bazel_rules_scala/dependency/scala/scala_library", + "@org_scalameta_common", + "@org_scalameta_fastparse", + ], + }, + "org_typelevel_paiges_core": { + "artifact": "org.typelevel:paiges-core_2.12:0.2.4", + "sha256": "594ca130526023e80549484e45400d09810fa39d9fd6b4663830a00be2a8556a", + "deps": [ + "//external:io_bazel_rules_scala/dependency/scala/scala_library", + ], + }, + "com_typesafe_config": { + "artifact": "com.typesafe:config:1.3.3", + "sha256": "b5f1d6071f1548d05be82f59f9039c7d37a1787bd8e3c677e31ee275af4a4621", + }, + "org_scala_lang_scalap": { + "artifact": "org.scala-lang:scalap:2.12.10", + "sha256": "4641b0a55fe1ebec995b4daea9183c21651c03f77d2ed08b345507474eeabe72", + "deps": [ + "@io_bazel_rules_scala_scala_compiler", + ], + }, + "com_thesamet_scalapb_lenses": { + "artifact": "com.thesamet.scalapb:lenses_2.12:0.9.0", + "sha256": "0a2fff4de17d270cea561618090c21d50bc891d82c6f9dfccdc20568f18d0260", + "deps": [ + "//external:io_bazel_rules_scala/dependency/scala/scala_library", + ], + }, + "com_thesamet_scalapb_scalapb_runtime": { + "artifact": "com.thesamet.scalapb:scalapb-runtime_2.12:0.9.0", + "sha256": "b905fa66b3fd0fabf3114105cd73ae2bdddbb6e13188a6538a92ae695e7ad6ed", + "deps": [ + "@com_google_protobuf_protobuf_java", + "@com_lihaoyi_fastparse", + "@com_thesamet_scalapb_lenses", + "//external:io_bazel_rules_scala/dependency/scala/scala_library", + ], + }, + "com_lihaoyi_fansi": { + "artifact": "com.lihaoyi:fansi_2.12:0.2.5", + "sha256": "7d752240ec724e7370903c25b69088922fa3fb6831365db845cd72498f826eca", + "deps": [ + "@com_lihaoyi_sourcecode", + "//external:io_bazel_rules_scala/dependency/scala/scala_library", + ], + }, + "com_lihaoyi_fastparse": { + "artifact": "com.lihaoyi:fastparse_2.12:2.1.2", + "sha256": "92a98f89c4f9559715124599ee5ce8f0d36ee326f5c7ef88b51487de39a3602e", + "deps": [ + "@com_lihaoyi_sourcecode", + ], + }, + "com_lihaoyi_pprint": { + "artifact": "com.lihaoyi:pprint_2.12:0.5.3", + "sha256": "2e18aa0884870537bf5c562255fc759d4ebe360882b5cb2141b30eda4034c71d", + "deps": [ + "@com_lihaoyi_fansi", + "@com_lihaoyi_sourcecode", + "//external:io_bazel_rules_scala/dependency/scala/scala_library", + ], + }, + "com_lihaoyi_sourcecode": { + "artifact": "com.lihaoyi:sourcecode_2.12:0.1.7", + "sha256": "f07d79f0751ac275cc09b92caf3618f0118d153da7868b8f0c9397ce93c5f926", + "deps": [ + "//external:io_bazel_rules_scala/dependency/scala/scala_library", + ], + }, + "com_google_protobuf_protobuf_java": { + "artifact": "com.google.protobuf:protobuf-java:3.10.0", + "sha256": "161d7d61a8cb3970891c299578702fd079646e032329d6c2cabf998d191437c9", + }, + "com_geirsson_metaconfig_core": { + "artifact": "com.geirsson:metaconfig-core_2.12:0.9.4", + "sha256": "970b3d74fc9b2982d9fb31d93f460000b41fff21c0b9d9ef9476ed333a010b2a", + "deps": [ + "@com_lihaoyi_pprint", + "//external:io_bazel_rules_scala/dependency/scala/scala_library", + "@org_typelevel_paiges_core", + "@org_scala_lang_modules_scala_collection_compat", + ], + }, + "com_geirsson_metaconfig_typesafe_config": { + "artifact": "com.geirsson:metaconfig-typesafe-config_2.12:0.9.4", + "sha256": "3165f30a85d91de7f8ba714e685a6b822bd1cbb365946f5d708163725df3ef5d", + "deps": [ + "@com_geirsson_metaconfig_core", + "@com_typesafe_config", + "//external:io_bazel_rules_scala/dependency/scala/scala_library", + "@org_scala_lang_modules_scala_collection_compat", + ], + }, + "io_bazel_rules_scala_org_openjdk_jmh_jmh_core": { + "artifact": "org.openjdk.jmh:jmh-core:1.20", + "sha256": "1688db5110ea6413bf63662113ed38084106ab1149e020c58c5ac22b91b842ca", + }, + "io_bazel_rules_scala_org_openjdk_jmh_jmh_generator_asm": { + "artifact": "org.openjdk.jmh:jmh-generator-asm:1.20", + "sha256": "2dd4798b0c9120326310cda3864cc2e0035b8476346713d54a28d1adab1414a5", + }, + "io_bazel_rules_scala_org_openjdk_jmh_jmh_generator_reflection": { + "artifact": "org.openjdk.jmh:jmh-generator-reflection:1.20", + "sha256": "57706f7c8278272594a9afc42753aaf9ba0ba05980bae0673b8195908d21204e", + }, + "io_bazel_rules_scala_org_ows2_asm_asm": { + "artifact": "org.ow2.asm:asm:6.1.1", + "sha256": "dd3b546415dd4bade2ebe3b47c7828ab0623ee2336604068e2d81023f9f8d833", + }, + "io_bazel_rules_scala_net_sf_jopt_simple_jopt_simple": { + "artifact": "net.sf.jopt-simple:jopt-simple:4.6", + "sha256": "3fcfbe3203c2ea521bf7640484fd35d6303186ea2e08e72f032d640ca067ffda", + }, + "io_bazel_rules_scala_org_apache_commons_commons_math3": { + "artifact": "org.apache.commons:commons-math3:3.6.1", + "sha256": "1e56d7b058d28b65abd256b8458e3885b674c1d588fa43cd7d1cbb9c7ef2b308", + }, + "io_bazel_rules_scala_junit_junit": { + "artifact": "junit:junit:4.12", + "sha256": "59721f0805e223d84b90677887d9ff567dc534d7c502ca903c0c2b17f05c116a", + }, + "io_bazel_rules_scala_org_hamcrest_hamcrest_core": { + "artifact": "org.hamcrest:hamcrest-core:1.3", + "sha256": "66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9", + }, + "io_bazel_rules_scala_org_specs2_specs2_common": { + "artifact": "org.specs2:specs2-common_2.12:4.4.1", + "sha256": "7b7d2497bfe10ad552f5ab3780537c7db9961d0ae841098d5ebd91c78d09438a", + "deps": [ + "@io_bazel_rules_scala_org_specs2_specs2_fp", + ], + }, + "io_bazel_rules_scala_org_specs2_specs2_core": { + "artifact": "org.specs2:specs2-core_2.12:4.4.1", + "sha256": "f92c3c83844aac13250acec4eb247a2a26a2b3f04e79ef1bf42c56de4e0bb2e7", + "deps": [ + "@io_bazel_rules_scala_org_specs2_specs2_common", + "@io_bazel_rules_scala_org_specs2_specs2_matcher", + ], + }, + "io_bazel_rules_scala_org_specs2_specs2_fp": { + "artifact": "org.specs2:specs2-fp_2.12:4.4.1", + "sha256": "834a145b28dbf57ba6d96f02a3862522e693b5aeec44d4cb2f305ef5617dc73f", + }, + "io_bazel_rules_scala_org_specs2_specs2_matcher": { + "artifact": "org.specs2:specs2-matcher_2.12:4.4.1", + "sha256": "78c699001c307dcc5dcbec8a80cd9f14e9bdaa047579c3d1010ee4bea66805fe", + "deps": [ + "@io_bazel_rules_scala_org_specs2_specs2_common", + ], + }, + "io_bazel_rules_scala_org_specs2_specs2_junit": { + "artifact": "org.specs2:specs2-junit_2.12:4.4.1", + "sha256": "c867824801da5cccf75354da6d12d406009c435865ecd08a881b799790e9ffec", + "deps": [ + "@io_bazel_rules_scala_org_specs2_specs2_core", + ], + }, + "scala_proto_rules_scalapb_plugin": { + "artifact": "com.thesamet.scalapb:compilerplugin_2.12:0.9.7", + "sha256": "516ed567e2c3ac28b91a2f350d3febc7a6a396978718145f536853ffe8de40c2", + }, + "scala_proto_rules_protoc_bridge": { + "artifact": "com.thesamet.scalapb:protoc-bridge_2.12:0.7.14", + "sha256": "2b8db0b71be5052768a96ccc41c9bb03f3f19e1e267e810a64963566538b1a2b", + }, + "scala_proto_rules_scalapb_runtime": { + "artifact": "com.thesamet.scalapb:scalapb-runtime_2.12:0.9.7", + "sha256": "82624a7fadaa323bbb8d33e37f055ce42e761c203573ace3ccf95bd0511917fe", + }, + "scala_proto_rules_scalapb_runtime_grpc": { + "artifact": "com.thesamet.scalapb:scalapb-runtime-grpc_2.12:0.9.7", + "sha256": "4c00f2a57cc1d00a2d454f695c3f1e565173e1d1297294f1cf81339bdeba3f4a", + }, + "scala_proto_rules_scalapb_lenses": { + "artifact": "com.thesamet.scalapb:lenses_2.12:0.9.7", + "sha256": "fff4fc9d47ad44c1371ff2d8dfa2b5907826c4b98ca576baf67f14d31d0d9be1", + }, + "scala_proto_rules_scalapb_fastparse": { + "artifact": "com.lihaoyi:fastparse_2.12:2.1.3", + "sha256": "e8b831a843c0eb5105d42e4b6febfc772b3aed3a853a899e6c8196e9ecc057df", + }, + "scala_proto_rules_grpc_core": { + "artifact": "io.grpc:grpc-core:1.24.0", + "sha256": "8fc900625a9330b1c155b5423844d21be0a5574fe218a63170a16796c6f7880e", + }, + "scala_proto_rules_grpc_api": { + "artifact": "io.grpc:grpc-api:1.24.0", + "sha256": "553978366e04ee8ddba64afde3b3cf2ac021a2f3c2db2831b6491d742b558598", + }, + "scala_proto_rules_grpc_stub": { + "artifact": "io.grpc:grpc-stub:1.24.0", + "sha256": "eaa9201896a77a0822e26621b538c7154f00441a51c9b14dc9e1ec1f2acfb815", + }, + "scala_proto_rules_grpc_protobuf": { + "artifact": "io.grpc:grpc-protobuf:1.24.0", + "sha256": "88cd0838ea32893d92cb214ea58908351854ed8de7730be07d5f7d19025dd0bc", + }, + "scala_proto_rules_grpc_netty": { + "artifact": "io.grpc:grpc-netty:1.24.0", + "sha256": "8478333706ba442a354c2ddb8832d80a5aef71016e8a9cf07e7bf6e8c298f042", + }, + "scala_proto_rules_grpc_context": { + "artifact": "io.grpc:grpc-context:1.24.0", + "sha256": "1f0546e18789f7445d1c5a157010a11bc038bbb31544cdb60d9da3848efcfeea", + }, + "scala_proto_rules_perfmark_api": { + "artifact": "io.perfmark:perfmark-api:0.17.0", + "sha256": "816c11409b8a0c6c9ce1cda14bed526e7b4da0e772da67c5b7b88eefd41520f9", + }, + "scala_proto_rules_guava": { + "artifact": "com.google.guava:guava:26.0-android", + "sha256": "1d044ebb866ef08b7d04e998b4260c9b52fab6e6d6b68d207859486bb3686cd5", + }, + "scala_proto_rules_google_instrumentation": { + "artifact": "com.google.instrumentation:instrumentation-api:0.3.0", + "sha256": "671f7147487877f606af2c7e39399c8d178c492982827305d3b1c7f5b04f1145", + }, + "scala_proto_rules_netty_codec": { + "artifact": "io.netty:netty-codec:4.1.32.Final", + "sha256": "dbd6cea7d7bf5a2604e87337cb67c9468730d599be56511ed0979aacb309f879", + }, + "scala_proto_rules_netty_codec_http": { + "artifact": "io.netty:netty-codec-http:4.1.32.Final", + "sha256": "db2c22744f6a4950d1817e4e1a26692e53052c5d54abe6cceecd7df33f4eaac3", + }, + "scala_proto_rules_netty_codec_socks": { + "artifact": "io.netty:netty-codec-socks:4.1.32.Final", + "sha256": "fe2f2e97d6c65dc280623dcfd24337d8a5c7377049c120842f2c59fb83d7408a", + }, + "scala_proto_rules_netty_codec_http2": { + "artifact": "io.netty:netty-codec-http2:4.1.32.Final", + "sha256": "4d4c6cfc1f19efb969b9b0ae6cc977462d202867f7dcfee6e9069977e623a2f5", + }, + "scala_proto_rules_netty_handler": { + "artifact": "io.netty:netty-handler:4.1.32.Final", + "sha256": "07d9756e48b5f6edc756e33e8b848fb27ff0b1ae087dab5addca6c6bf17cac2d", + }, + "scala_proto_rules_netty_buffer": { + "artifact": "io.netty:netty-buffer:4.1.32.Final", + "sha256": "8ac0e30048636bd79ae205c4f9f5d7544290abd3a7ed39d8b6d97dfe3795afc1", + }, + "scala_proto_rules_netty_transport": { + "artifact": "io.netty:netty-transport:4.1.32.Final", + "sha256": "175bae0d227d7932c0c965c983efbb3cf01f39abe934f5c4071d0319784715fb", + }, + "scala_proto_rules_netty_resolver": { + "artifact": "io.netty:netty-resolver:4.1.32.Final", + "sha256": "9b4a19982047a95ea4791a7ad7ad385c7a08c2ac75f0a3509cc213cb32a726ae", + }, + "scala_proto_rules_netty_common": { + "artifact": "io.netty:netty-common:4.1.32.Final", + "sha256": "cc993e660f8f8e3b033f1d25a9e2f70151666bdf878d460a6508cb23daa696dc", + }, + "scala_proto_rules_netty_handler_proxy": { + "artifact": "io.netty:netty-handler-proxy:4.1.32.Final", + "sha256": "10d1081ed114bb0e76ebbb5331b66a6c3189cbdefdba232733fc9ca308a6ea34", + }, + "scala_proto_rules_opencensus_api": { + "artifact": "io.opencensus:opencensus-api:0.22.1", + "sha256": "62a0503ee81856ba66e3cde65dee3132facb723a4fa5191609c84ce4cad36127", + }, + "scala_proto_rules_opencensus_impl": { + "artifact": "io.opencensus:opencensus-impl:0.22.1", + "sha256": "9e8b209da08d1f5db2b355e781b9b969b2e0dab934cc806e33f1ab3baed4f25a", + }, + "scala_proto_rules_disruptor": { + "artifact": "com.lmax:disruptor:3.4.2", + "sha256": "f412ecbb235c2460b45e63584109723dea8d94b819c78c9bfc38f50cba8546c0", + }, + "scala_proto_rules_opencensus_impl_core": { + "artifact": "io.opencensus:opencensus-impl-core:0.22.1", + "sha256": "04607d100e34bacdb38f93c571c5b7c642a1a6d873191e25d49899668514db68", + }, + "scala_proto_rules_opencensus_contrib_grpc_metrics": { + "artifact": "io.opencensus:opencensus-contrib-grpc-metrics:0.22.1", + "sha256": "3f6f4d5bd332c516282583a01a7c940702608a49ed6e62eb87ef3b1d320d144b", + }, + "io_bazel_rules_scala_org_tpolecat_tut_core": { + "artifact": "org.tpolecat:tut-core_2.12:0.6.13", + "sha256": "a9dbf69c127983be9ead4fdae23ef9d06f3395d754eeef864fc504bb9205d510", + }, + "io_bazel_rules_scala_mustache": { + "artifact": "com.github.spullara.mustache.java:compiler:0.8.18", + "sha256": "ddabc1ef897fd72319a761d29525fd61be57dc25d04d825f863f83cc89000e66", + }, + "io_bazel_rules_scala_guava": { + "artifact": "com.google.guava:guava:21.0", + "sha256": "972139718abc8a4893fa78cba8cf7b2c903f35c97aaf44fa3031b0669948b480", + }, + "libthrift": { + "artifact": "org.apache.thrift:libthrift:0.8.0", + "sha256": "adea029247c3f16e55e29c1708b897812fd1fe335ac55fe3903e5d2f428ef4b3", + }, + "io_bazel_rules_scala_scrooge_core": { + "artifact": "com.twitter:scrooge-core_2.12:18.6.0", + "sha256": "02a6d7cf9fe8d872dfabd20298e4315d677748708e153d8b464fd5abac9a7430", + }, + "io_bazel_rules_scala_scrooge_generator": { + "artifact": "com.twitter:scrooge-generator_2.12:18.6.0", + "sha256": "e7d5da1e3f0e494d3c81a26f44f3e3dc92d7efd757133de8c71758646fd5a833", + "runtime_deps": [ + "@io_bazel_rules_scala_guava", + "@io_bazel_rules_scala_mustache", + ], + }, + "io_bazel_rules_scala_util_core": { + "artifact": "com.twitter:util-core_2.12:18.6.0", + "sha256": "65bb92e70f95cbbfc640e54a5823a16154eac1a2631dc0211347e085aaa6ed0b", + }, + "io_bazel_rules_scala_util_logging": { + "artifact": "com.twitter:util-logging_2.12:18.6.0", + "sha256": "c0cba01705e9321b3444adcd4a9ce27c2acefd27e14c13b5aec2c318ce1b4fdf", + }, + "io_bazel_rules_scala_javax_annotation_api": { + "artifact": "javax.annotation:javax.annotation-api:1.3.2", + "sha256": "e04ba5195bcd555dc95650f7cc614d151e4bcd52d29a10b8aa2197f3ab89ab9b", + }, + + # test only + "com_twitter__scalding_date": { + "testonly": True, + "artifact": "com.twitter:scalding-date_2.12:0.17.0", + "sha256": "973a7198121cc8dac9eeb3f325c93c497fe3b682f68ba56e34c1b210af7b15b3", + }, + "org_typelevel__cats_core": { + "testonly": True, + "artifact": "org.typelevel:cats-core_2.12:0.9.0", + "sha256": "3ca705cba9dc0632e60477d80779006f8c636c0e2e229dda3410a0c314c1ea1d", + }, + "org_psywerx_hairyfotr__linter": { + "testonly": True, + "artifact": "org.psywerx.hairyfotr:linter_2.12:0.1.17", + "sha256": "59becd7883613064842b3a62f84315b02457dc439f42ef62e3c80408393c905b", + }, + "com_google_guava_guava_21_0_with_file": { + "testonly": True, + "artifact": "com.google.guava:guava:21.0", + "sha256": "972139718abc8a4893fa78cba8cf7b2c903f35c97aaf44fa3031b0669948b480", + }, + "com_github_jnr_jffi_native": { + "testonly": True, + "artifact": "com.github.jnr:jffi:jar:native:1.2.17", + "sha256": "4eb582bc99d96c8df92fc6f0f608fd123d278223982555ba16219bf8be9f75a9", + }, + "org_apache_commons_commons_lang_3_5": { + "testonly": True, + "artifact": "org.apache.commons:commons-lang3:3.5", + "sha256": "8ac96fc686512d777fca85e144f196cd7cfe0c0aec23127229497d1a38ff651c", + }, + "org_springframework_spring_core": { + "testonly": True, + "artifact": "org.springframework:spring-core:5.1.5.RELEASE", + "sha256": "f771b605019eb9d2cf8f60c25c050233e39487ff54d74c93d687ea8de8b7285a", + }, + "org_springframework_spring_tx": { + "testonly": True, + "artifact": "org.springframework:spring-tx:5.1.5.RELEASE", + "sha256": "666f72b73c7e6b34e5bb92a0d77a14cdeef491c00fcb07a1e89eb62b08500135", + "deps": [ + "@org_springframework_spring_core", + ], + }, + "com_google_guava_guava_21_0": { + "testonly": True, + "artifact": "com.google.guava:guava:21.0", + "sha256": "972139718abc8a4893fa78cba8cf7b2c903f35c97aaf44fa3031b0669948b480", + "deps": [ + "@org_springframework_spring_core", + ], + }, + "org_spire_math_kind_projector": { + "testonly": True, + "artifact": "org.spire-math:kind-projector_2.12:0.9.10", + "sha256": "36aca2493302e2c037328107a121cda1d28bf9119fbc04fb47ea1ff9bce3c03f", + }, +} diff --git a/tut_rule/tut.bzl b/tut_rule/tut.bzl index c17d76101..72b2b3619 100644 --- a/tut_rule/tut.bzl +++ b/tut_rule/tut.bzl @@ -1,38 +1,22 @@ load("//scala:scala.bzl", "scala_binary") load( "//scala:scala_cross_version.bzl", - "scala_mvn_artifact", _default_scala_version = "default_scala_version", - _extract_major_version = "extract_major_version", -) -load( - "@io_bazel_rules_scala//scala:scala_maven_import_external.bzl", - _scala_maven_import_external = "scala_maven_import_external", ) +load("//third_party/repositories:repositories.bzl", "repositories") def tut_repositories( scala_version = _default_scala_version(), + overriden_artifacts = {}, server_urls = ["https://dl.bintray.com/tpolecat/maven/"]): - major_version = _extract_major_version(scala_version) - - scala_jar_shas = { - "2.11": { - "tut_core": "edab4e9963dd7dbab1a8bfff2ef087eb6b6882804dfb3a2641895c958a62ba89", - }, - "2.12": { - "tut_core": "767735128b6d5694d59ccb3bd1f5544a05d83146577121bcf7b6a32327adf281", - }, - } - - _scala_maven_import_external( - name = "io_bazel_rules_scala_org_tpolecat_tut_core", - artifact = scala_mvn_artifact( - "org.tpolecat:tut-core:0.4.8", - major_version, - ), - artifact_sha256 = scala_jar_shas[major_version]["tut_core"], - licenses = ["notice"], - server_urls = server_urls, + repositories( + scala_version = scala_version, + for_artifact_ids = [ + "io_bazel_rules_scala_org_tpolecat_tut_core", + ], + maven_servers = server_urls, + fetch_sources = False, + overriden_artifacts = overriden_artifacts, ) native.bind( diff --git a/twitter_scrooge/twitter_scrooge.bzl b/twitter_scrooge/twitter_scrooge.bzl index c47b2c9b4..fb3b1b084 100644 --- a/twitter_scrooge/twitter_scrooge.bzl +++ b/twitter_scrooge/twitter_scrooge.bzl @@ -3,13 +3,6 @@ load( "//scala:scala_cross_version.bzl", _default_maven_server_urls = "default_maven_server_urls", _default_scala_version = "default_scala_version", - _extract_major_version = "extract_major_version", - _scala_mvn_artifact = "scala_mvn_artifact", -) -load( - "@io_bazel_rules_scala//scala:scala_maven_import_external.bzl", - _jvm_maven_import_external = "jvm_maven_import_external", - _scala_maven_import_external = "scala_maven_import_external", ) load( "//scala/private:common.bzl", @@ -29,54 +22,38 @@ load( "@io_bazel_rules_scala//thrift:thrift.bzl", "merge_thrift_infos", ) +load("//third_party/repositories:repositories.bzl", "repositories") _jar_extension = ".jar" -def _default_libthrift_target_label(maven_servers): - _scala_maven_import_external( - name = "libthrift", - artifact = "org.apache.thrift:libthrift:0.8.0", - artifact_sha256 = "adea029247c3f16e55e29c1708b897812fd1fe335ac55fe3903e5d2f428ef4b3", - licenses = ["notice"], - server_urls = maven_servers, - ) - return "@libthrift//jar" - -def _default_scala_jar_shas(major_version): - scala_jar_shas = { - "2.11": { - "util_logging": "73ddd61cedabd4dab82b30e6c52c1be6c692b063b8ba310d716ead9e3b4e9267", - "scrooge_core": "00351f73b555d61cfe7320ef3b1367a9641e694cfb8dfa8a733cfcf49df872e8", - "scrooge_generator": "0f0027e815e67985895a6f3caa137f02366ceeea4966498f34fb82cabb11dee6", - "util_core": "5336da4846dfc3db8ffe5ae076be1021828cfee35aa17bda9af461e203cf265c", - }, - "2.12": { - "util_logging": "c0cba01705e9321b3444adcd4a9ce27c2acefd27e14c13b5aec2c318ce1b4fdf", - "scrooge_core": "02a6d7cf9fe8d872dfabd20298e4315d677748708e153d8b464fd5abac9a7430", - "scrooge_generator": "e7d5da1e3f0e494d3c81a26f44f3e3dc92d7efd757133de8c71758646fd5a833", - "util_core": "65bb92e70f95cbbfc640e54a5823a16154eac1a2631dc0211347e085aaa6ed0b", - }, - } - return scala_jar_shas[major_version] - -def defaulted_twitter_scrooge_dependency(dependency_name, dependency_version, sha, scala_major_version, maven_servers = _default_maven_server_urls(), runtime_deps = []): - external_name = "io_bazel_rules_scala_{}".format(dependency_name.replace("-", "_")) - _scala_maven_import_external( - name = external_name, - artifact = _scala_mvn_artifact( - "com.twitter:{}:{}".format(dependency_name, dependency_version), - scala_major_version, - ), - artifact_sha256 = sha, - licenses = ["notice"], - server_urls = maven_servers, - runtime_deps = runtime_deps, +def _declare_and_bind( + label, + artifact_id, + external_artifact_id, + overriden_artifacts, + scala_version, + maven_servers): + if not label: + repositories( + scala_version = scala_version, + for_artifact_ids = [ + artifact_id, + ], + maven_servers = maven_servers, + fetch_sources = False, + overriden_artifacts = overriden_artifacts, + ) + label = "@" + artifact_id + + native.bind( + name = external_artifact_id, + actual = label, ) - return "@{}".format(external_name) def twitter_scrooge( scala_version = _default_scala_version(), maven_servers = _default_maven_server_urls(), + overriden_artifacts = {}, # These target labels need maven_servers to compute sensible defaults. # Therefore we leave them None here. libthrift = None, @@ -84,93 +61,77 @@ def twitter_scrooge( scrooge_generator = None, util_core = None, util_logging = None): - major_version = _extract_major_version(scala_version) + _declare_and_bind( + libthrift, + "libthrift", + "io_bazel_rules_scala/dependency/thrift/libthrift", + overriden_artifacts, + scala_version, + maven_servers, + ) - if not libthrift: - libthrift = _default_libthrift_target_label(maven_servers) - native.bind( - name = "io_bazel_rules_scala/dependency/thrift/libthrift", - actual = libthrift, + _declare_and_bind( + scrooge_core, + "io_bazel_rules_scala_scrooge_core", + "io_bazel_rules_scala/dependency/thrift/scrooge_core", + overriden_artifacts, + scala_version, + maven_servers, ) - scala_version_jar_shas = _default_scala_jar_shas(major_version) - default_scrooge_deps_version = "18.6.0" + _declare_and_bind( + scrooge_generator, + "io_bazel_rules_scala_scrooge_generator", + "io_bazel_rules_scala/dependency/thrift/scrooge_generator", + overriden_artifacts, + scala_version, + maven_servers, + ) - if not scrooge_core: - scrooge_core = defaulted_twitter_scrooge_dependency("scrooge-core", default_scrooge_deps_version, scala_version_jar_shas["scrooge_core"], major_version, maven_servers) - native.bind( - name = "io_bazel_rules_scala/dependency/thrift/scrooge_core", - actual = scrooge_core, + _declare_and_bind( + util_core, + "io_bazel_rules_scala_util_core", + "io_bazel_rules_scala/dependency/thrift/util_core", + overriden_artifacts, + scala_version, + maven_servers, ) - # Mustache is needed to generate java from thrift, and is pased further down. - mustache_name = "io_bazel_rules_scala_mustache" - _jvm_maven_import_external( - name = mustache_name, - artifact = "com.github.spullara.mustache.java:compiler:0.8.18", - server_urls = maven_servers, - rule_name = "java_import", - licenses = ["notice"], - artifact_sha256 = "ddabc1ef897fd72319a761d29525fd61be57dc25d04d825f863f83cc89000e66", + _declare_and_bind( + util_logging, + "io_bazel_rules_scala_util_logging", + "io_bazel_rules_scala/dependency/thrift/util_logging", + overriden_artifacts, + scala_version, + maven_servers, ) - mustache_label = "@{}".format(mustache_name) - mustache_bind_target = "io_bazel_rules_scala/dependency/thrift/mustache" + + repositories( + scala_version = scala_version, + for_artifact_ids = [ + "io_bazel_rules_scala_mustache", # Mustache is needed to generate java from thrift, and is passed further down. + "io_bazel_rules_scala_guava", + "io_bazel_rules_scala_javax_annotation_api", + ], + maven_servers = maven_servers, + fetch_sources = False, + overriden_artifacts = overriden_artifacts, + ) + native.bind( - name = mustache_bind_target, - actual = mustache_label, + name = "io_bazel_rules_scala/dependency/thrift/mustache", + actual = "@io_bazel_rules_scala_mustache", ) # scrooge-generator needs these runtime_deps to generate java from thrift. if not native.existing_rule("io_bazel_rules_scala/dependency/scala/guava"): - _jvm_maven_import_external( - name = "io_bazel_rules_scala_guava", - artifact = "com.google.guava:guava:21.0", - server_urls = maven_servers, - rule_name = "java_import", - licenses = ["notice"], - artifact_sha256 = "972139718abc8a4893fa78cba8cf7b2c903f35c97aaf44fa3031b0669948b480", - ) - native.bind( name = "io_bazel_rules_scala/dependency/scala/guava", actual = "@io_bazel_rules_scala_guava", ) - runtime_deps_for_generator = [ - "//external:io_bazel_rules_scala/dependency/scala/guava", - "//external:{}".format(mustache_bind_target), - ] - if not scrooge_generator: - scrooge_generator = defaulted_twitter_scrooge_dependency("scrooge-generator", default_scrooge_deps_version, scala_version_jar_shas["scrooge_generator"], major_version, maven_servers, runtime_deps_for_generator) - native.bind( - name = "io_bazel_rules_scala/dependency/thrift/scrooge_generator", - actual = scrooge_generator, - ) - - if not util_core: - util_core = defaulted_twitter_scrooge_dependency("util-core", default_scrooge_deps_version, scala_version_jar_shas["util_core"], major_version, maven_servers) - native.bind( - name = "io_bazel_rules_scala/dependency/thrift/util_core", - actual = util_core, - ) - - if not util_logging: - util_logging = defaulted_twitter_scrooge_dependency("util-logging", default_scrooge_deps_version, scala_version_jar_shas["util_logging"], major_version, maven_servers) - native.bind( - name = "io_bazel_rules_scala/dependency/thrift/util_logging", - actual = util_logging, - ) - # This is a shim needed to import `@javax.annotation.Generated` when compiled with jdk11. if not native.existing_rule("io_bazel_rules_scala/dependency/thrift/javax_annotation_api"): - _scala_maven_import_external( - name = "io_bazel_rules_scala_javax_annotation_api", - artifact = "javax.annotation:javax.annotation-api:1.3.2", - artifact_sha256 = "e04ba5195bcd555dc95650f7cc614d151e4bcd52d29a10b8aa2197f3ab89ab9b", - licenses = ["notice"], - server_urls = maven_servers, - ) - native.bind( name = "io_bazel_rules_scala/dependency/thrift/javax_annotation_api", actual = "@io_bazel_rules_scala_javax_annotation_api",