From 65a28f5d6b53fd679e4741723e025c5a34879cf6 Mon Sep 17 00:00:00 2001 From: Kevin Conner Date: Mon, 8 May 2023 11:46:07 -0700 Subject: [PATCH] Add a test to ensure we handle relocations, closes #289 Signed-off-by: Kevin Conner --- .../org/cyclonedx/maven/Issue289Test.java | 36 +++++++++++++ .../resources/issue-289/dependency1/pom.xml | 32 +++++++++++ .../resources/issue-289/dependency2/pom.xml | 32 +++++++++++ src/test/resources/issue-289/pom.xml | 53 +++++++++++++++++++ 4 files changed, 153 insertions(+) create mode 100644 src/test/java/org/cyclonedx/maven/Issue289Test.java create mode 100644 src/test/resources/issue-289/dependency1/pom.xml create mode 100644 src/test/resources/issue-289/dependency2/pom.xml create mode 100644 src/test/resources/issue-289/pom.xml diff --git a/src/test/java/org/cyclonedx/maven/Issue289Test.java b/src/test/java/org/cyclonedx/maven/Issue289Test.java new file mode 100644 index 00000000..f537381b --- /dev/null +++ b/src/test/java/org/cyclonedx/maven/Issue289Test.java @@ -0,0 +1,36 @@ +package org.cyclonedx.maven; + +import java.io.File; + +import org.junit.Test; +import org.junit.runner.RunWith; + +import io.takari.maven.testing.executor.MavenRuntime.MavenRuntimeBuilder; +import io.takari.maven.testing.executor.MavenVersions; +import io.takari.maven.testing.executor.junit.MavenJUnitTestRunner; + +/** + * test for https://github.com/CycloneDX/cyclonedx-maven-plugin/issues/289 + * NPE when handling relocations + */ +@RunWith(MavenJUnitTestRunner.class) +@MavenVersions({"3.6.3"}) +public class Issue289Test extends BaseMavenVerifier { + + public Issue289Test(MavenRuntimeBuilder runtimeBuilder) throws Exception { + super(runtimeBuilder); + } + + @Test + public void testForRelocations() throws Exception { + File projDir = resources.getBasedir("issue-289"); + + verifier + .forProject(projDir) + .withCliOption("-Dcurrent.version=" + getCurrentVersion()) // inject cyclonedx-maven-plugin version + .withCliOption("-X") // debug + .withCliOption("-B") + .execute("clean", "package") + .assertErrorFreeLog(); + } +} diff --git a/src/test/resources/issue-289/dependency1/pom.xml b/src/test/resources/issue-289/dependency1/pom.xml new file mode 100644 index 00000000..3d3918f8 --- /dev/null +++ b/src/test/resources/issue-289/dependency1/pom.xml @@ -0,0 +1,32 @@ + + + + 4.0.0 + + + com.example + issue289_parent + 1.0.0 + + + issue289_dependency1 + + Dependency 1 + + + + axis + axis-ant + 1.4 + compile + + + axis + axis + 1.4 + compile + + + diff --git a/src/test/resources/issue-289/dependency2/pom.xml b/src/test/resources/issue-289/dependency2/pom.xml new file mode 100644 index 00000000..6419e7f7 --- /dev/null +++ b/src/test/resources/issue-289/dependency2/pom.xml @@ -0,0 +1,32 @@ + + + + 4.0.0 + + + com.example + issue289_parent + 1.0.0 + + + issue289_dependency2 + + Dependency 2 + + + + axis + axis-ant + 1.3 + compile + + + com.example + issue289_dependency1 + 1.0.0 + compile + + + diff --git a/src/test/resources/issue-289/pom.xml b/src/test/resources/issue-289/pom.xml new file mode 100644 index 00000000..f30377e1 --- /dev/null +++ b/src/test/resources/issue-289/pom.xml @@ -0,0 +1,53 @@ + + + + 4.0.0 + + com.example + issue289_parent + pom + 1.0.0 + + Issue 289 Parent + + + dependency1 + dependency2 + + + + + + org.cyclonedx + cyclonedx-maven-plugin + ${current.version} + + + package + + makeAggregateBom + + + + + library + 1.4 + true + true + false + false + false + false + false + xml + + + + + + + UTF-8 + +