| load("@rules_java//java:defs.bzl", "java_binary") |
| load("//private:versions.bzl", "COURSIER_CLI_HTTP_FILE_NAME") |
| load("//private/rules:artifact.bzl", "artifact") |
| |
| genrule( |
| name = "buildifier-bin", |
| srcs = select({ |
| "@bazel_tools//src/conditions:darwin_arm64": ["@buildifier-macos-arm64//file"], |
| "@bazel_tools//src/conditions:darwin_x86_64": ["@buildifier-macos-x86_64//file"], |
| "@bazel_tools//src/conditions:linux_aarch64": ["@buildifier-linux-arm64//file"], |
| "@bazel_tools//src/conditions:linux_x86_64": ["@buildifier-linux-x86_64//file"], |
| }), |
| outs = ["buildifier"], |
| cmd = "cp $< $@", |
| ) |
| |
| sh_binary( |
| name = "mirror_coursier", |
| srcs = [":mirror_coursier.sh"], |
| args = [COURSIER_CLI_HTTP_FILE_NAME], |
| data = ["@coursier_cli//file"], |
| visibility = ["//:__pkg__"], |
| ) |
| |
| genrule( |
| name = "generate_api_reference", |
| srcs = [ |
| "//docs:includes/main_functions_header.md", |
| "//docs:defs.md", |
| "//docs:includes/spec_functions_header.md", |
| "//docs:specs.md", |
| ], |
| outs = ["api.md"], |
| cmd = """cat \ |
| $(location //docs:includes/main_functions_header.md) \ |
| $(location //docs:defs.md) \ |
| $(location //docs:includes/spec_functions_header.md) \ |
| $(location //docs:specs.md) > $@""", |
| visibility = ["//:__pkg__"], |
| ) |
| |
| java_binary( |
| name = "google-java-format", |
| jvm_flags = [ |
| "--add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED", |
| "--add-exports jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED", |
| "--add-exports jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED", |
| "--add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED", |
| "--add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED", |
| ], |
| main_class = "com.google.googlejavaformat.java.Main", |
| runtime_deps = [ |
| artifact( |
| "com.google.googlejavaformat:google-java-format", |
| repository_name = "rules_jvm_external_deps", |
| ), |
| ], |
| ) |
| |
| genrule( |
| name = "format-script", |
| outs = ["run-formats.sh"], |
| cmd = """cat >$@ << EOL |
| #!/usr/bin/env bash |
| set -eufo pipefail |
| |
| cwd="\\$${BUILD_WORKSPACE_DIRECTORY:=\\$$(pwd)}" |
| javaformat="\\$$1" |
| buildifier="\\$$2" |
| |
| # Format java code |
| find "\\$$cwd" -type f -name "*.java" | xargs "\\$${javaformat}" --replace |
| |
| # Run buildifier |
| \\$${buildifier} --lint fix --mode fix -r "\\$$cwd" |
| |
| EOL |
| """, |
| executable = True, |
| ) |
| |
| sh_binary( |
| name = "format", |
| srcs = [":format-script"], |
| args = [ |
| "$(location :google-java-format)", |
| "$(location :buildifier)", |
| ], |
| data = [ |
| ":buildifier", |
| ":google-java-format", |
| ], |
| ) |
| |
| sh_binary( |
| name = "refresh-prebuilts", |
| srcs = [ |
| "copy-prebuilts.sh", |
| ], |
| args = [ |
| "private/tools/prebuilt", |
| "$(location //private/tools/java/com/github/bazelbuild/rules_jvm_external:hasher-tool_deploy.jar)", |
| "hasher_deploy.jar", |
| "$(location //private/tools/java/com/github/bazelbuild/rules_jvm_external/coursier:LockFileConverter_deploy.jar)", |
| "lock_file_converter_deploy.jar", |
| "$(location //private/tools/java/com/github/bazelbuild/rules_jvm_external/jar:IndexJar_deploy.jar)", |
| "index_jar_deploy.jar", |
| "$(location //private/tools/java/com/github/bazelbuild/rules_jvm_external/maven:outdated_deploy.jar)", |
| "outdated_deploy.jar", |
| ], |
| data = [ |
| "//private/tools/java/com/github/bazelbuild/rules_jvm_external:hasher-tool_deploy.jar", |
| "//private/tools/java/com/github/bazelbuild/rules_jvm_external/coursier:LockFileConverter_deploy.jar", |
| "//private/tools/java/com/github/bazelbuild/rules_jvm_external/jar:IndexJar_deploy.jar", |
| "//private/tools/java/com/github/bazelbuild/rules_jvm_external/maven:outdated_deploy.jar", |
| ], |
| ) |