From: Robert Varga Date: Fri, 12 Dec 2014 11:07:45 +0000 (+0100) Subject: BUG-2506: split out maven binding X-Git-Tag: release/lithium~775 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=672ac242bf3acc6c9eaf80071be5f74cab8c9b3b BUG-2506: split out maven binding Maven integration needs to be split out of the runtime implementation, simply because we do not want to pull the requisite runtime into our containers. It would never be used there anyway. Change-Id: Ided36e3b06316739a3829d758889ba523e7e19ad Signed-off-by: Robert Varga --- diff --git a/features/mdsal/pom.xml b/features/mdsal/pom.xml index 371d1675df..d81da186b9 100644 --- a/features/mdsal/pom.xml +++ b/features/mdsal/pom.xml @@ -439,7 +439,7 @@ org.opendaylight.controller - sal-rest-docgen + sal-rest-docgen-maven ${mdsal.version} jar @@ -453,7 +453,7 @@ src - org.opendaylight.controller.sal.rest.doc.impl.StaticDocGenerator + org.opendaylight.controller.sal.rest.doc.maven.StaticDocGenerator ${project.build.directory}/generated-resources/swagger-api-documentation/explorer/static diff --git a/opendaylight/md-sal/mdsal-artifacts/pom.xml b/opendaylight/md-sal/mdsal-artifacts/pom.xml index c765aa87a8..01a55e883e 100644 --- a/opendaylight/md-sal/mdsal-artifacts/pom.xml +++ b/opendaylight/md-sal/mdsal-artifacts/pom.xml @@ -246,6 +246,11 @@ sal-rest-docgen ${project.version} + + org.opendaylight.controller + sal-rest-docgen-maven + ${project.version} + diff --git a/opendaylight/md-sal/pom.xml b/opendaylight/md-sal/pom.xml index 6c87899eea..9f342b88e8 100644 --- a/opendaylight/md-sal/pom.xml +++ b/opendaylight/md-sal/pom.xml @@ -63,6 +63,7 @@ sal-rest-docgen + sal-rest-docgen-maven sal-akka-raft diff --git a/opendaylight/md-sal/sal-rest-docgen-maven/pom.xml b/opendaylight/md-sal/sal-rest-docgen-maven/pom.xml new file mode 100644 index 0000000000..80e43d6402 --- /dev/null +++ b/opendaylight/md-sal/sal-rest-docgen-maven/pom.xml @@ -0,0 +1,35 @@ + + + + + 4.0.0 + + org.opendaylight.controller + sal-parent + 1.2.0-SNAPSHOT + + + sal-rest-docgen-maven + jar + + + + com.fasterxml.jackson.core + jackson-databind + + + org.opendaylight.controller + sal-rest-docgen + + + org.opendaylight.yangtools + yang-maven-plugin-spi + + + diff --git a/opendaylight/md-sal/sal-rest-docgen/src/main/java/org/opendaylight/controller/sal/rest/doc/impl/StaticDocGenerator.java b/opendaylight/md-sal/sal-rest-docgen-maven/src/main/java/org/opendaylight/controller/sal/rest/doc/maven/StaticDocGenerator.java similarity index 86% rename from opendaylight/md-sal/sal-rest-docgen/src/main/java/org/opendaylight/controller/sal/rest/doc/impl/StaticDocGenerator.java rename to opendaylight/md-sal/sal-rest-docgen-maven/src/main/java/org/opendaylight/controller/sal/rest/doc/maven/StaticDocGenerator.java index b658102d6f..280c26adb4 100644 --- a/opendaylight/md-sal/sal-rest-docgen/src/main/java/org/opendaylight/controller/sal/rest/doc/impl/StaticDocGenerator.java +++ b/opendaylight/md-sal/sal-rest-docgen-maven/src/main/java/org/opendaylight/controller/sal/rest/doc/maven/StaticDocGenerator.java @@ -5,33 +5,31 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.controller.sal.rest.doc.impl; +package org.opendaylight.controller.sal.rest.doc.maven; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; - -import org.apache.maven.plugin.logging.Log; -import org.apache.maven.project.MavenProject; -import org.opendaylight.controller.sal.rest.doc.swagger.ApiDeclaration; -import org.opendaylight.controller.sal.rest.doc.swagger.Resource; -import org.opendaylight.controller.sal.rest.doc.swagger.ResourceList; -import org.opendaylight.yangtools.yang.model.api.Module; -import org.opendaylight.yangtools.yang.model.api.SchemaContext; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.opendaylight.yangtools.yang2sources.spi.CodeGenerator; - -import javax.ws.rs.core.UriInfo; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; -import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.Map; import java.util.Set; +import javax.ws.rs.core.UriInfo; +import org.apache.maven.plugin.logging.Log; +import org.apache.maven.project.MavenProject; +import org.opendaylight.controller.sal.rest.doc.impl.ApiDocGenerator; +import org.opendaylight.controller.sal.rest.doc.swagger.ApiDeclaration; +import org.opendaylight.controller.sal.rest.doc.swagger.Resource; +import org.opendaylight.controller.sal.rest.doc.swagger.ResourceList; +import org.opendaylight.yangtools.yang.model.api.Module; +import org.opendaylight.yangtools.yang.model.api.SchemaContext; +import org.opendaylight.yangtools.yang2sources.spi.CodeGenerator; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * This class gathers all yang defined {@link Module}s and generates Swagger compliant documentation. @@ -41,13 +39,12 @@ public class StaticDocGenerator extends ApiDocGenerator implements CodeGenerator private static final String DEFAULT_OUTPUT_BASE_DIR_PATH = "target" + File.separator + "generated-resources" + File.separator + "swagger-api-documentation"; - private static Logger _logger = LoggerFactory.getLogger(ApiDocGenerator.class); + private static final Logger _logger = LoggerFactory.getLogger(ApiDocGenerator.class); private MavenProject mavenProject; private File projectBaseDir; private Map additionalConfig; private File resourceBaseDir; - private static final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); /** * @@ -58,15 +55,16 @@ public class StaticDocGenerator extends ApiDocGenerator implements CodeGenerator * @throws IOException */ @Override - public Collection generateSources(SchemaContext context, File outputDir, Set yangModules) throws IOException { + public Collection generateSources(final SchemaContext context, final File outputDir, final Set yangModules) throws IOException { List result = new ArrayList<>(); // Create Base Directory final File outputBaseDir; if (outputDir == null) { outputBaseDir = new File(DEFAULT_OUTPUT_BASE_DIR_PATH); + } else { + outputBaseDir = outputDir; } - else outputBaseDir = outputDir; outputBaseDir.mkdirs(); // Create Resources directory @@ -114,7 +112,7 @@ public class StaticDocGenerator extends ApiDocGenerator implements CodeGenerator } @Override - protected String generatePath(UriInfo uriInfo, String name, String revision) { + protected String generatePath(final UriInfo uriInfo, final String name, final String revision) { if (uriInfo == null) { return name + "(" + revision + ")"; } @@ -122,7 +120,7 @@ public class StaticDocGenerator extends ApiDocGenerator implements CodeGenerator } @Override - protected String createBasePathFromUriInfo(UriInfo uriInfo) { + protected String createBasePathFromUriInfo(final UriInfo uriInfo) { if (uriInfo == null) { return RESTCONF_CONTEXT_ROOT; } @@ -130,21 +128,21 @@ public class StaticDocGenerator extends ApiDocGenerator implements CodeGenerator } @Override - public void setLog(Log log) { + public void setLog(final Log log) { } @Override - public void setAdditionalConfig(Map additionalConfig) { + public void setAdditionalConfig(final Map additionalConfig) { this.additionalConfig = additionalConfig; } @Override - public void setResourceBaseDir(File resourceBaseDir) { + public void setResourceBaseDir(final File resourceBaseDir) { this.resourceBaseDir = resourceBaseDir; } @Override - public void setMavenProject(MavenProject mavenProject) { + public void setMavenProject(final MavenProject mavenProject) { this.mavenProject = mavenProject; this.projectBaseDir = mavenProject.getBasedir(); } diff --git a/opendaylight/md-sal/sal-rest-docgen/pom.xml b/opendaylight/md-sal/sal-rest-docgen/pom.xml index 53f1b2e692..22a128c1b7 100644 --- a/opendaylight/md-sal/sal-rest-docgen/pom.xml +++ b/opendaylight/md-sal/sal-rest-docgen/pom.xml @@ -72,11 +72,6 @@ yang-parser-impl - - org.opendaylight.yangtools - yang-maven-plugin-spi - - org.osgi org.osgi.core