diff --git a/pants/.gitignore b/pants/.gitignore new file mode 100644 index 0000000000..d63d1b0265 --- /dev/null +++ b/pants/.gitignore @@ -0,0 +1,5 @@ +.idea/ +.pants.d/ +.pids/ +dist/ +pants.toml.bak \ No newline at end of file diff --git a/pants/3rdparty/jvm/com/google/guava/BUILD b/pants/3rdparty/jvm/com/google/guava/BUILD new file mode 100644 index 0000000000..d7f77b1bf5 --- /dev/null +++ b/pants/3rdparty/jvm/com/google/guava/BUILD @@ -0,0 +1,5 @@ +jvm_artifact( + group="com.google.guava", + artifact="guava", + version="18.0", +) \ No newline at end of file diff --git a/pants/3rdparty/jvm/default.lock b/pants/3rdparty/jvm/default.lock new file mode 100644 index 0000000000..707d122e1d --- /dev/null +++ b/pants/3rdparty/jvm/default.lock @@ -0,0 +1,63 @@ +# This lockfile was autogenerated by Pants. To regenerate, run: +# +# pants generate-lockfiles +# +# --- BEGIN PANTS LOCKFILE METADATA: DO NOT EDIT OR REMOVE --- +# { +# "version": 1, +# "generated_with_requirements": [ +# "com.google.guava:guava:18.0,url=not_provided,jar=not_provided", +# "junit:junit:4.13.2,url=not_provided,jar=not_provided" +# ] +# } +# --- END PANTS LOCKFILE METADATA --- + +[[entries]] +directDependencies = [] +dependencies = [] +file_name = "com.google.guava_guava_18.0.jar" + +[entries.coord] +group = "com.google.guava" +artifact = "guava" +version = "18.0" +packaging = "jar" +[entries.file_digest] +fingerprint = "d664fbfc03d2e5ce9cab2a44fb01f1d0bf9dfebeccc1a473b1f9ea31f79f6f99" +serialized_bytes_length = 2256213 +[[entries]] +file_name = "junit_junit_4.13.2.jar" +[[entries.directDependencies]] +group = "org.hamcrest" +artifact = "hamcrest-core" +version = "1.3" +packaging = "jar" + +[[entries.dependencies]] +group = "org.hamcrest" +artifact = "hamcrest-core" +version = "1.3" +packaging = "jar" + + +[entries.coord] +group = "junit" +artifact = "junit" +version = "4.13.2" +packaging = "jar" +[entries.file_digest] +fingerprint = "8e495b634469d64fb8acfa3495a065cbacc8a0fff55ce1e31007be4c16dc57d3" +serialized_bytes_length = 384581 +[[entries]] +directDependencies = [] +dependencies = [] +file_name = "org.hamcrest_hamcrest-core_1.3.jar" + +[entries.coord] +group = "org.hamcrest" +artifact = "hamcrest-core" +version = "1.3" +packaging = "jar" +[entries.file_digest] +fingerprint = "66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9" +serialized_bytes_length = 45024 diff --git a/pants/3rdparty/jvm/junit/junit/BUILD b/pants/3rdparty/jvm/junit/junit/BUILD new file mode 100644 index 0000000000..ed934d9bc8 --- /dev/null +++ b/pants/3rdparty/jvm/junit/junit/BUILD @@ -0,0 +1,5 @@ +jvm_artifact( + group="junit", + artifact="junit", + version="4.13.2" +) \ No newline at end of file diff --git a/pants/bsp-groups.toml b/pants/bsp-groups.toml new file mode 100644 index 0000000000..2651f66162 --- /dev/null +++ b/pants/bsp-groups.toml @@ -0,0 +1,7 @@ +[groups.default] +addresses = [ + "src/jvm::", + "tests/jvm::", +] + +resolve = "jvm:jvm-default" \ No newline at end of file diff --git a/pants/pants.toml b/pants/pants.toml new file mode 100644 index 0000000000..92eead557e --- /dev/null +++ b/pants/pants.toml @@ -0,0 +1,22 @@ +[GLOBAL] +backend_packages = [ + "pants.backend.experimental.java", + "pants.backend.experimental.java.lint.google_java_format" +] +pants_version = "2.16.0" + +[source] +root_patterns = [ + "/src/*", + "/tests/*", +] + +[jvm] +jdk = 1.8 + +[test] +timeout_default = 60 +timeout_maximum = 120 + +[experimental-bsp] +groups_config_files = ["bsp-groups.toml"] \ No newline at end of file diff --git a/pants/src/com/baeldung/hellopant/BUILD b/pants/src/com/baeldung/hellopant/BUILD new file mode 100644 index 0000000000..d8fa19e8f5 --- /dev/null +++ b/pants/src/com/baeldung/hellopant/BUILD @@ -0,0 +1,15 @@ +java_sources( + dependencies=[ + "src/resources/com/baeldung/hellopant:word", + ], +) + + + +deploy_jar( + name="HelloPant", + main="com.baeldung.hellopant", + dependencies=[ + ":hellopant", + ], +) diff --git a/pants/src/com/baeldung/hellopant/Hello.java b/pants/src/com/baeldung/hellopant/Hello.java new file mode 100644 index 0000000000..e9f6111312 --- /dev/null +++ b/pants/src/com/baeldung/hellopant/Hello.java @@ -0,0 +1,20 @@ +package com.baeldung.hellopant; + +import com.google.common.base.Charsets; +import com.google.common.base.Joiner; +import com.google.common.collect.Lists; +import com.google.common.io.Resources; +import java.io.IOException; +import java.util.List; + +public class Hello { + public static void main(String[] args) throws IOException { + System.out.println("Hello World!"); + + final List names = Lists.newArrayList("John", null, "Jane", "Adam", "Tom"); + final String result = Joiner.on(",").skipNulls().join(names); + + System.out.println(result); + + } +} diff --git a/pants/src/resources/com/baeldung/hellopant/BUILD b/pants/src/resources/com/baeldung/hellopant/BUILD new file mode 100644 index 0000000000..2d67dbd40a --- /dev/null +++ b/pants/src/resources/com/baeldung/hellopant/BUILD @@ -0,0 +1 @@ +resources(name = "word", sources=["word.txt"]) \ No newline at end of file diff --git a/pants/src/resources/com/baeldung/hellopant/word.txt b/pants/src/resources/com/baeldung/hellopant/word.txt new file mode 100644 index 0000000000..0e9a12644b --- /dev/null +++ b/pants/src/resources/com/baeldung/hellopant/word.txt @@ -0,0 +1 @@ +from Us \ No newline at end of file diff --git a/pants/test/com/baeldung/hellopant/BUILD b/pants/test/com/baeldung/hellopant/BUILD new file mode 100644 index 0000000000..59fbb0113f --- /dev/null +++ b/pants/test/com/baeldung/hellopant/BUILD @@ -0,0 +1,8 @@ +junit_tests( + name="tests", + timeout=120, + + dependencies=[ + "src/resources/com/baeldung/hellopant:word", + ], +) diff --git a/pants/test/com/baeldung/hellopant/GuavaUnitTest.java b/pants/test/com/baeldung/hellopant/GuavaUnitTest.java new file mode 100644 index 0000000000..07523de6d2 --- /dev/null +++ b/pants/test/com/baeldung/hellopant/GuavaUnitTest.java @@ -0,0 +1,30 @@ +package com.baeldung.hellopant; + +import static org.junit.Assert.assertEquals; + +import com.google.common.base.Charsets; +import com.google.common.base.Joiner; +import com.google.common.collect.Lists; +import com.google.common.io.Resources; +import java.io.IOException; +import java.util.List; +import org.junit.Test; + +public class GuavaUnitTest { + + @Test + public void whenConvertListToStringAndSkipNull_thenConverted() { + final List names = Lists.newArrayList("John", null, "Jane", "Adam", "Tom"); + final String result = Joiner.on(",").skipNulls().join(names); + + assertEquals(result, "John,Jane,Adam,Tom"); + } + + @Test + public void whenGettingTextFromAResourceFile_thenJoined() throws IOException { + String world = Resources.toString(Resources.getResource(GuavaUnitTest.class, "word.txt"), Charsets.UTF_8).strip(); + String result = Joiner.on(" ").join("Hello", world); + assertEquals(result, "Hello from Us"); + } + +} diff --git a/pom.xml b/pom.xml index 2927558245..97e3cf6639 100644 --- a/pom.xml +++ b/pom.xml @@ -355,6 +355,7 @@ + libraries-jdk8