diff --git a/gradle-6/build.gradle.kts b/gradle-6/build.gradle.kts index 8933572db7..d9876dfe28 100644 --- a/gradle-6/build.gradle.kts +++ b/gradle-6/build.gradle.kts @@ -6,9 +6,36 @@ plugins { group = "com.baeldung" version = "1.0.0" +repositories { + mavenCentral() +} + +dependencies { + api("io.reactivex.rxjava2:rxjava:2.2.16") + implementation("com.google.guava:guava") { + version { + require("2.0") + prefer("28.1-jre") + because("Only uses ImmutableList type, so any version since 2.0 will do, but tested with 28.1-jre") + } + } + + testImplementation("org.junit.jupiter:junit-jupiter-api:5.5.2") + testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.5.2") +} + +tasks.compileJava { + sourceCompatibility = "1.8" + targetCompatibility = "1.8" +} + +tasks.test { + useJUnitPlatform() +} + publishing { publications { - register("mavenJava", MavenPublication::class) { + register("mavenJava") { from(components["java"]) } } diff --git a/gradle-6/src/main/java/com/baeldung/gradle/HelloWorld.java b/gradle-6/src/main/java/com/baeldung/gradle/HelloWorld.java deleted file mode 100644 index 4f947330eb..0000000000 --- a/gradle-6/src/main/java/com/baeldung/gradle/HelloWorld.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.baeldung.gradle; - -public class HelloWorld { - - public String sayHello() { - return "Hello, world!"; - } -} diff --git a/gradle-6/src/main/java/com/baeldung/gradle/RxHelloWorld.java b/gradle-6/src/main/java/com/baeldung/gradle/RxHelloWorld.java new file mode 100644 index 0000000000..efb0ca3197 --- /dev/null +++ b/gradle-6/src/main/java/com/baeldung/gradle/RxHelloWorld.java @@ -0,0 +1,18 @@ +package com.baeldung.gradle; + +import com.google.common.collect.ImmutableList; +import io.reactivex.Observable; +import java.util.List; + +/** Demonstrates a library type that returns an RxJava type. */ +public class RxHelloWorld { + + /** @return an {@link Observable} that emits events "hello" and "world" before completing. */ + public static Observable hello() { + // Guava ImmutableList class is an implementation detail. + List values = ImmutableList.of("hello", "world"); + return Observable.fromIterable(values); + } + + private RxHelloWorld() {} +} diff --git a/gradle-6/src/test/java/com/baeldung/gradle/RxHelloWorldUnitTest.java b/gradle-6/src/test/java/com/baeldung/gradle/RxHelloWorldUnitTest.java new file mode 100644 index 0000000000..bc64148c64 --- /dev/null +++ b/gradle-6/src/test/java/com/baeldung/gradle/RxHelloWorldUnitTest.java @@ -0,0 +1,14 @@ +package com.baeldung.gradle; + +import static com.baeldung.gradle.RxHelloWorld.hello; + +import org.junit.jupiter.api.Test; + +/** Unit test for {@link RxHelloWorld}. */ +final class RxHelloWorldUnitTest { + + @Test + void it_emits_hello_world_values() { + hello().test().assertValues("hello", "world").assertComplete(); + } +}