Skip to content
Snippets Groups Projects
Commit 8012bb31 authored by Vincent Massol's avatar Vincent Massol
Browse files

XWIKI-16218: Extra JARs only work for platform JARs

parent 83fda333
No related branches found
No related tags found
No related merge requests found
......@@ -39,7 +39,7 @@
*/
public class TestConfiguration
{
private static final Pattern ARTIFACT_COORD_PATTERN = Pattern.compile("([^: ]+):([^: ]+)");
private static final Pattern ARTIFACT_COORD_PATTERN = Pattern.compile("([^: ]+):([^: ]+)(?::([^: ]+))?");
private static final String DEFAULT = "default";
......@@ -294,6 +294,7 @@ private void resolveExtraJARs()
List<String> jarCoordinates = new ArrayList<>();
jarCoordinates.add(matcher.group(1));
jarCoordinates.add(matcher.group(2));
jarCoordinates.add(matcher.group(3));
newExtraJARs.add(jarCoordinates);
}
this.extraJARs = newExtraJARs;
......
......@@ -181,9 +181,15 @@ private List<Artifact> computeExtraArtifacts(TestConfiguration testConfiguration
List<Artifact> artifacts = new ArrayList<>();
if (!testConfiguration.getExtraJARs().isEmpty()) {
for (List<String> jarData : testConfiguration.getExtraJARs()) {
LOGGER.info("Adding extra JAR to WEB-INF/lib: [{}:{}]", jarData.get(0), jarData.get(1));
Artifact artifact = new DefaultArtifact(jarData.get(0), jarData.get(1), JAR,
this.mavenResolver.getPlatformVersion());
// When no version is specified, we use the version from the current pom.xml since that's the most
// common obvious use case.
String version = jarData.get(2);
if (version == null) {
version = this.mavenResolver.getModelFromCurrentPOM().getVersion();
}
LOGGER.info("Adding extra JAR to WEB-INF/lib: [{}:{}], version [{}]", jarData.get(0), jarData.get(1),
version);
Artifact artifact = new DefaultArtifact(jarData.get(0), jarData.get(1), JAR, version);
artifacts.add(artifact);
}
}
......
......@@ -40,6 +40,16 @@ public class SampleAnnotation
{
}
@UITest(extraJARs = { "a:b:c" })
public class AnnotationWithExtraJARAndVersion
{
}
@UITest(extraJARs = { "a:b" })
public class AnnotationWithExtraJARWithoutVersion
{
}
@BeforeEach
public void setUp()
{
......@@ -98,4 +108,26 @@ public void getConfigurationWhenInSystemPropertiesAndInAnnotation()
assertTrue(configuration.isVerbose());
assertEquals("otherversion", configuration.getDatabaseTag());
}
@Test
public void getConfigurationWhenExtraJARWithVersion()
{
UITest uiTest = AnnotationWithExtraJARAndVersion.class.getAnnotation(UITest.class);
TestConfiguration configuration = new TestConfiguration(uiTest);
assertEquals("a", configuration.getExtraJARs().get(0).get(0));
assertEquals("b", configuration.getExtraJARs().get(0).get(1));
assertEquals("c", configuration.getExtraJARs().get(0).get(2));
}
@Test
public void getConfigurationWhenExtraJARWithoutVersion()
{
UITest uiTest = AnnotationWithExtraJARWithoutVersion.class.getAnnotation(UITest.class);
TestConfiguration configuration = new TestConfiguration(uiTest);
assertEquals("a", configuration.getExtraJARs().get(0).get(0));
assertEquals("b", configuration.getExtraJARs().get(0).get(1));
assertNull(configuration.getExtraJARs().get(0).get(2));
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment