Use frontend-maven-plugin to build dlux-web
[dlux.git] / dlux-web / pom.xml
index 21569e7a21eeb7c2bf787fba1cf824ace86a362d..52969b02c3d73c44506074518b46f5149149be23 100644 (file)
@@ -4,14 +4,14 @@
   <parent>\r
     <groupId>org.opendaylight.dlux</groupId>\r
     <artifactId>dlux-parent</artifactId>\r
-    <version>0.1.0-SNAPSHOT</version>\r
+    <version>0.2.0-SNAPSHOT</version>\r
     <relativePath>..</relativePath>\r
   </parent>\r
 \r
     <modelVersion>4.0.0</modelVersion>\r
     <groupId>org.opendaylight.dlux</groupId>\r
     <artifactId>dlux-web</artifactId>\r
-    <version>0.1.0-SNAPSHOT</version>\r
+    <version>0.2.0-SNAPSHOT</version>\r
     <packaging>bundle</packaging>\r
     <name>DLUX - DLUX Static Web </name>\r
     <properties>\r
     </properties>\r
 \r
     <dependencies>\r
-\r
-        <dependency>\r
-           <groupId>org.osgi</groupId>\r
-           <artifactId>org.osgi.core</artifactId>\r
+       <dependency>\r
+         <groupId>org.osgi</groupId>\r
+         <artifactId>org.osgi.core</artifactId>\r
        </dependency>\r
-\r
        <dependency>\r
-           <groupId>org.osgi</groupId>\r
-           <artifactId>org.osgi.compendium</artifactId>\r
+         <groupId>org.osgi</groupId>\r
+         <artifactId>org.osgi.compendium</artifactId>\r
        </dependency>\r
-\r
+      <dependency>\r
+        <groupId>org.opendaylight.dlux</groupId>\r
+        <artifactId>dlux.node.resources</artifactId>\r
+        <version>${node.resources.version}</version>\r
+      </dependency>\r
+      <dependency>\r
+        <groupId>org.opendaylight.dlux</groupId>\r
+        <artifactId>dlux.common.yangutils.resources</artifactId>\r
+        <version>${common.yangutils.resources.version}</version>\r
+       </dependency>\r
+      <dependency>\r
+        <groupId>org.opendaylight.dlux</groupId>\r
+        <artifactId>dlux.common.navigation.resources</artifactId>\r
+        <version>${common.navigation.resources.version}</version>\r
+       </dependency>\r
+       <dependency>\r
+        <groupId>org.opendaylight.dlux</groupId>\r
+        <artifactId>dlux.common.layout.resources</artifactId>\r
+        <version>${common.layout.resources.version}</version>\r
+       </dependency>\r
+       <dependency>\r
+        <groupId>org.opendaylight.dlux</groupId>\r
+        <artifactId>dlux.common.authentication.resources</artifactId>\r
+        <version>${common.authentication.resources.version}</version>\r
+      </dependency>\r
+       <dependency>\r
+        <groupId>org.opendaylight.dlux</groupId>\r
+        <artifactId>dlux.common.login.resources</artifactId>\r
+        <version>${common.login.resources.version}</version>\r
+    </dependency>\r
+       <dependency>\r
+        <groupId>org.opendaylight.dlux</groupId>\r
+        <artifactId>dlux.common.general.resources</artifactId>\r
+        <version>${common.general.resources.version}</version>\r
+    </dependency>\r
+    <dependency>\r
+        <groupId>org.opendaylight.dlux</groupId>\r
+        <artifactId>dlux.yangui.resources</artifactId>\r
+        <version>${yangui.resources.version}</version>\r
+    </dependency>\r
+    <dependency>\r
+        <groupId>org.opendaylight.dlux</groupId>\r
+        <artifactId>dlux.network.resources</artifactId>\r
+        <version>${network.resources.version}</version>\r
+    </dependency>\r
+    <dependency>\r
+        <groupId>org.opendaylight.dlux</groupId>\r
+        <artifactId>dlux.flow.resources</artifactId>\r
+        <version>${flow.resources.version}</version>\r
+    </dependency>\r
+    <dependency>\r
+        <groupId>org.opendaylight.dlux</groupId>\r
+        <artifactId>dlux.container.resources</artifactId>\r
+        <version>${container.resources.version}</version>\r
+    </dependency>\r
+    <dependency>\r
+        <groupId>org.opendaylight.dlux</groupId>\r
+        <artifactId>dlux.topology.resources</artifactId>\r
+        <version>${topology.resources.version}</version>\r
+    </dependency>\r
+    <dependency>\r
+        <groupId>org.opendaylight.dlux</groupId>\r
+        <artifactId>dlux.loader.resources</artifactId>\r
+        <version>${loader.resources.version}</version>\r
+    </dependency>\r
+    <dependency>\r
+        <groupId>org.opendaylight.dlux</groupId>\r
+        <artifactId>dlux.connection_manager.resources</artifactId>\r
+        <version>${connection_manager.resources.version}</version>\r
+      </dependency>\r
+      <dependency>\r
+        <groupId>org.opendaylight.dlux</groupId>\r
+        <artifactId>dlux.core.resources</artifactId>\r
+        <version>${core.resources.version}</version>\r
+      </dependency>\r
+      <dependency>\r
+        <groupId>org.opendaylight.dlux</groupId>\r
+        <artifactId>dlux.common.topbar.resources</artifactId>\r
+        <version>${common.topbar.resources.version}</version>\r
+      </dependency>\r
     </dependencies>\r
 \r
     <build>\r
             </resource>\r
         </resources>\r
         <plugins>\r
-            <plugin>\r
-                <groupId>org.codehaus.mojo</groupId>\r
-                <artifactId>exec-maven-plugin</artifactId>\r
-                <version>1.3.1</version>\r
-                <executions>\r
-                    <execution>\r
-                        <phase>process-resources</phase>\r
-                        <goals>\r
-                            <goal>exec</goal>\r
-                        </goals>\r
-                    </execution>\r
-                </executions>\r
-                <configuration>\r
-                    <executable>grunt</executable>\r
-                </configuration>\r
-            </plugin>\r
+        <!--Clean extracted resources-->\r
+        <plugin>\r
+            <artifactId>maven-clean-plugin</artifactId>\r
+            <version>2.5</version>\r
+            <configuration>\r
+              <filesets>\r
+                <fileset>\r
+                  <directory>src</directory>\r
+                  <includes>\r
+                         <include>test-main.js</include>\r
+                         <include>index.html</include>\r
+                         <include>main.js</include>\r
+                         <include>app/app.controller.js</include>\r
+                         <include>app/app.module.js</include>\r
+                         <include>app/routingConfig.js</include>\r
+                      <include>app/node/</include>\r
+                      <include>app/yangui/</include>\r
+                      <include>app/network/</include>\r
+                      <include>app/flow/</include>\r
+                      <include>app/container/</include>\r
+                      <include>app/topology/</include>\r
+                      <include>app/connection_manager/</include>\r
+                      <include>app/core/</include>\r
+                      <include>common/yangutils/</include>\r
+                      <include>common/navigation/</include>\r
+                      <include>common/layout/</include>\r
+                      <include>common/authentification/</include>\r
+                      <include>common/login/</include>\r
+                      <include>common/general/</include>\r
+                      <include>common/topbar/</include>\r
+                         <include>assets/</include>\r
+                           </includes>\r
+                  <excludes></excludes>\r
+                  <followSymlinks>false</followSymlinks>\r
+                </fileset>\r
+              </filesets>\r
+            </configuration>\r
+        </plugin>\r
+        <plugin>\r
+          <groupId>org.apache.maven.plugins</groupId>\r
+          <artifactId>maven-dependency-plugin</artifactId>\r
+          <version>2.6</version>\r
+          <executions>\r
+         <!--src/app/ Resources-->\r
+            <execution>\r
+              <id>unpack-core-resources</id>\r
+              <goals>\r
+                <goal>unpack-dependencies</goal>\r
+              </goals>\r
+              <phase>generate-sources</phase>\r
+              <configuration>\r
+                <outputDirectory>${project.basedir}/src/app/</outputDirectory>\r
+                <groupId>org.opendaylight.dlux</groupId>\r
+                <includeArtifactIds>\r
+                  dlux.node.resources,\r
+                  dlux.yangui.resources,\r
+                  dlux.container.resources,\r
+                  dlux.topology.resources,\r
+                  dlux.connection_manager.resources,\r
+                  dlux.network.resources,\r
+                  dlux.flow.resources,\r
+                  dlux.core.resources,\r
+                </includeArtifactIds>\r
+                <excludes>META-INF\/**</excludes>\r
+                <excludeTransitive>true</excludeTransitive>\r
+                <ignorePermissions>false</ignorePermissions>\r
+              </configuration>\r
+            </execution>\r
+         <!--src/common Resources-->\r
+            <execution>\r
+              <id>unpack-general-resources</id>\r
+              <goals>\r
+                <goal>unpack-dependencies</goal>\r
+              </goals>\r
+              <phase>generate-sources</phase>\r
+              <configuration>\r
+                <outputDirectory>${project.basedir}/src/common/</outputDirectory>\r
+                <groupId>org.opendaylight.dlux</groupId>\r
+                <includeArtifactIds>\r
+                  dlux.common.yangutils.resources,\r
+                  dlux.common.navigation.resources,\r
+                  dlux.common.layout.resources,\r
+                  dlux.common.authentication.resources,\r
+                  dlux.common.login.resources,\r
+                  dlux.common.general.resources,\r
+                  dlux.common.topbar.resources,\r
+                </includeArtifactIds>\r
+                <excludes>META-INF\/**</excludes>\r
+                <excludeTransitive>true</excludeTransitive>\r
+                <ignorePermissions>false</ignorePermissions>\r
+              </configuration>\r
+            </execution>\r
+         <!--loader Resources-->\r
+            <execution>\r
+              <id>unpack-loader-resources</id>\r
+              <goals>\r
+                <goal>unpack-dependencies</goal>\r
+              </goals>\r
+              <phase>generate-sources</phase>\r
+              <configuration>\r
+                <outputDirectory>${project.basedir}/src/</outputDirectory>\r
+                <groupId>org.opendaylight.dlux</groupId>\r
+                <includeArtifactIds>dlux.loader.resources</includeArtifactIds>\r
+                <excludes>META-INF\/**</excludes>\r
+                <excludeTransitive>true</excludeTransitive>\r
+                <ignorePermissions>false</ignorePermissions>\r
+              </configuration>\r
+            </execution>\r
+          </executions>\r
+        </plugin>\r
+        <plugin>\r
+          <groupId>com.github.eirslett</groupId>\r
+          <artifactId>frontend-maven-plugin</artifactId>\r
+          <version>0.0.19</version>\r
+          <executions>\r
+            <execution>\r
+              <id>npm</id>\r
+              <goals>\r
+                <goal>install-node-and-npm</goal>\r
+                <goal>npm</goal>\r
+              </goals>\r
+              <phase>generate-resources</phase>\r
+            </execution>\r
+          </executions>\r
+          <configuration>\r
+            <nodeVersion>v0.10.18</nodeVersion>\r
+            <npmVersion>1.3.8</npmVersion>\r
+          </configuration>\r
+        </plugin>\r
+        <plugin>\r
+          <groupId>org.codehaus.mojo</groupId>\r
+          <artifactId>exec-maven-plugin</artifactId>\r
+          <version>1.3.1</version>\r
+          <executions>\r
+            <execution>\r
+              <phase>generate-resources</phase>\r
+              <configuration>\r
+                <executable>node_modules/bower/bin/bower</executable>\r
+                <arguments>\r
+                  <argument>install</argument>\r
+                </arguments>\r
+              </configuration>\r
+              <goals>\r
+                <goal>exec</goal>\r
+              </goals>\r
+            </execution>\r
+          </executions>\r
+        </plugin>\r
+        <plugin>\r
+          <groupId>com.github.eirslett</groupId>\r
+          <artifactId>frontend-maven-plugin</artifactId>\r
+          <version>0.0.19</version>\r
+          <executions>\r
+            <execution>\r
+              <id>grunt</id>\r
+              <goals>\r
+                <goal>grunt</goal>\r
+              </goals>\r
+              <phase>process-resources</phase>\r
+            </execution>\r
+          </executions>\r
+        </plugin>\r
             <plugin>\r
                 <groupId>org.apache.felix</groupId>\r
                 <artifactId>maven-bundle-plugin</artifactId>\r