From 93d92c762f0ef0e3d6e05d0eb1e2e7f768c335e0 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Mon, 27 Sep 2021 18:29:42 +0300 Subject: [PATCH] support Gradle Metadata when adding allure-junit5 dependency automatically (via #68) --- .../DefaultAutoconfigureRuleBuilder.kt | 15 ++++++++--- .../src/it/junit5-5.8.1/build.gradle | 21 +++++++++++++++ .../src/test/java/tests/Junit5Test.java | 27 +++++++++++++++++++ .../gradle/allure/DependenciesTest.java | 1 + 4 files changed, 60 insertions(+), 4 deletions(-) create mode 100644 allure-plugin/src/it/junit5-5.8.1/build.gradle create mode 100644 allure-plugin/src/it/junit5-5.8.1/src/test/java/tests/Junit5Test.java diff --git a/allure-adapter-plugin/src/main/kotlin/io/qameta/allure/gradle/adapter/autoconfigure/DefaultAutoconfigureRuleBuilder.kt b/allure-adapter-plugin/src/main/kotlin/io/qameta/allure/gradle/adapter/autoconfigure/DefaultAutoconfigureRuleBuilder.kt index 36904dd..ab9827f 100644 --- a/allure-adapter-plugin/src/main/kotlin/io/qameta/allure/gradle/adapter/autoconfigure/DefaultAutoconfigureRuleBuilder.kt +++ b/allure-adapter-plugin/src/main/kotlin/io/qameta/allure/gradle/adapter/autoconfigure/DefaultAutoconfigureRuleBuilder.kt @@ -27,15 +27,22 @@ class DefaultAutoconfigureRuleBuilder( override fun compileOnly(dependencyNotation: Any) = compileOnly(dependencyNotation, null) override fun compileOnly(dependencyNotation: Any, configureAction: Action>?) { - deps.getOrPut("compile") { mutableListOf() } += - DependencyDeclaration(dependencyNotation, configureAction) + val dependencyDeclaration = DependencyDeclaration(dependencyNotation, configureAction) + addDependencyToVariant("compile", dependencyDeclaration) + addDependencyToVariant("apiElements", dependencyDeclaration) } override fun runtimeOnly(dependencyNotation: Any) = runtimeOnly(dependencyNotation, null) override fun runtimeOnly(dependencyNotation: Any, configureAction: Action>?) { - deps.getOrPut("runtime") { mutableListOf() } += - DependencyDeclaration(dependencyNotation, configureAction) + val dependencyDeclaration = DependencyDeclaration(dependencyNotation, configureAction) + addDependencyToVariant("runtime", dependencyDeclaration) + addDependencyToVariant("runtimeElements", dependencyDeclaration) + } + + private fun addDependencyToVariant(variantName: String, dependencyDeclaration: DependencyDeclaration) { + deps.getOrPut(variantName) { mutableListOf() } += + dependencyDeclaration } fun build(): AutoconfigureRule = SimpleRule( diff --git a/allure-plugin/src/it/junit5-5.8.1/build.gradle b/allure-plugin/src/it/junit5-5.8.1/build.gradle new file mode 100644 index 0000000..9250aa5 --- /dev/null +++ b/allure-plugin/src/it/junit5-5.8.1/build.gradle @@ -0,0 +1,21 @@ +plugins { + id 'java' + id 'io.qameta.allure' +} + +repositories { + mavenCentral() +} + +test { + useJUnitPlatform() +} + +dependencies { + testImplementation platform('org.junit:junit-bom:5.8.1') + testImplementation 'org.junit.jupiter:junit-jupiter' +} + +allure { + adapter.allureJavaVersion = "2.14.0" +} diff --git a/allure-plugin/src/it/junit5-5.8.1/src/test/java/tests/Junit5Test.java b/allure-plugin/src/it/junit5-5.8.1/src/test/java/tests/Junit5Test.java new file mode 100644 index 0000000..6c4e60e --- /dev/null +++ b/allure-plugin/src/it/junit5-5.8.1/src/test/java/tests/Junit5Test.java @@ -0,0 +1,27 @@ +package tests; + +import io.qameta.allure.Attachment; +import io.qameta.allure.Step; + +import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.assertTrue; + +public class Junit5Test { + + @Test + public void testWithAttachment() { + stepMethod(); + assertTrue(true); + } + + @Step("step") + public void stepMethod() { + attachment(); + } + + @Attachment(value = "attachment", type = "text/plain") + public String attachment() { + return "

HELLO

"; + } + +} \ No newline at end of file diff --git a/allure-plugin/src/test/java/io/qameta/allure/gradle/allure/DependenciesTest.java b/allure-plugin/src/test/java/io/qameta/allure/gradle/allure/DependenciesTest.java index 9974de8..fd45169 100644 --- a/allure-plugin/src/test/java/io/qameta/allure/gradle/allure/DependenciesTest.java +++ b/allure-plugin/src/test/java/io/qameta/allure/gradle/allure/DependenciesTest.java @@ -34,6 +34,7 @@ public class DependenciesTest { { "src/it/junit4-autoconfigure", "7.0", "5.0", "6.0" }, { "src/it/junit4-kotlin", "7.0", "5.1", "5.0" }, { "src/it/junit5", "7.0", "5.0", "6.0" }, + { "src/it/junit5-5.8.1", "7.2", "5.0", "6.0" }, { "src/it/testng", "7.0", "5.0", "6.0" }, { "src/it/testng-autoconfigure", "7.0", "5.0", "6.0" }, { "src/it/spock", "7.0", "5.0", "6.0" },