From d5ac146723c380bcfb3cdf59135c6474871a78ff Mon Sep 17 00:00:00 2001 From: Serhii Pirohov Date: Mon, 13 May 2019 17:25:02 +0300 Subject: [PATCH 01/13] add annotation label for link --- allure-attachments/build.gradle.kts | 16 +++++++ allure-java-commons/build.gradle.kts | 18 ++++++++ .../main/java/io/qameta/allure/Allure.java | 2 +- .../src/main/java/io/qameta/allure/Link.java | 1 + .../qameta/allure/util/AnnotationUtils.java | 44 ++++++++++++++++++- .../allure/util/AnnotationUtilsTest.java | 37 ++++++++++------ allure-model/build.gradle.kts | 18 ++++++++ 7 files changed, 119 insertions(+), 17 deletions(-) diff --git a/allure-attachments/build.gradle.kts b/allure-attachments/build.gradle.kts index bfbe95e7c..52fb8446c 100644 --- a/allure-attachments/build.gradle.kts +++ b/allure-attachments/build.gradle.kts @@ -1,3 +1,11 @@ +plugins { + `maven-publish` +} + +repositories { + mavenLocal() +} + description = "Allure Attachments" val agent: Configuration by configurations.creating @@ -30,3 +38,11 @@ tasks.test { jvmArgs("-javaagent:${agent.singleFile}") } } + +publishing { + publications { + register("mavenJava", MavenPublication::class) { + from(components["java"]) + } + } +} diff --git a/allure-java-commons/build.gradle.kts b/allure-java-commons/build.gradle.kts index 6886a31f5..d497ffca0 100644 --- a/allure-java-commons/build.gradle.kts +++ b/allure-java-commons/build.gradle.kts @@ -1,3 +1,13 @@ +import org.gradle.api.tasks.bundling.Jar + +plugins { + `maven-publish` +} + +repositories { + mavenLocal() +} + description = "Allure Java Commons" val agent: Configuration by configurations.creating @@ -36,3 +46,11 @@ tasks.test { jvmArgs("-javaagent:${agent.singleFile}") } } + +publishing { + publications { + register("mavenJava", MavenPublication::class) { + from(components["java"]) + } + } +} diff --git a/allure-java-commons/src/main/java/io/qameta/allure/Allure.java b/allure-java-commons/src/main/java/io/qameta/allure/Allure.java index 842c690b1..540849bdc 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/Allure.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/Allure.java @@ -286,7 +286,7 @@ public static void tms(final String name, final String url) { * @param url the link's url. */ public static void link(final String url) { - link(null, url); + link("link", url); } /** diff --git a/allure-java-commons/src/main/java/io/qameta/allure/Link.java b/allure-java-commons/src/main/java/io/qameta/allure/Link.java index 2a7f15a02..eb2abbbaa 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/Link.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/Link.java @@ -37,6 +37,7 @@ @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.METHOD, ElementType.TYPE}) @Repeatable(Links.class) +@LabelAnnotation(name = "link") public @interface Link { /** diff --git a/allure-java-commons/src/main/java/io/qameta/allure/util/AnnotationUtils.java b/allure-java-commons/src/main/java/io/qameta/allure/util/AnnotationUtils.java index 7f2d388c7..ef37586e0 100644 --- a/allure-java-commons/src/main/java/io/qameta/allure/util/AnnotationUtils.java +++ b/allure-java-commons/src/main/java/io/qameta/allure/util/AnnotationUtils.java @@ -15,7 +15,9 @@ */ package io.qameta.allure.util; +import io.qameta.allure.Issue; import io.qameta.allure.LabelAnnotation; +import io.qameta.allure.TmsLink; import io.qameta.allure.model.Label; import io.qameta.allure.model.Link; import org.slf4j.Logger; @@ -37,6 +39,8 @@ import java.util.stream.Collectors; import java.util.stream.Stream; +import static java.util.Arrays.asList; + /** * Collection of utils used by Allure integration to extract meta information from * test cases via reflection. @@ -64,6 +68,10 @@ public static List getLinks(final AnnotatedElement annotatedElement) { result.addAll(extractLinks(annotatedElement, io.qameta.allure.Link.class, ResultsUtils::createLink)); result.addAll(extractLinks(annotatedElement, io.qameta.allure.Issue.class, ResultsUtils::createLink)); result.addAll(extractLinks(annotatedElement, io.qameta.allure.TmsLink.class, ResultsUtils::createLink)); + result.addAll(extractLinks(Arrays.asList(annotatedElement.getDeclaredAnnotations()), + Arrays.asList(io.qameta.allure.Link.class, + io.qameta.allure.Issue.class, + io.qameta.allure.TmsLink.class))); return result; } @@ -74,7 +82,7 @@ public static List getLinks(final AnnotatedElement annotatedElement) { * @return discovered links. */ public static List getLinks(final Annotation... annotations) { - return getLinks(Arrays.asList(annotations)); + return getLinks(asList(annotations)); } /** @@ -88,6 +96,8 @@ public static List getLinks(final Collection annotations) { result.addAll(extractLinks(annotations, io.qameta.allure.Link.class, ResultsUtils::createLink)); result.addAll(extractLinks(annotations, io.qameta.allure.Issue.class, ResultsUtils::createLink)); result.addAll(extractLinks(annotations, io.qameta.allure.TmsLink.class, ResultsUtils::createLink)); + result.addAll(extractLinks(annotations, + asList(io.qameta.allure.Link.class, io.qameta.allure.Issue.class, io.qameta.allure.TmsLink.class))); return result; } @@ -109,7 +119,7 @@ public static Set