Merge "Remove features-builder"
authorTony Tkacik <ttkacik@cisco.com>
Mon, 16 Feb 2015 09:42:54 +0000 (09:42 +0000)
committerGerrit Code Review <gerrit@opendaylight.org>
Mon, 16 Feb 2015 09:42:54 +0000 (09:42 +0000)
common/features-builder/pom.xml [deleted file]
common/features/pom.xml
common/features/src/main/features/features.xml [moved from common/features/src/main/feature/features.xml with 100% similarity]
common/pom.xml

diff --git a/common/features-builder/pom.xml b/common/features-builder/pom.xml
deleted file mode 100644 (file)
index e82bf92..0000000
+++ /dev/null
@@ -1,250 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- vi: set et smarttab sw=4 tabstop=4: -->
-<!--
- Copyright (c) 2014 Cisco Systems, Inc. and others.  All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v1.0 which accompanies this distribution,
- and is available at http://www.eclipse.org/legal/epl-v10.html
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.opendaylight.odlparent</groupId>
-        <artifactId>odlparent</artifactId>
-        <version>1.5.0-SNAPSHOT</version>
-    </parent>
-
-    <groupId>org.opendaylight.yangtools</groupId>
-    <artifactId>features-builder</artifactId>
-    <packaging>pom</packaging>
-    <version>0.7.0-SNAPSHOT</version>
-
-    <properties>
-        <features.file>features.xml</features.file>
-    </properties>
-
-    <build>
-        <resources>
-            <resource>
-                <directory>src/main/resources</directory>
-                <filtering>true</filtering>
-            </resource>
-        </resources>
-
-        <pluginManagement>
-            <plugins>
-                <!-- generate dependencies versions -->
-                <plugin>
-                    <artifactId>maven-dependency-plugin</artifactId>
-                      <executions>
-                          <execution>
-                              <phase>generate-resources</phase>
-                              <goals><goal>resolve</goal></goals>
-                              <configuration>
-                                  <outputFile>${project.build.directory}/dependencies.txt</outputFile>
-                              </configuration>
-                          </execution>
-                      </executions>
-                </plugin>
-                <plugin>
-                    <groupId>com.alexecollins.maven.plugin</groupId>
-                    <artifactId>script-maven-plugin</artifactId>
-                    <version>1.0.0</version>
-                    <executions>
-                        <execution>
-                        <id>add-version-to-features</id>
-                        <phase>generate-resources</phase>
-                            <goals>
-                                 <goal>execute</goal>
-                            </goals>
-                            <configuration>
-                                <language>groovy</language>
-                                <script>
-                                    /**
-                                     * Placeholder, which is used in src/feature/features.xml
-                                     * to mark version which should be inserted from dependencies.
-                                     * Currently works only for bundle and configfile tags
-                                     * with mvn: url schema, and needs to be used 
-                                     * as third component of schema.
-                                     * eg. mvn:group/artefact/{{VERSION}}
-                                     */
-                                    def versionPlaceholder = "{{VERSION}}"
-                                    /**
-                                     * Path to features.xml which uses versionPlaceholder.
-                                     * This will be processed by this script.
-                                     *
-                                     */
-                                    def featureFilePath = "src/main/feature/features.xml"
-                                    // Contains mapping of groupID:artefactID to versoin
-                                    def versionMap = new HashMap();
-                                    /* Loads transitive dependency list generated from
-                                     * maven-dependency-plugin resolve goal
-                                     * and populates map
-                                     */
-                                    def dependencies = new File(project.build.directory,"dependencies.txt")
-                                    dependencies.eachLine {
-                                        def cmps = it.trim().split(":")
-                                        // 0 - groupId
-                                        // 1 - artifactId
-                                        // 2 - Type
-                                        // 3 - Version
-                                        if(cmps.length >= 4) {
-                                            def id = cmps[0] + ":" + cmps[1]
-                                            versionMap[id] = cmps[3]
-                                        }
-                                    }
-
-                                    /*
-                                     * Takes splitted mvn: URL, looks for placeholder
-                                     * and returns new mvn: URL with version learned
-                                     * from dependency plugin.
-                                     *
-                                     * If referenced bundle is not dependency (direct or transitive)
-                                     * throws an exception and fails build.
-                                     *
-                                     */
-                                    def updatedURLFromProject = { args ->
-                                        // 0 - groupID, 1 - artifactID
-                                        // 2 - version, 3 - type, 4 - Classifier
-
-                                        def groupId = args[0];
-                                        def artifactId = args[1];
-                                        def id = groupId + ":" + artifactId
-                                        def dependencyVersion = versionMap[id]
-                                        if(dependencyVersion != null) {
-                                            // Overriding version
-                                            args[2] = dependencyVersion
-                                            return "mvn:" + args.join("/")
-                                        }
-                                        throw new IllegalArgumentException("Feature dependency $groupId:$artifactId is not dependecy of project.")
-                                    }
-
-
-                                    def updateMavenDependency  = { dep ->
-                                       def mvnUrl = dep.text()
-                                       if(mvnUrl.startsWith("mvn:")) {
-                                         def components =  mvnUrl.substring(4).split("/")
-                                         if(components[2] == versionPlaceholder) {
-                                         dep.value = updatedURLFromProject(components)
-                                         }
-                                       }
-                                    }
-
-                                    def featureFile = new File(project.basedir,featureFilePath)
-                                    def root = new XmlParser().parse(featureFile)
-
-                                    root.feature.each { feature ->
-                                        println "[INFO] Processing feature: ${feature.@name}"
-                                        feature.bundle.each updateMavenDependency
-                                        feature.configfile.each updateMavenDependency
-                                    }
-
-                                    def outDir = new File(project.build.directory,"generated-resources/script")
-                                    outDir.mkdirs();
-                                    def outFile = new File(outDir,"features.xml")
-                                    def outWriter = outFile.newPrintWriter("ASCII");
-                                    xmlPrinter = new XmlNodePrinter(outWriter);
-                                    xmlPrinter.preserveWhitespace = true
-                                    xmlPrinter.print(root)
-                                    outWriter.close();
-                                </script>
-                            </configuration>
-                        </execution>
-                    </executions>
-                    <dependencies>
-                        <dependency>
-                            <groupId>org.codehaus.groovy</groupId>
-                            <artifactId>groovy</artifactId>
-                            <version>1.8.6</version>
-                        </dependency>
-                    </dependencies>
-                </plugin>
-                <plugin>
-                    <groupId>org.apache.karaf.tooling</groupId>
-                    <artifactId>karaf-maven-plugin</artifactId>
-                    <version>${karaf.version}</version>
-                    <extensions>true</extensions>
-                    <executions>
-                        <execution>
-                            <id>features-create-kar</id>
-                            <goals>
-                                <goal>features-create-kar</goal>
-                            </goals>
-                            <configuration>
-                                <featuresFile>${project.build.directory}/classes/${features.file}</featuresFile>
-                            </configuration>
-                        </execution>
-                    </executions>
-                    <!-- There is no useful configuration for the kar mojo. The features-generate-descriptor mojo configuration may be useful -->
-                </plugin>
-                <plugin>
-                    <groupId>org.codehaus.mojo</groupId>
-                    <artifactId>build-helper-maven-plugin</artifactId>
-                    <executions>
-                        <execution>
-                        <phase>generate-resources</phase>
-                        <goals><goal>add-resource</goal></goals>
-                        <configuration>
-                            <resources>
-                              <resource>
-                                <directory>${project.build.directory}/generated-resources/script</directory>
-                                <filtering>true</filtering>
-                              </resource>
-                            </resources>
-                        </configuration>
-                        </execution>
-                        <execution>
-                            <id>attach-artifacts</id>
-                            <phase>package</phase>
-                            <goals>
-                                <goal>attach-artifact</goal>
-                            </goals>
-                            <configuration>
-                                <artifacts>
-                                    <artifact>
-                                        <file>${project.build.directory}/classes/${features.file}</file>
-                                        <type>xml</type>
-                                        <classifier>features</classifier>
-                                    </artifact>
-                                </artifacts>
-                            </configuration>
-                        </execution>
-                    </executions>
-                </plugin>
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-resources-plugin</artifactId>
-                    <executions>
-                        <execution>
-                            <id>filter</id>
-                            <phase>generate-resources</phase>
-                            <goals>
-                                <goal>resources</goal>
-                            </goals>
-                        </execution>
-                    </executions>
-                </plugin>
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-surefire-plugin</artifactId>
-                    <configuration>
-                        <dependenciesToScan>
-                            <dependency>org.opendaylight.odlparent:features-test</dependency>
-                        </dependenciesToScan>
-                    </configuration>
-                </plugin>
-            </plugins>
-        </pluginManagement>
-    </build>
-
-    <dependencies>
-        <!-- test the features.xml -->
-        <dependency>
-            <groupId>org.opendaylight.odlparent</groupId>
-            <artifactId>features-test</artifactId>
-            <version>1.5.0-SNAPSHOT</version>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
-</project>
index dbf95156e7ee86a1fee7419e863edf9167ebd6ca..3af9851fa23f660c6ba1417a6b43a2f378fd18af 100644 (file)
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <parent>
-        <groupId>org.opendaylight.yangtools</groupId>
-        <artifactId>features-builder</artifactId>
-        <version>0.7.0-SNAPSHOT</version>
-        <relativePath>../features-builder/pom.xml</relativePath>
+        <groupId>org.opendaylight.odlparent</groupId>
+        <artifactId>features-parent</artifactId>
+        <version>1.5.0-SNAPSHOT</version>
+        <relativePath/>
     </parent>
 
+    <groupId>org.opendaylight.yangtools</groupId>
     <artifactId>features-yangtools</artifactId>
+    <version>0.7.0-SNAPSHOT</version>
     <packaging>jar</packaging>
 
     <build>
index 986dea0b08df0929dccece3c39e1c180da3d3d6a..8c0bf84b1bcfeb4183fc1474e8ef45feff2b9d0d 100644 (file)
@@ -25,7 +25,6 @@
         <module>checkstyle-logging</module>
         <module>concepts</module>
         <module>features</module>
-        <module>features-builder</module>
         <module>features-test</module>
         <module>mockito-configuration</module>
         <module>object-cache-api</module>