From d3ba9f47efe8d5bb1cf160b356cb574ff94bb7cf Mon Sep 17 00:00:00 2001 From: Sandip Singh Date: Fri, 23 Aug 2019 18:10:59 +0530 Subject: [PATCH] Bael 2989 (#7609) * Added examples for building Java project with Bazel * Added examples for building Java project with Bazel --- bazel/WORKSPACE | 31 +++++++++++++++++++ bazel/bazelapp/BUILD | 7 +++++ bazel/bazelapp/pom.xml | 28 +++++++++++++++++ .../src/main/java/com/baeldung/BazelApp.java | 15 +++++++++ bazel/bazelgreeting/BUILD | 6 ++++ bazel/bazelgreeting/pom.xml | 15 +++++++++ .../src/main/java/com/baeldung/Greetings.java | 8 +++++ bazel/pom.xml | 20 ++++++++++++ 8 files changed, 130 insertions(+) create mode 100644 bazel/WORKSPACE create mode 100644 bazel/bazelapp/BUILD create mode 100644 bazel/bazelapp/pom.xml create mode 100644 bazel/bazelapp/src/main/java/com/baeldung/BazelApp.java create mode 100644 bazel/bazelgreeting/BUILD create mode 100644 bazel/bazelgreeting/pom.xml create mode 100644 bazel/bazelgreeting/src/main/java/com/baeldung/Greetings.java create mode 100644 bazel/pom.xml diff --git a/bazel/WORKSPACE b/bazel/WORKSPACE new file mode 100644 index 0000000000..415aa398f9 --- /dev/null +++ b/bazel/WORKSPACE @@ -0,0 +1,31 @@ + +load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_jar") +load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") + + +RULES_JVM_EXTERNAL_TAG = "2.0.1" +RULES_JVM_EXTERNAL_SHA = "55e8d3951647ae3dffde22b4f7f8dee11b3f70f3f89424713debd7076197eaca" + +http_archive( + name = "rules_jvm_external", + strip_prefix = "rules_jvm_external-%s" % RULES_JVM_EXTERNAL_TAG, + sha256 = RULES_JVM_EXTERNAL_SHA, + url = "https://github.com/bazelbuild/rules_jvm_external/archive/%s.zip" % RULES_JVM_EXTERNAL_TAG, +) + +load("@rules_jvm_external//:defs.bzl", "maven_install") + +maven_install( + artifacts = [ + "org.apache.commons:commons-lang3:3.9" + ], + repositories = [ + "https://repo1.maven.org/maven2", + ] +) + +http_jar ( + name = "apache-commons-lang", + url = "https://repo1.maven.org/maven2/org/apache/commons/commons-lang3/3.9/commons-lang3-3.9.jar" +) + diff --git a/bazel/bazelapp/BUILD b/bazel/bazelapp/BUILD new file mode 100644 index 0000000000..1de95aada5 --- /dev/null +++ b/bazel/bazelapp/BUILD @@ -0,0 +1,7 @@ + +java_binary ( + name = "BazelApp", + srcs = glob(["src/main/java/com/baeldung/*.java"]), + main_class = "com.baeldung.BazelApp", + deps = ["//bazelgreeting:greeter", "@maven//:org_apache_commons_commons_lang3"] +) diff --git a/bazel/bazelapp/pom.xml b/bazel/bazelapp/pom.xml new file mode 100644 index 0000000000..b8c658eaae --- /dev/null +++ b/bazel/bazelapp/pom.xml @@ -0,0 +1,28 @@ + + + + bazel + com.baeldung + 1.0.0-SNAPSHOT + + 4.0.0 + + bazelapp + + + + com.baeldung + bazelgreeting + 1.0.0-SNAPSHOT + + + org.apache.commons + commons-lang3 + 3.9 + + + + + \ No newline at end of file diff --git a/bazel/bazelapp/src/main/java/com/baeldung/BazelApp.java b/bazel/bazelapp/src/main/java/com/baeldung/BazelApp.java new file mode 100644 index 0000000000..e92d85018b --- /dev/null +++ b/bazel/bazelapp/src/main/java/com/baeldung/BazelApp.java @@ -0,0 +1,15 @@ +package com.baeldung; + +import com.baeldung.Greetings; +import org.apache.commons.lang3.StringUtils; + +public class BazelApp { + + public static void main(String ... args) { + Greetings greetings = new Greetings(); + + System.out.println(greetings.greet("Bazel")); + + System.out.println(StringUtils.lowerCase("Bazel")); + } +} diff --git a/bazel/bazelgreeting/BUILD b/bazel/bazelgreeting/BUILD new file mode 100644 index 0000000000..6cd8bc13f7 --- /dev/null +++ b/bazel/bazelgreeting/BUILD @@ -0,0 +1,6 @@ + +java_library ( + name = "greeter", + srcs = glob(["src/main/java/com/baeldung/*.java"]), + visibility = ["//bazelapp:__pkg__"] +) diff --git a/bazel/bazelgreeting/pom.xml b/bazel/bazelgreeting/pom.xml new file mode 100644 index 0000000000..d02cc02cae --- /dev/null +++ b/bazel/bazelgreeting/pom.xml @@ -0,0 +1,15 @@ + + + + bazel + com.baeldung + 1.0.0-SNAPSHOT + + 4.0.0 + + bazelgreeting + + + \ No newline at end of file diff --git a/bazel/bazelgreeting/src/main/java/com/baeldung/Greetings.java b/bazel/bazelgreeting/src/main/java/com/baeldung/Greetings.java new file mode 100644 index 0000000000..0e8fae7fbe --- /dev/null +++ b/bazel/bazelgreeting/src/main/java/com/baeldung/Greetings.java @@ -0,0 +1,8 @@ +package com.baeldung; + +public class Greetings { + + public String greet(String name) { + return "Hello ".concat(name); + } +} diff --git a/bazel/pom.xml b/bazel/pom.xml new file mode 100644 index 0000000000..7350d1dbe4 --- /dev/null +++ b/bazel/pom.xml @@ -0,0 +1,20 @@ + + + + parent-modules + com.baeldung + 1.0.0-SNAPSHOT + + 4.0.0 + + bazel + pom + + bazelgreeting + bazelapp + + + + \ No newline at end of file