From 1337a507c47f88d37c67741488d0998bfc5507d0 Mon Sep 17 00:00:00 2001
From: Gaetan Boismal <gaetan.boismal@forgerock.com>
Date: Wed, 21 Oct 2015 16:05:43 +0000
Subject: [PATCH] OPENDJ-2226 PR-96 Fix generate-config build
---
opendj-maven-plugin/src/main/java/org/forgerock/opendj/maven/GenerateConfigMojo.java | 31 +++++++++++++++++++++++++------
1 files changed, 25 insertions(+), 6 deletions(-)
diff --git a/opendj-maven-plugin/src/main/java/org/forgerock/opendj/maven/GenerateConfigMojo.java b/opendj-maven-plugin/src/main/java/org/forgerock/opendj/maven/GenerateConfigMojo.java
index 88b4a4d..c4fbd64 100644
--- a/opendj-maven-plugin/src/main/java/org/forgerock/opendj/maven/GenerateConfigMojo.java
+++ b/opendj-maven-plugin/src/main/java/org/forgerock/opendj/maven/GenerateConfigMojo.java
@@ -56,6 +56,7 @@
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
+import org.apache.maven.model.Resource;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugins.annotations.Mojo;
@@ -107,6 +108,7 @@
*/
@Mojo(name = "generate-config", defaultPhase = GENERATE_SOURCES, requiresDependencyResolution = COMPILE_PLUS_RUNTIME)
public final class GenerateConfigMojo extends AbstractMojo {
+
private interface StreamSourceFactory {
StreamSource newStreamSource() throws IOException;
}
@@ -198,15 +200,28 @@
loadXMLDescriptors();
executeValidateXMLDefinitions();
executeTransformXMLDefinitions();
- getLog().info(
- "Adding source directory \"" + getGeneratedSourcesDirectory()
- + "\" to build path...");
+ getLog().info("Adding source directory \"" + getGeneratedSourcesDirectory() + "\" to build path...");
project.addCompileSourceRoot(getGeneratedSourcesDirectory());
+ project.addResource(getGeneratedMavenResources());
} catch (final Exception e) {
throw new MojoExecutionException("XSLT configuration transformation failed", e);
}
}
+ private Resource getGeneratedMavenResources() {
+ final String[] generatedResourcesRelativePath =
+ new String[] { "/META-INF/services/**", "/config/**/*.properties" };
+ final Resource resources = new Resource();
+ resources.setDirectory(getGeneratedResourcesDirectory());
+ for (final String generatedResourceRelativePath : generatedResourcesRelativePath) {
+ resources.addInclude(generatedResourceRelativePath);
+ getLog().info("Adding resource \"" + getGeneratedResourcesDirectory() + generatedResourceRelativePath
+ + " to resource path...");
+ }
+
+ return resources;
+ }
+
private void createTransformTask(final StreamSourceFactory inputFactory, final StreamResult output,
final Templates stylesheet, final ExecutorService executor, final String... parameters)
throws Exception {
@@ -342,17 +357,21 @@
return project.getBasedir().toString();
}
+ private String getGeneratedResourcesDirectory() {
+ return project.getBuild().getDirectory() + "/generated-resources";
+ }
+
private String getGeneratedManifestFile() {
- return project.getBuild().getOutputDirectory()
+ return getGeneratedResourcesDirectory()
+ "/META-INF/services/org.forgerock.opendj.config.AbstractManagedObjectDefinition";
}
private String getGeneratedMessagesDirectory() {
- return project.getBuild().getOutputDirectory() + "/config/messages";
+ return getGeneratedResourcesDirectory() + "/config/messages";
}
private String getGeneratedProfilesDirectory(final String profileName) {
- return project.getBuild().getOutputDirectory() + "/config/profiles/" + profileName;
+ return getGeneratedResourcesDirectory() + "/config/profiles/" + profileName;
}
private String getGeneratedSourcesDirectory() {
--
Gitblit v1.10.0