github.com/stackb/rules_proto@v0.0.0-20240221195024-5428336c51f1/WORKSPACE (about)

     1  workspace(name = "build_stack_rules_proto")
     2  
     3  # gazelle:repo bazel_gazelle
     4  
     5  # ----------------------------------------------------
     6  # Toolchain-Related
     7  # ----------------------------------------------------
     8  
     9  register_toolchains(
    10      "//toolchain:standard",
    11      # "//toolchain:prebuilt",  # alt
    12  )
    13  
    14  # ----------------------------------------------------
    15  # Core Deps
    16  # ----------------------------------------------------
    17  
    18  load("//deps:core_deps.bzl", "core_deps")
    19  
    20  core_deps()
    21  
    22  # ----------------------------------------------------
    23  # Core Protobuf
    24  # ----------------------------------------------------
    25  
    26  load("//deps:protobuf_core_deps.bzl", "protobuf_core_deps")
    27  
    28  protobuf_core_deps()
    29  
    30  # ----------------------------------------------------
    31  # Core gRPC
    32  # ----------------------------------------------------
    33  
    34  load("//deps:grpc_core_deps.bzl", "grpc_core_deps")
    35  
    36  grpc_core_deps()
    37  
    38  load(
    39      "@com_github_grpc_grpc//bazel:grpc_deps.bzl",
    40      "grpc_deps",
    41  )
    42  
    43  grpc_deps()
    44  
    45  # NOTE: rather than using the 'grpc_extra_deps' function, we selectively load
    46  # only the parts of that macro that are needed.  Using the macro as-is for
    47  # *this* WORKSPACE causes issues with duplicate go_register_toolchains calls.
    48  #
    49  # load( "@com_github_grpc_grpc//bazel:grpc_extra_deps.bzl", "grpc_extra_deps",
    50  # )
    51  # grpc_extra_deps()
    52  
    53  load("@build_bazel_rules_apple//apple:repositories.bzl", "apple_rules_dependencies")
    54  
    55  apple_rules_dependencies(ignore_version_differences = False)
    56  
    57  load("@com_google_googleapis//:repository_rules.bzl", "switched_rules_by_language")
    58  
    59  # Initialize Google APIs with only C++ and Python targets
    60  switched_rules_by_language(
    61      name = "com_google_googleapis_imports",
    62      cc = True,
    63      grpc = True,
    64      python = True,
    65  )
    66  
    67  load("@envoy_api//bazel:repositories.bzl", "api_dependencies")
    68  
    69  api_dependencies()
    70  
    71  # ----------------------------------------------------
    72  # Go Tools
    73  # ----------------------------------------------------
    74  
    75  load(
    76      "@io_bazel_rules_go//go:deps.bzl",
    77      "go_register_toolchains",
    78      "go_rules_dependencies",
    79  )
    80  
    81  go_rules_dependencies()
    82  
    83  go_register_toolchains(version = "1.18.2")
    84  
    85  # ----------------------------------------------------
    86  # Gazelle
    87  # ----------------------------------------------------
    88  
    89  load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies")
    90  
    91  gazelle_dependencies()
    92  
    93  load("//:go_deps.bzl", "gazelle_protobuf_extension_go_deps", "go_deps")
    94  
    95  # gazelle:repository_macro go_deps.bzl%go_deps
    96  go_deps()
    97  
    98  gazelle_protobuf_extension_go_deps()
    99  
   100  load("//deps:prebuilt_protoc_deps.bzl", "prebuilt_protoc_deps")
   101  
   102  prebuilt_protoc_deps()
   103  
   104  load("//deps:js_core_deps.bzl", "js_core_deps")
   105  
   106  js_core_deps()
   107  
   108  load("//deps:grpc_java_deps.bzl", "grpc_java_deps")
   109  
   110  grpc_java_deps()
   111  
   112  load("//deps:closure_deps.bzl", "closure_deps")
   113  
   114  closure_deps()
   115  
   116  load("//deps:grpc_js_deps.bzl", "grpc_js_deps")
   117  
   118  grpc_js_deps()
   119  
   120  load("//deps:scala_deps.bzl", "scala_deps")
   121  
   122  scala_deps()
   123  
   124  load("//deps:nodejs_deps.bzl", "nodejs_deps")
   125  
   126  nodejs_deps()
   127  
   128  load("//deps:grpc_node_deps.bzl", "grpc_node_deps")
   129  
   130  grpc_node_deps()
   131  
   132  load("//deps:grpc_web_deps.bzl", "grpc_web_deps")
   133  
   134  grpc_web_deps()
   135  
   136  load("//deps:ts_proto_deps.bzl", "ts_proto_deps")
   137  
   138  ts_proto_deps()
   139  
   140  # ----------------------------------------------------
   141  # Python
   142  # ----------------------------------------------------
   143  
   144  load("@rules_python//python:repositories.bzl", "py_repositories")
   145  
   146  py_repositories()
   147  
   148  # ----------------------------------------------------
   149  # Java
   150  # ----------------------------------------------------
   151  
   152  load(
   153      "@rules_jvm_external//:defs.bzl",
   154      "maven_install",
   155  )
   156  load(
   157      "@io_grpc_grpc_java//:repositories.bzl",
   158      "IO_GRPC_GRPC_JAVA_ARTIFACTS",
   159      "IO_GRPC_GRPC_JAVA_OVERRIDE_TARGETS",
   160      "grpc_java_repositories",
   161  )
   162  load("@com_google_protobuf//:protobuf_deps.bzl", "PROTOBUF_MAVEN_ARTIFACTS", "protobuf_deps")
   163  
   164  protobuf_deps()
   165  
   166  maven_install(
   167      name = "maven",
   168      artifacts = IO_GRPC_GRPC_JAVA_ARTIFACTS + PROTOBUF_MAVEN_ARTIFACTS,
   169      generate_compat_repositories = True,
   170      # TODO(pcj): why does pinning of this repository cause such problems?
   171      # example: no such package '@com_google_errorprone_error_prone_annotations_2_18_0//file': The repository '@com_google_errorprone_error_prone_annotations_2_18_0' could not be resolved: Repository '@com_google_errorprone_error_prone_annotations_2_18_0' is not defined and referenced by '@maven//:com_google_errorprone_error_prone_annotations_2_18_0_extension'
   172      # maven_install_json = "//:maven_install.json",
   173      override_targets = IO_GRPC_GRPC_JAVA_OVERRIDE_TARGETS,
   174      repositories = ["https://repo.maven.apache.org/maven2/"],
   175      strict_visibility = True,
   176  )
   177  
   178  load("@maven//:compat.bzl", "compat_repositories")
   179  
   180  compat_repositories()
   181  
   182  grpc_java_repositories()
   183  
   184  # # ----------------------------------------------------
   185  # # Golang
   186  # # ----------------------------------------------------
   187  
   188  load("//deps:go_core_deps.bzl", "go_core_deps")
   189  
   190  go_core_deps()
   191  
   192  # ----------------------------------------------------
   193  # Scala
   194  # ----------------------------------------------------
   195  
   196  load("@io_bazel_rules_scala//:scala_config.bzl", "scala_config")
   197  
   198  scala_config(
   199      enable_compiler_dependency_tracking = True,
   200      scala_version = "2.12.18",
   201  )
   202  
   203  load("@io_bazel_rules_scala//scala:scala.bzl", "scala_repositories")
   204  
   205  scala_repositories()
   206  
   207  register_toolchains(
   208      "//toolchain/scala:default_toolchain",
   209  )
   210  
   211  # ----------------------------------------------------
   212  # Scala/Maven
   213  # ----------------------------------------------------
   214  
   215  # bazel run @maven_scala//:pin, but first comment out the "maven_install_json"
   216  # (put it back once pinned again)
   217  maven_install(
   218      name = "maven_scala",
   219      artifacts = [
   220          "com.thesamet.scalapb:lenses_2.12:0.11.5",
   221          "com.thesamet.scalapb:scalapb-json4s_2.12:0.12.0",
   222          "com.thesamet.scalapb:scalapb-runtime_2.12:0.11.5",
   223          "com.thesamet.scalapb:scalapb-runtime-grpc_2.12:0.11.5",
   224          "com.thesamet.scalapb:scalapbc_2.12:0.11.5",
   225          "io.grpc:grpc-api:1.40.1",
   226          "io.grpc:grpc-core:1.40.1",
   227          "io.grpc:grpc-netty:1.40.1",
   228          "io.grpc:grpc-protobuf:1.40.1",
   229          "io.grpc:grpc-stub:1.40.1",
   230          "org.json4s:json4s-core_2.12:4.0.3",
   231      ],
   232      fetch_sources = True,
   233      maven_install_json = "//:maven_scala_install.json",
   234      repositories = ["https://repo1.maven.org/maven2"],
   235  )
   236  
   237  load("@maven_scala//:defs.bzl", pinned_maven_scala_install = "pinned_maven_install")
   238  
   239  pinned_maven_scala_install()
   240  
   241  # ----------------------------------------------------
   242  # Scala/Akka
   243  # ----------------------------------------------------
   244  
   245  # bazel run @maven_akka//:pin, but first comment out the "maven_install_json"
   246  # (put it back once pinned again)
   247  maven_install(
   248      name = "maven_akka",
   249      artifacts = [
   250          "com.lightbend.akka.grpc:akka-grpc-codegen_2.12:2.1.3",
   251          "com.lightbend.akka.grpc:akka-grpc-runtime_2.12:2.1.3",
   252      ],
   253      fetch_sources = True,
   254      maven_install_json = "//:maven_akka_install.json",
   255      repositories = ["https://repo1.maven.org/maven2"],
   256  )
   257  
   258  load("@maven_akka//:defs.bzl", pinned_maven_akka_install = "pinned_maven_install")
   259  
   260  pinned_maven_akka_install()
   261  
   262  # ----------------------------------------------------
   263  # Closure
   264  # ----------------------------------------------------
   265  
   266  load("@io_bazel_rules_closure//closure:repositories.bzl", "rules_closure_dependencies", "rules_closure_toolchains")
   267  
   268  rules_closure_toolchains()
   269  
   270  rules_closure_dependencies(
   271      omit_rules_python = True,
   272  )
   273  
   274  # ----------------------------------------------------
   275  # NodeJS
   276  # ----------------------------------------------------
   277  
   278  load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies")
   279  
   280  build_bazel_rules_nodejs_dependencies()
   281  
   282  load("@build_bazel_rules_nodejs//:index.bzl", "node_repositories")
   283  
   284  node_repositories()
   285  
   286  # ----------------------------------------------------
   287  # proto_repositories
   288  # ----------------------------------------------------
   289  
   290  load("//:proto_repositories.bzl", "proto_repositories")
   291  
   292  proto_repositories()
   293  
   294  # ----------------------------------------------------
   295  # @aspect_rules_ts
   296  # ----------------------------------------------------
   297  load("@aspect_rules_ts//ts:repositories.bzl", "rules_ts_dependencies")
   298  
   299  rules_ts_dependencies(
   300      # This keeps the TypeScript version in-sync with the editor, which is typically best.
   301      ts_version_from = "//:package.json",
   302  )
   303  
   304  # ----------------------------------------------------
   305  # @rules_nodejs
   306  # ----------------------------------------------------
   307  
   308  load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains")
   309  
   310  nodejs_register_toolchains(
   311      name = "node",
   312      node_version = DEFAULT_NODE_VERSION,
   313  )
   314  
   315  load("@aspect_rules_js//npm:npm_import.bzl", "npm_translate_lock")
   316  
   317  npm_translate_lock(
   318      name = "npm_ts_proto",
   319      generate_bzl_library_targets = True,
   320      npmrc = "//:.npmrc",
   321      pnpm_lock = "//:pnpm-lock.yaml",
   322      verify_node_modules_ignored = "//:.bazelignore",
   323  )
   324  
   325  load("@npm_ts_proto//:repositories.bzl", npm_ts_proto_repositories = "npm_repositories")
   326  
   327  npm_ts_proto_repositories()