diff --git a/MODULE.bazel b/MODULE.bazel index e06a2f0d0d..1ba65d4975 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -1,7 +1,20 @@ -bazel_dep(name = "apple_support", repo_name = "build_bazel_apple_support", version = "1.21.1") +module(name = "net_eagle0") + +# Version constants +SCALA_VERSION = "2.13.16" +NETTY_VERSION = "4.1.110.Final" +SCALAPB_VERSION = "1.0.0-alpha.1" +AWS_SDK_VERSION = "2.28.1" # -# Scala support +# Core Build Tools +# + +bazel_dep(name = "bazel_skylib", version = "1.8.1") +bazel_dep(name = "rules_pkg", version = "1.1.0") + +# +# Language Support - Scala # bazel_dep(name = "rules_scala", version = "7.0.0") @@ -10,62 +23,40 @@ scala_config = use_extension( "@rules_scala//scala/extensions:config.bzl", "scala_config", ) - -scala_config.settings(scala_version = "2.13.16") +scala_config.settings(scala_version = SCALA_VERSION) scala_deps = use_extension( "@rules_scala//scala/extensions:deps.bzl", "scala_deps", ) - scala_deps.scala() - scala_deps.scalatest() - scala_deps.scala_proto() -register_toolchains( - "//tools:unused_dependency_checker_error_and_opts_toolchain", - "@rules_scala//testing:scalatest_toolchain", -) - # -# bazel-toolchain +# Language Support - C++ # bazel_dep(name = "toolchains_llvm", version = "1.4.0") -# Configure and register the toolchain. llvm = use_extension("@toolchains_llvm//toolchain/extensions:llvm.bzl", "llvm") - llvm.toolchain( name = "llvm_toolchain", llvm_version = "20.1.2", ) - use_repo(llvm, "llvm_toolchain") -# Set dev_dependency so we can turn this off for swift MacOS builds -register_toolchains( - "@llvm_toolchain//:all", - dev_dependency = True, -) +# +# Language Support - Go +# -bazel_dep(name = "rules_pkg", version = "1.1.0") -bazel_dep(name = "bazel_skylib", version = "1.8.1") -bazel_dep(name = "protobuf", repo_name = "com_google_protobuf", version = "29.2") -bazel_dep(name = "grpc", version = "1.71.0") -bazel_dep(name = "grpc-java", version = "1.71.0") -bazel_dep(name = "googletest", version = "1.17.0") bazel_dep(name = "rules_go", repo_name = "io_bazel_rules_go", version = "0.56.1") bazel_dep(name = "gazelle", repo_name = "bazel_gazelle", version = "0.45.0") go_sdk = use_extension("@io_bazel_rules_go//go:extensions.bzl", "go_sdk") - go_sdk.download(version = "1.23.3") go_deps = use_extension("@bazel_gazelle//:extensions.bzl", "go_deps") - go_deps.from_file(go_mod = "//:go.mod") use_repo( @@ -79,64 +70,90 @@ use_repo( "com_github_google_go_cmp", ) -#go_sdk.nogo( -# nogo = "//:my_nogo", -#) - # -# rules_jvm_external +# Platform Support - Apple/iOS # -scala_version = "2.13.16" +bazel_dep(name = "apple_support", repo_name = "build_bazel_apple_support", version = "1.21.1") +bazel_dep(name = "rules_apple", repo_name = "build_bazel_rules_apple", version = "3.16.1") +bazel_dep(name = "rules_swift", repo_name = "build_bazel_rules_swift", version = "2.3.1") -bazel_dep( - name = "rules_jvm_external", - version = "6.3", -) +# +# Protocol Buffers & RPC +# + +bazel_dep(name = "protobuf", repo_name = "com_google_protobuf", version = "29.2") +bazel_dep(name = "grpc", version = "1.71.0") +bazel_dep(name = "grpc-java", version = "1.71.0") +bazel_dep(name = "flatbuffers", version = "25.2.10") + +# +# Testing +# + +bazel_dep(name = "googletest", version = "1.17.0") + +# +# Java/Scala Dependencies +# + +bazel_dep(name = "rules_jvm_external", version = "6.3") maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven") - maven.install( artifacts = [ - "org.scala-lang:scala-library:%s" % scala_version, - "io.netty:netty-codec:4.1.110.Final", - "io.netty:netty-codec-http:4.1.110.Final", - "io.netty:netty-codec-socks:4.1.110.Final", - "io.netty:netty-codec-http2:4.1.110.Final", - "io.netty:netty-handler:4.1.110.Final", - "io.netty:netty-buffer:4.1.110.Final", - "io.netty:netty-transport:4.1.110.Final", - "io.netty:netty-resolver:4.1.110.Final", - "io.netty:netty-common:4.1.110.Final", - "io.netty:netty-handler-proxy:4.1.110.Final", - "com.thesamet.scalapb:lenses_2.13:1.0.0-alpha.1", - "com.thesamet.scalapb:scalapb-json4s_2.13:1.0.0-alpha.1", - "com.thesamet.scalapb:scalapb-runtime_2.13:1.0.0-alpha.1", - "com.thesamet.scalapb:scalapb-runtime-grpc_2.13:1.0.0-alpha.1", - "com.thesamet.scalapb:compilerplugin_2.13:1.0.0-alpha.1", + # Netty + "io.netty:netty-codec:%s" % NETTY_VERSION, + "io.netty:netty-codec-http:%s" % NETTY_VERSION, + "io.netty:netty-codec-socks:%s" % NETTY_VERSION, + "io.netty:netty-codec-http2:%s" % NETTY_VERSION, + "io.netty:netty-handler:%s" % NETTY_VERSION, + "io.netty:netty-buffer:%s" % NETTY_VERSION, + "io.netty:netty-transport:%s" % NETTY_VERSION, + "io.netty:netty-resolver:%s" % NETTY_VERSION, + "io.netty:netty-common:%s" % NETTY_VERSION, + "io.netty:netty-handler-proxy:%s" % NETTY_VERSION, + + # ScalaPB + "com.thesamet.scalapb:lenses_2.13:%s" % SCALAPB_VERSION, + "com.thesamet.scalapb:scalapb-json4s_2.13:%s" % SCALAPB_VERSION, + "com.thesamet.scalapb:scalapb-runtime_2.13:%s" % SCALAPB_VERSION, + "com.thesamet.scalapb:scalapb-runtime-grpc_2.13:%s" % SCALAPB_VERSION, + "com.thesamet.scalapb:compilerplugin_2.13:%s" % SCALAPB_VERSION, "com.thesamet.scalapb:protoc-bridge_2.13:0.9.9", + + # JSON "org.json4s:json4s-ast_2.13:4.0.7", "org.json4s:json4s-core_2.13:4.0.7", "org.json4s:json4s-native_2.13:4.0.7", + + # Testing "org.scalamock:scalamock_2.13:6.0.0", - "software.amazon.awssdk:s3-transfer-manager:2.28.1", - "software.amazon.awssdk:s3:2.28.1", - "software.amazon.awssdk:regions:2.28.1", - "software.amazon.awssdk:aws-core:2.28.1", - "software.amazon.awssdk:sdk-core:2.28.1", - "org.slf4j:slf4j-api:2.0.16", - "org.slf4j:slf4j-simple:2.0.16", - #"software.amazon.awssdk:sns:2.28.1", - "software.amazon.awssdk:utils:2.28.1", - "software.amazon.awssdk:http-client-spi:2.28.1", - "org.reactivestreams:reactive-streams:1.0.4", + + # AWS SDK + "software.amazon.awssdk:s3-transfer-manager:%s" % AWS_SDK_VERSION, + "software.amazon.awssdk:s3:%s" % AWS_SDK_VERSION, + "software.amazon.awssdk:regions:%s" % AWS_SDK_VERSION, + "software.amazon.awssdk:aws-core:%s" % AWS_SDK_VERSION, + "software.amazon.awssdk:sdk-core:%s" % AWS_SDK_VERSION, + "software.amazon.awssdk:utils:%s" % AWS_SDK_VERSION, + "software.amazon.awssdk:http-client-spi:%s" % AWS_SDK_VERSION, + + # AWS Lambda "com.amazonaws:aws-lambda-java-core:1.2.3", "com.amazonaws:aws-lambda-java-events:3.13.0", + + # Logging + "org.slf4j:slf4j-api:2.0.16", + "org.slf4j:slf4j-simple:2.0.16", + + # Other + "org.reactivestreams:reactive-streams:1.0.4", "javax.xml.bind:jaxb-api:2.3.1", ], duplicate_version_warning = "error", fail_if_repin_required = True, - lock_file = "//:maven_install.json", # + lock_file = "//:maven_install.json", repositories = [ "https://repo1.maven.org/maven2", ], @@ -145,58 +162,47 @@ maven.install( use_repo(maven, "maven", "unpinned_maven") # -# rules_apple +# External Libraries # -bazel_dep( - name = "rules_apple", - repo_name = "build_bazel_rules_apple", - version = "3.16.1", -) -bazel_dep( - name = "rules_swift", - repo_name = "build_bazel_rules_swift", - version = "2.3.1", -) - -# -# Unbazelified imports -# http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") -# -# flatbuffers -# -bazel_dep(name = "flatbuffers", version = "25.2.10") - -# -# gtl (for parallel_hashmap) -# - -gtl_version = "1.2.0" - -gtl_sha = "1969c45dd76eac0dd87e9e2b65cffe358617f4fe1bcd203f72f427742537913a" +# GTL (for parallel_hashmap) +GTL_VERSION = "1.2.0" +GTL_SHA = "1969c45dd76eac0dd87e9e2b65cffe358617f4fe1bcd203f72f427742537913a" http_archive( name = "gtl", build_file = "@//external:BUILD.gtl", - sha256 = gtl_sha, - strip_prefix = "gtl-%s" % gtl_version, - url = "https://github.com/greg7mdp/gtl/archive/refs/tags/v%s.zip" % gtl_version, + sha256 = GTL_SHA, + strip_prefix = "gtl-%s" % GTL_VERSION, + url = "https://github.com/greg7mdp/gtl/archive/refs/tags/v%s.zip" % GTL_VERSION, ) -# -# Plugins for the native code for interacting with GoDice -# -unity_godice_commit = "18d6823991592e4d45fcc0f22692db849dea9063" - -unity_godice_sha = "04e6ae4155965aab3372592e04061eba1256bb6ea7ccffd0d83f27574e5b3349" +# Unity GoDice Plugin +UNITY_GODICE_COMMIT = "18d6823991592e4d45fcc0f22692db849dea9063" +UNITY_GODICE_SHA = "04e6ae4155965aab3372592e04061eba1256bb6ea7ccffd0d83f27574e5b3349" http_archive( name = "net_eagle0_unity_godice", - sha256 = unity_godice_sha, - strip_prefix = "godice-framework-%s" % unity_godice_commit, + sha256 = UNITY_GODICE_SHA, + strip_prefix = "godice-framework-%s" % UNITY_GODICE_COMMIT, urls = [ - "https://github.com/nolen777/godice-framework/archive/%s.zip" % unity_godice_commit, + "https://github.com/nolen777/godice-framework/archive/%s.zip" % UNITY_GODICE_COMMIT, ], ) + +# +# Toolchain Registration +# + +register_toolchains( + "//tools:unused_dependency_checker_error_and_opts_toolchain", + "@rules_scala//testing:scalatest_toolchain", +) + +# Set dev_dependency so we can turn this off for swift MacOS builds +register_toolchains( + "@llvm_toolchain//:all", + dev_dependency = True, +) \ No newline at end of file diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index b0a9d62f47..2d5bea4db8 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -1265,7 +1265,7 @@ "@@rules_scala~//scala/extensions:config.bzl%scala_config": { "general": { "bzlTransitiveDigest": "TYEDBdoN7s4wE8er7JwzFt7+3iw57BHsTSLyWmxbgZo=", - "usagesDigest": "0vjuUHyDlTJdFxMcWpJHhl10FwoAAgGGpZKyUV9NiGI=", + "usagesDigest": "OkrNNMZt+eU1JnoWW+bmuQbIeXJeFIEY6T9ivP/iNVc=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, "envVariables": { @@ -1291,7 +1291,7 @@ "@@rules_scala~//scala/extensions:deps.bzl%scala_deps": { "general": { "bzlTransitiveDigest": "aQWZ20GOW0DP3zHiRvT7LxxVMewcf19hw78i2LtnoHQ=", - "usagesDigest": "6QHHHVz+Tql2vcG26XvkwGE3HYdzTylBmH1GPeoeVaQ=", + "usagesDigest": "pjWuVKMiOuJt2ASpLtxMo0Iwn6uRSLS1AsTpaBNMCBY=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, "envVariables": {}, @@ -4488,7 +4488,7 @@ "@@toolchains_llvm~//toolchain/extensions:llvm.bzl%llvm": { "general": { "bzlTransitiveDigest": "afRF0aFOIUrkYl3o040WQ606ep1qciEXzjnAxT3Kek8=", - "usagesDigest": "wl2njI0HdPm89XuKGMWIa1gyCAQ5gvOs+ksjFd4QbZs=", + "usagesDigest": "sYVuhiCAQehFTnGTv0bNtTBR4WorebpWBNxF0mRusyw=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, "envVariables": {}, diff --git a/WORKSPACE b/WORKSPACE index 57296d4af5..72ec7bb8b7 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -1,3 +1,2 @@ -workspace(name = "net_eagle0") - -load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") +# This file marks the root of the Bazel workspace. +# See MODULE.bazel for external dependencies and setup. diff --git a/maven_install.json b/maven_install.json index a9061224aa..b6ca4b9508 100755 --- a/maven_install.json +++ b/maven_install.json @@ -1,6 +1,6 @@ { "__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL", - "__INPUT_ARTIFACTS_HASH": -690832229, + "__INPUT_ARTIFACTS_HASH": 796050561, "__RESOLVED_ARTIFACTS_HASH": 1915812668, "conflict_resolution": { "com.google.guava:failureaccess:1.0.1": "com.google.guava:failureaccess:1.0.2",