Skip to content

Commit

Permalink
Using gazelle java plugin (#27)
Browse files Browse the repository at this point in the history
* gazelle java

* gazelle on original project

* test

* update

* newline
  • Loading branch information
kriscfoster authored Aug 25, 2023
1 parent 948f690 commit 7b671ee
Show file tree
Hide file tree
Showing 7 changed files with 369 additions and 13 deletions.
15 changes: 13 additions & 2 deletions BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,9 +1,20 @@
load("@bazel_gazelle//:def.bzl", "gazelle")
load("@bazel_gazelle//:def.bzl", "DEFAULT_LANGUAGES", "gazelle", "gazelle_binary")
load("@io_bazel_rules_go//go:def.bzl", "nogo")
load("@npm//:defs.bzl", "npm_link_all_packages")

# gazelle:prefix github.com/kriscfoster/multi-language-bazel-monorepo
gazelle(name = "gazelle")
# gazelle:java_maven_install_file maven_install.json
gazelle(
name = "gazelle",
gazelle = ":gazelle_bin",
)

gazelle_binary(
name = "gazelle_bin",
languages = DEFAULT_LANGUAGES + [
"@contrib_rules_jvm//java/gazelle",
],
)

gazelle(
name = "gazelle-update-repos",
Expand Down
106 changes: 102 additions & 4 deletions WORKSPACE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,10 @@ http_archive(

http_archive(
name = "bazel_gazelle",
sha256 = "727f3e4edd96ea20c29e8c2ca9e8d2af724d8c7778e7923a854b2c80952bc405",
sha256 = "29218f8e0cebe583643cbf93cae6f971be8a2484cdcfa1e45057658df8d54002",
urls = [
"https://mirror.bazel.build/github.com/bazelbuild/bazel-gazelle/releases/download/v0.30.0/bazel-gazelle-v0.30.0.tar.gz",
"https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.30.0/bazel-gazelle-v0.30.0.tar.gz",
"https://mirror.bazel.build/github.com/bazelbuild/bazel-gazelle/releases/download/v0.32.0/bazel-gazelle-v0.32.0.tar.gz",
"https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.32.0/bazel-gazelle-v0.32.0.tar.gz",
],
)

Expand Down Expand Up @@ -168,9 +168,15 @@ rules_jvm_external_setup()

load("@rules_jvm_external//:defs.bzl", "maven_install")

# when the list of dependencies changes
# bazel run @unpinned_maven//:pin
maven_install(
artifacts = [
"com.github.javafaker:javafaker:1.0.2"
"com.github.javafaker:javafaker:1.0.2",
"org.junit.jupiter:junit-jupiter-api:5.10.0",
"org.junit.jupiter:junit-jupiter-engine:5.10.0",
"org.junit.platform:junit-platform-launcher:1.10.0",
"org.junit.platform:junit-platform-reporting:1.10.0",
],
repositories = [
"https://maven.google.com",
Expand Down Expand Up @@ -221,3 +227,95 @@ oci_pull(
# digest = "sha256:161a1d97d592b3f1919801578c3a47c8e932071168a96267698f4b669c24c76d",
# image = "gcr.io/distroless/java17",
# )


http_archive(
name = "contrib_rules_jvm",
sha256 = "bd0f82def1879df85ff0a80767e6455911e1c9c1eac5db1de8f68dcccd4a3d7a",
strip_prefix = "rules_jvm-0.18.0",
url = "https://github.com/bazel-contrib/rules_jvm/releases/download/v0.18.0/rules_jvm-v0.18.0.tar.gz",
)

load("@contrib_rules_jvm//:repositories.bzl", "contrib_rules_jvm_deps", "contrib_rules_jvm_gazelle_deps")

contrib_rules_jvm_deps()

contrib_rules_jvm_gazelle_deps()

load("@contrib_rules_jvm//:setup.bzl", "contrib_rules_jvm_setup")

contrib_rules_jvm_setup()

load("@contrib_rules_jvm//:gazelle_setup.bzl", "contrib_rules_jvm_gazelle_setup")

contrib_rules_jvm_gazelle_setup()

http_archive(
name = "zlib",
urls = [
"https://github.com/madler/zlib/archive/v1.2.11.tar.gz",
],
strip_prefix = "zlib-1.2.11",
sha256 = "629380c90a77b964d896ed37163f5c3a34f6e6d897311f1df2a7016355c45eff",
build_file_content = """
package(default_visibility = ["//visibility:public"])
licenses(["notice"]) # BSD/MIT-like license (for zlib)
_ZLIB_HEADERS = [
"crc32.h",
"deflate.h",
"gzguts.h",
"inffast.h",
"inffixed.h",
"inflate.h",
"inftrees.h",
"trees.h",
"zconf.h",
"zlib.h",
"zutil.h",
]
_ZLIB_PREFIXED_HEADERS = ["zlib/include/" + hdr for hdr in _ZLIB_HEADERS]
# In order to limit the damage from the `includes` propagation
# via `:zlib`, copy the public headers to a subdirectory and
# expose those.
genrule(
name = "copy_public_headers",
srcs = _ZLIB_HEADERS,
outs = _ZLIB_PREFIXED_HEADERS,
cmd = "cp $(SRCS) $(@D)/zlib/include/",
visibility = ["//visibility:private"],
)
cc_library(
name = "zlib",
srcs = [
"adler32.c",
"compress.c",
"crc32.c",
"deflate.c",
"gzclose.c",
"gzlib.c",
"gzread.c",
"gzwrite.c",
"infback.c",
"inffast.c",
"inflate.c",
"inftrees.c",
"trees.c",
"uncompr.c",
"zutil.c",
# Include the un-prefixed headers in srcs to work
# around the fact that zlib isn't consistent in its
# choice of <> or "" delimiter when including itself.
] + _ZLIB_HEADERS,
hdrs = _ZLIB_PREFIXED_HEADERS,
copts = [
"-Wno-unused-variable",
"-Wno-implicit-function-declaration",
],
includes = ["zlib/include/"],
)""",
)
209 changes: 207 additions & 2 deletions maven_install.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"dependency_tree": {
"__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL",
"__INPUT_ARTIFACTS_HASH": -1565741678,
"__RESOLVED_ARTIFACTS_HASH": 2110343736,
"__INPUT_ARTIFACTS_HASH": -1854133820,
"__RESOLVED_ARTIFACTS_HASH": -801919959,
"conflict_resolution": {},
"dependencies": [
{
Expand Down Expand Up @@ -93,6 +93,211 @@
"sha256": "8ac96fc686512d777fca85e144f196cd7cfe0c0aec23127229497d1a38ff651c",
"url": "https://repo1.maven.org/maven2/org/apache/commons/commons-lang3/3.5/commons-lang3-3.5.jar"
},
{
"coord": "org.apiguardian:apiguardian-api:1.1.2",
"dependencies": [],
"directDependencies": [],
"file": "v1/https/repo1.maven.org/maven2/org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar",
"https://maven.google.com/org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar"
],
"packages": [
"org.apiguardian.api"
],
"sha256": "b509448ac506d607319f182537f0b35d71007582ec741832a1f111e5b5b70b38",
"url": "https://repo1.maven.org/maven2/org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar"
},
{
"coord": "org.junit.jupiter:junit-jupiter-api:5.10.0",
"dependencies": [
"org.apiguardian:apiguardian-api:1.1.2",
"org.junit.platform:junit-platform-commons:1.10.0",
"org.opentest4j:opentest4j:1.3.0"
],
"directDependencies": [
"org.apiguardian:apiguardian-api:1.1.2",
"org.junit.platform:junit-platform-commons:1.10.0",
"org.opentest4j:opentest4j:1.3.0"
],
"file": "v1/https/repo1.maven.org/maven2/org/junit/jupiter/junit-jupiter-api/5.10.0/junit-jupiter-api-5.10.0.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/org/junit/jupiter/junit-jupiter-api/5.10.0/junit-jupiter-api-5.10.0.jar",
"https://maven.google.com/org/junit/jupiter/junit-jupiter-api/5.10.0/junit-jupiter-api-5.10.0.jar"
],
"packages": [
"org.junit.jupiter.api",
"org.junit.jupiter.api.condition",
"org.junit.jupiter.api.extension",
"org.junit.jupiter.api.extension.support",
"org.junit.jupiter.api.function",
"org.junit.jupiter.api.io",
"org.junit.jupiter.api.parallel"
],
"sha256": "108088fd7ea46a8e65a0ce7f5d75ae3ff7865606770a078715f5a6e5709e17d8",
"url": "https://repo1.maven.org/maven2/org/junit/jupiter/junit-jupiter-api/5.10.0/junit-jupiter-api-5.10.0.jar"
},
{
"coord": "org.junit.jupiter:junit-jupiter-engine:5.10.0",
"dependencies": [
"org.apiguardian:apiguardian-api:1.1.2",
"org.junit.jupiter:junit-jupiter-api:5.10.0",
"org.junit.platform:junit-platform-commons:1.10.0",
"org.junit.platform:junit-platform-engine:1.10.0",
"org.opentest4j:opentest4j:1.3.0"
],
"directDependencies": [
"org.apiguardian:apiguardian-api:1.1.2",
"org.junit.jupiter:junit-jupiter-api:5.10.0",
"org.junit.platform:junit-platform-engine:1.10.0"
],
"file": "v1/https/repo1.maven.org/maven2/org/junit/jupiter/junit-jupiter-engine/5.10.0/junit-jupiter-engine-5.10.0.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/org/junit/jupiter/junit-jupiter-engine/5.10.0/junit-jupiter-engine-5.10.0.jar",
"https://maven.google.com/org/junit/jupiter/junit-jupiter-engine/5.10.0/junit-jupiter-engine-5.10.0.jar"
],
"packages": [
"org.junit.jupiter.engine",
"org.junit.jupiter.engine.config",
"org.junit.jupiter.engine.descriptor",
"org.junit.jupiter.engine.discovery",
"org.junit.jupiter.engine.discovery.predicates",
"org.junit.jupiter.engine.execution",
"org.junit.jupiter.engine.extension",
"org.junit.jupiter.engine.support"
],
"sha256": "57ea48e6f795200791065bbc86b70b84cd05367c5c9f2ac8f9268e27154c88a8",
"url": "https://repo1.maven.org/maven2/org/junit/jupiter/junit-jupiter-engine/5.10.0/junit-jupiter-engine-5.10.0.jar"
},
{
"coord": "org.junit.platform:junit-platform-commons:1.10.0",
"dependencies": [
"org.apiguardian:apiguardian-api:1.1.2"
],
"directDependencies": [
"org.apiguardian:apiguardian-api:1.1.2"
],
"file": "v1/https/repo1.maven.org/maven2/org/junit/platform/junit-platform-commons/1.10.0/junit-platform-commons-1.10.0.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/org/junit/platform/junit-platform-commons/1.10.0/junit-platform-commons-1.10.0.jar",
"https://maven.google.com/org/junit/platform/junit-platform-commons/1.10.0/junit-platform-commons-1.10.0.jar"
],
"packages": [
"org.junit.platform.commons",
"org.junit.platform.commons.annotation",
"org.junit.platform.commons.function",
"org.junit.platform.commons.logging",
"org.junit.platform.commons.support",
"org.junit.platform.commons.util"
],
"sha256": "6083db08ca11fca1e16099d0dcfede0193d80b3762b276349d80d3da536791b2",
"url": "https://repo1.maven.org/maven2/org/junit/platform/junit-platform-commons/1.10.0/junit-platform-commons-1.10.0.jar"
},
{
"coord": "org.junit.platform:junit-platform-engine:1.10.0",
"dependencies": [
"org.apiguardian:apiguardian-api:1.1.2",
"org.junit.platform:junit-platform-commons:1.10.0",
"org.opentest4j:opentest4j:1.3.0"
],
"directDependencies": [
"org.apiguardian:apiguardian-api:1.1.2",
"org.junit.platform:junit-platform-commons:1.10.0",
"org.opentest4j:opentest4j:1.3.0"
],
"file": "v1/https/repo1.maven.org/maven2/org/junit/platform/junit-platform-engine/1.10.0/junit-platform-engine-1.10.0.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/org/junit/platform/junit-platform-engine/1.10.0/junit-platform-engine-1.10.0.jar",
"https://maven.google.com/org/junit/platform/junit-platform-engine/1.10.0/junit-platform-engine-1.10.0.jar"
],
"packages": [
"org.junit.platform.engine",
"org.junit.platform.engine.discovery",
"org.junit.platform.engine.reporting",
"org.junit.platform.engine.support.config",
"org.junit.platform.engine.support.descriptor",
"org.junit.platform.engine.support.discovery",
"org.junit.platform.engine.support.filter",
"org.junit.platform.engine.support.hierarchical",
"org.junit.platform.engine.support.store"
],
"sha256": "cd338efd02ee73966ea754e0c0c71e1a11f4af5db9c2003e4b6137e119155abe",
"url": "https://repo1.maven.org/maven2/org/junit/platform/junit-platform-engine/1.10.0/junit-platform-engine-1.10.0.jar"
},
{
"coord": "org.junit.platform:junit-platform-launcher:1.10.0",
"dependencies": [
"org.apiguardian:apiguardian-api:1.1.2",
"org.junit.platform:junit-platform-commons:1.10.0",
"org.junit.platform:junit-platform-engine:1.10.0",
"org.opentest4j:opentest4j:1.3.0"
],
"directDependencies": [
"org.apiguardian:apiguardian-api:1.1.2",
"org.junit.platform:junit-platform-engine:1.10.0"
],
"file": "v1/https/repo1.maven.org/maven2/org/junit/platform/junit-platform-launcher/1.10.0/junit-platform-launcher-1.10.0.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/org/junit/platform/junit-platform-launcher/1.10.0/junit-platform-launcher-1.10.0.jar",
"https://maven.google.com/org/junit/platform/junit-platform-launcher/1.10.0/junit-platform-launcher-1.10.0.jar"
],
"packages": [
"org.junit.platform.launcher",
"org.junit.platform.launcher.core",
"org.junit.platform.launcher.listeners",
"org.junit.platform.launcher.listeners.discovery",
"org.junit.platform.launcher.listeners.session",
"org.junit.platform.launcher.tagexpression"
],
"sha256": "8c60b661ac170701a635dfc67565efbb8c85b5c5cdd5a4a9576e3a015c7111a4",
"url": "https://repo1.maven.org/maven2/org/junit/platform/junit-platform-launcher/1.10.0/junit-platform-launcher-1.10.0.jar"
},
{
"coord": "org.junit.platform:junit-platform-reporting:1.10.0",
"dependencies": [
"org.apiguardian:apiguardian-api:1.1.2",
"org.junit.platform:junit-platform-commons:1.10.0",
"org.junit.platform:junit-platform-engine:1.10.0",
"org.junit.platform:junit-platform-launcher:1.10.0",
"org.opentest4j:opentest4j:1.3.0"
],
"directDependencies": [
"org.apiguardian:apiguardian-api:1.1.2",
"org.junit.platform:junit-platform-launcher:1.10.0"
],
"file": "v1/https/repo1.maven.org/maven2/org/junit/platform/junit-platform-reporting/1.10.0/junit-platform-reporting-1.10.0.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/org/junit/platform/junit-platform-reporting/1.10.0/junit-platform-reporting-1.10.0.jar",
"https://maven.google.com/org/junit/platform/junit-platform-reporting/1.10.0/junit-platform-reporting-1.10.0.jar"
],
"packages": [
"org.junit.platform.reporting.legacy",
"org.junit.platform.reporting.legacy.xml",
"org.junit.platform.reporting.open.xml",
"org.junit.platform.reporting.shadow.org.opentest4j.reporting.events.api",
"org.junit.platform.reporting.shadow.org.opentest4j.reporting.events.core",
"org.junit.platform.reporting.shadow.org.opentest4j.reporting.events.java",
"org.junit.platform.reporting.shadow.org.opentest4j.reporting.events.root",
"org.junit.platform.reporting.shadow.org.opentest4j.reporting.schema"
],
"sha256": "a0cdce1cc588fb902bdd08c7f24624ef72b131873eea09f063e6ee6ff453f654",
"url": "https://repo1.maven.org/maven2/org/junit/platform/junit-platform-reporting/1.10.0/junit-platform-reporting-1.10.0.jar"
},
{
"coord": "org.opentest4j:opentest4j:1.3.0",
"dependencies": [],
"directDependencies": [],
"file": "v1/https/repo1.maven.org/maven2/org/opentest4j/opentest4j/1.3.0/opentest4j-1.3.0.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/org/opentest4j/opentest4j/1.3.0/opentest4j-1.3.0.jar",
"https://maven.google.com/org/opentest4j/opentest4j/1.3.0/opentest4j-1.3.0.jar"
],
"packages": [
"org.opentest4j"
],
"sha256": "48e2df636cab6563ced64dcdff8abb2355627cb236ef0bf37598682ddf742f1b",
"url": "https://repo1.maven.org/maven2/org/opentest4j/opentest4j/1.3.0/opentest4j-1.3.0.jar"
},
{
"coord": "org.yaml:snakeyaml:jar:android:1.23",
"dependencies": [],
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
load("@rules_java//java:defs.bzl", "java_library")

java_library(
name = "java_greeter",
name = "greeter",
srcs = ["Greeter.java"],
visibility = ["//projects/java_greeter/src/main/java/com/kriscfoster/javagreeter/main:__subpackages__"],
visibility = ["//:__subpackages__"],
deps = ["@maven//:com_github_javafaker_javafaker"],
)
Loading

0 comments on commit 7b671ee

Please sign in to comment.