Add test-blueprint-kotlin-parent 57/111157/1
authorJozsef Csongvai <jozsef.csongvai@bell.ca>
Tue, 11 Aug 2020 20:17:55 +0000 (16:17 -0400)
committerJozsef Csongvai <jozsef.csongvai@bell.ca>
Tue, 11 Aug 2020 20:36:01 +0000 (16:36 -0400)
This parent project is intended for inheritence in CBA pom.xml.
It provides dependencies for testing and mocking kotlin scripts.
By turning a CBA into a maven project which inherits this parent,
users will be able to debug and unit test their kotlin scripts.

The parent also includes a profile (-Pdeploy-cba) which will enrich
and publish the CBA to a running instance of CDS, defined by properties
in the CBA pom.xml.

This patch also adds a common assembly descriptor for resuse in
maven-assembly-plugin where it is used to package CBA into zip.

Issue-ID: CCSDK-2642
Signed-off-by: Jozsef Csongvai <jozsef.csongvai@bell.ca>
Change-Id: I160c3c3e982ad4ed46f0704d6dc27dadfb0dfdc8

components/model-catalog/blueprint-model/cba-assembly-descriptor/pom.xml [new file with mode: 0644]
components/model-catalog/blueprint-model/cba-assembly-descriptor/src/main/resources/assemblies/cba_zip.xml [new file with mode: 0644]
components/model-catalog/blueprint-model/pom.xml
components/model-catalog/blueprint-model/test-blueprint-kotlin-parent/pom.xml [new file with mode: 0644]
components/model-catalog/blueprint-model/test-blueprint/capability_cli/Distribution/cba_zip.xml [deleted file]
components/model-catalog/blueprint-model/test-blueprint/capability_cli/pom.xml
components/model-catalog/blueprint-model/test-blueprint/resource-audit/Distribution/cba_zip.xml [deleted file]
components/model-catalog/blueprint-model/test-blueprint/resource-audit/pom.xml

diff --git a/components/model-catalog/blueprint-model/cba-assembly-descriptor/pom.xml b/components/model-catalog/blueprint-model/cba-assembly-descriptor/pom.xml
new file mode 100644 (file)
index 0000000..e918cc2
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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>
+  <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
+  <artifactId>cba-assembly-descriptor</artifactId>
+  <version>1.0.0-SNAPSHOT</version>
+  <name>CBA - Assembly Sescriptor</name>
+  <description>Shared assembly descriptor</description>
+</project>
\ No newline at end of file
diff --git a/components/model-catalog/blueprint-model/cba-assembly-descriptor/src/main/resources/assemblies/cba_zip.xml b/components/model-catalog/blueprint-model/cba-assembly-descriptor/src/main/resources/assemblies/cba_zip.xml
new file mode 100644 (file)
index 0000000..71a3c8d
--- /dev/null
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~  Copyright © 2019 IBM.
+  ~
+  ~  Licensed under the Apache License, Version 2.0 (the "License");
+  ~  you may not use this file except in compliance with the License.
+  ~  You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~  Unless required by applicable law or agreed to in writing, software
+  ~  distributed under the License is distributed on an "AS IS" BASIS,
+  ~  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~  See the License for the specific language governing permissions and
+  ~  limitations under the License.
+  -->
+
+<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
+  <!-- create a tar.gz file containing the projects dependencies -->
+  <id>cba</id>
+  <formats>
+    <format>zip</format>
+  </formats>
+  <includeBaseDirectory>false</includeBaseDirectory>
+  <fileSets>
+    <fileSet>
+      <directory>${project.basedir}</directory>
+      <includes>
+        <include>Definitions/**</include>
+        <include>Distribution/**</include>
+        <include>Environments/**</include>
+        <include>Plans/**</include>
+        <include>Others/**</include>
+        <include>Scripts/**</include>
+        <include>Templates/**</include>
+        <include>TOSCA-Metadata/**</include>
+        <include>pom.xml</include>
+      </includes>
+    </fileSet>
+  </fileSets>
+</assembly>
\ No newline at end of file
index 7eaeda2..1ea99fa 100644 (file)
@@ -35,5 +35,7 @@
 
     <modules>
         <module>test-blueprint</module>
+        <module>cba-assembly-descriptor</module>
+        <module>test-blueprint-kotlin-parent</module>
     </modules>
 </project>
diff --git a/components/model-catalog/blueprint-model/test-blueprint-kotlin-parent/pom.xml b/components/model-catalog/blueprint-model/test-blueprint-kotlin-parent/pom.xml
new file mode 100644 (file)
index 0000000..1459531
--- /dev/null
@@ -0,0 +1,393 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Copyright © 2020 Bell Canada
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<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.onap.ccsdk.cds.blueprintsprocessor</groupId>
+        <artifactId>cba-parent</artifactId>
+        <version>1.0.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>test-blueprint-kotlin-parent</artifactId>
+    <version>1.0.0-SNAPSHOT</version>
+    <packaging>pom</packaging>
+
+    <name>CBA - Test Kotlin scripts</name>
+    <description>CBA - Test Kotlin scripts</description>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
+            <artifactId>execution-service</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId>
+            <artifactId>resource-resolution</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId>
+            <artifactId>netconf-executor</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId>
+            <artifactId>cli-executor</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId>
+            <artifactId>message-prioritizaion</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.jetbrains.kotlin</groupId>
+            <artifactId>kotlin-stdlib</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.jetbrains.kotlin</groupId>
+            <artifactId>kotlin-test-junit</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.jetbrains.kotlinx</groupId>
+            <artifactId>kotlinx-coroutines-test</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>4.12</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>io.mockk</groupId>
+            <artifactId>mockk</artifactId>
+            <version>1.10.0</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>com.squareup.okhttp3</groupId>
+            <artifactId>okhttp</artifactId>
+            <version>3.14.0</version>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <sourceDirectory>${project.basedir}/Scripts/kotlin</sourceDirectory>
+        <testSourceDirectory>${project.basedir}/Tests/kotlin</testSourceDirectory>
+        <resources>
+            <resource>
+                <directory>${project.basedir}/Environments</directory>
+            </resource>
+        </resources>
+        <plugins>
+            <plugin>
+                <artifactId>maven-antrun-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>validate-kotlin</id>
+                        <phase>validate</phase>
+                        <configuration>
+                            <target name="ktlint">
+                                <java taskname="ktlint" dir="${project.basedir}" fork="true" failonerror="true" classname="com.pinterest.ktlint.Main" classpathref="maven.plugin.classpath">
+                                    <arg value="Scripts/kotlin/**/*.kt"/>
+                                </java>
+                            </target>
+                            <skip>${format.skipValidate}</skip>
+                        </configuration>
+                        <goals>
+                            <goal>run</goal>
+                        </goals>
+                    </execution>
+                    <execution>
+                        <!-- Built-in formatter So that you wouldn't have to fix all style violations by hand.-->
+                        <id>format-kotlin</id>
+                        <phase>process-sources</phase>
+                        <configuration>
+                            <target name="ktlint">
+                                <java taskname="ktlint" dir="${project.basedir}" fork="true" failonerror="true" classname="com.pinterest.ktlint.Main" classpathref="maven.plugin.classpath">
+                                    <arg value="-F"/>
+                                    <arg value="Scripts/kotlin/**/*.kt"/>
+                                </java>
+                            </target>
+                            <skip>${format.skipExecute}</skip>
+                        </configuration>
+                        <goals>
+                            <goal>run</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.jacoco</groupId>
+                <artifactId>jacoco-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>pre-unit-test</id>
+                        <phase>none</phase>
+                    </execution>
+                    <execution>
+                        <id>default-prepare-agent</id>
+                        <phase>none</phase>
+                    </execution>
+                    <execution>
+                        <id>post-unit-test</id>
+                        <phase>none</phase>
+                    </execution>
+                    <execution>
+                        <id>default-report</id>
+                        <phase>none</phase>
+                    </execution>
+                    <execution>
+                        <id>pre-integration-test</id>
+                        <phase>none</phase>
+                    </execution>
+                    <execution>
+                        <id>post-integration-test</id>
+                        <phase>none</phase>
+                    </execution>
+                    <execution>
+                        <id>default-check</id>
+                        <phase>none</phase>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-failsafe-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>default</id>
+                        <phase>none</phase>
+                    </execution>
+                    <execution>
+                        <id>integration-tests</id>
+                        <phase>none</phase>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.jetbrains.kotlin</groupId>
+                <artifactId>kotlin-maven-plugin</artifactId>
+                <version>${kotlin.maven.version}</version>
+                <executions>
+                    <execution>
+                        <id>compile</id>
+                        <phase>compile</phase>
+                        <goals>
+                            <goal>compile</goal>
+                        </goals>
+                        <configuration>
+                            <sourceDirs>
+                                <sourceDir>${project.basedir}/Scripts/kotlin</sourceDir>
+                            </sourceDirs>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>test-compile</id>
+                        <phase>test-compile</phase>
+                        <goals>
+                            <goal>test-compile</goal>
+                        </goals>
+                        <configuration>
+                            <sourceDirs>
+                                <sourceDir>${project.basedir}/Tests/kotlin</sourceDir>
+                            </sourceDirs>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>default-test</id>
+                        <phase>test</phase>
+                        <goals>
+                            <goal>test</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-site-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>attach-descriptor</id>
+                        <phase>none</phase>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <artifactId>maven-checkstyle-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>check-license</id>
+                        <phase>none</phase>
+                    </execution>
+                    <execution>
+                        <id>check-style</id>
+                        <phase>none</phase>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <artifactId>maven-assembly-plugin</artifactId>
+                <dependencies>
+                    <dependency>
+                        <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
+                        <artifactId>cba-assembly-descriptor</artifactId>
+                        <version>1.0.0-SNAPSHOT</version>
+                    </dependency>
+                </dependencies>
+                <executions>
+                    <execution>
+                        <id>make-assembly</id>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>single</goal>
+                        </goals>
+                        <configuration>
+                            <descriptorRefs>
+                                <descriptorRef>cba_zip</descriptorRef>
+                            </descriptorRefs>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+    <profiles>
+        <profile>
+            <id>deploy-cba</id>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.codehaus.gmaven</groupId>
+                        <artifactId>groovy-maven-plugin</artifactId>
+                        <dependencies>
+                            <dependency>
+                                <groupId>com.squareup.okhttp3</groupId>
+                                <artifactId>okhttp</artifactId>
+                                <version>3.14.0</version>
+                            </dependency>
+                            <dependency>
+                                <groupId>commons-io</groupId>
+                                <artifactId>commons-io</artifactId>
+                                <version>${commons-io-version}</version>
+                            </dependency>
+                        </dependencies>
+                        <executions>
+                            <execution>
+                                <id>deploy-cba</id>
+                                <phase>install</phase>
+                                <goals>
+                                    <goal>execute</goal>
+                                </goals>
+                                <configuration>
+                                    <source>
+                                        import okhttp3.Credentials
+                                        import okhttp3.MediaType
+                                        import okhttp3.MultipartBody
+                                        import okhttp3.OkHttpClient
+                                        import okhttp3.Request
+                                        import okhttp3.RequestBody
+                                        import org.apache.commons.io.IOUtils
+
+                                        import java.io.File
+
+                                        target = "${basedir.absolutePath}/target"
+                                        userName = throwIfPropMissing('cds.username')
+                                        password = throwIfPropMissing('cds.password')
+                                        protocol = properties['cds.protocol'] ?: 'http'
+                                        host = properties['cds.host'] ?: 'localhost'
+                                        port = properties['cds.port'] ?: '8081'
+
+                                        def cba = "${project.artifact.artifactId}-${project.artifact.version}-cba.zip"
+                                        def enrichedCba = "${project.artifact.artifactId}-${project.artifact.version}-enriched-cba.zip"
+                                        def enrichEndpoint = properties['cds.enrich.endpoint'] ?: 'api/v1/blueprint-model/enrich'
+                                        def publishEndpoint = properties['cds.publish.endpoint'] ?: 'api/v1/blueprint-model/publish'
+
+                                        def throwIfPropMissing(prop) {
+                                            value = properties[prop]
+                                            if (!value || "".equals(value)) {
+                                                throw new RuntimeException("Property missing: $prop")
+                                            }
+                                            return value
+                                        }
+
+                                        def buildRequest(endpoint, fileName) {
+                                            body = new MultipartBody.Builder()
+                                              .setType(MultipartBody.FORM)
+                                              .addFormDataPart("file",
+                                                fileName,
+                                                RequestBody.create(MediaType.parse('application/zip'), new File(target, fileName)))
+                                              .build()
+
+                                            return new Request.Builder()
+                                              .url("$protocol://$host:$port/$endpoint")
+                                              .addHeader('Authorization', Credentials.basic(userName, password))
+                                              .post(body)
+                                              .build()
+                                        }
+
+                                        def logAndThrow(msg) {
+                                            if(response) {
+                                                log.error(response.body().string())
+                                            }
+                                            throw new RuntimeException(msg)
+                                        }
+
+                                        response = null
+                                        try {
+                                            def client = new OkHttpClient()
+
+                                            response = client.newCall(buildRequest(enrichEndpoint, cba)).execute()
+                                            if (!response || !response.isSuccessful()) {
+                                                logAndThrow("Failed to enrich CBA")
+                                            }
+
+                                            IOUtils.copy(
+                                              response.body().byteStream(),
+                                              new FileOutputStream(new File(target, enrichedCba))
+                                            )
+                                            log.info("Created enriched cba: $enrichedCba")
+
+                                            response = client.newCall(buildRequest(publishEndpoint, enrichedCba)).execute()
+                                            if (!response || !response.isSuccessful()) {
+                                                logAndThrow("Failed to publish CBA")
+                                            }
+
+                                            log.info("CBA Deployed")
+                                            log.info(response.body().string())
+                                        } finally {
+                                            if (response) {
+                                                response.close()
+                                            }
+                                        }
+                                    </source>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+</project>
diff --git a/components/model-catalog/blueprint-model/test-blueprint/capability_cli/Distribution/cba_zip.xml b/components/model-catalog/blueprint-model/test-blueprint/capability_cli/Distribution/cba_zip.xml
deleted file mode 100755 (executable)
index c6c3bde..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  ~  Copyright © 2019 IBM.
-  ~
-  ~  Licensed under the Apache License, Version 2.0 (the "License");
-  ~  you may not use this file except in compliance with the License.
-  ~  You may obtain a copy of the License at
-  ~
-  ~      http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~  Unless required by applicable law or agreed to in writing, software
-  ~  distributed under the License is distributed on an "AS IS" BASIS,
-  ~  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~  See the License for the specific language governing permissions and
-  ~  limitations under the License.
-  -->
-
-<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
-          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-          xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
-    <!-- create a tar.gz file containing the projects dependencies -->
-    <id>cba</id>
-    <formats>
-        <format>zip</format>
-    </formats>
-    <includeBaseDirectory>false</includeBaseDirectory>
-    <fileSets>
-        <fileSet>
-            <directory>${project.basedir}</directory>
-            <includes>
-                <include>Definitions/**</include>
-                <include>Distribution/**</include>
-                <include>Environments/**</include>
-                <include>Plans/**</include>
-                <include>Others/**</include>
-                <include>Scripts/**</include>
-                <include>Templates/**</include>
-                <include>TOSCA-Metadata/**</include>
-                <include>pom.xml</include>
-            </includes>
-        </fileSet>
-    </fileSets>
-</assembly>
\ No newline at end of file
index f2f5196..c3138da 100644 (file)
         <plugins>
             <plugin>
                 <artifactId>maven-assembly-plugin</artifactId>
+                <dependencies>
+                    <dependency>
+                        <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
+                        <artifactId>cba-assembly-descriptor</artifactId>
+                        <version>1.0.0-SNAPSHOT</version>
+                    </dependency>
+                </dependencies>
                 <version>3.1.0</version>
                 <executions>
                     <execution>
@@ -51,9 +58,9 @@
                         </goals>
                         <configuration>
                             <appendAssemblyId>false</appendAssemblyId>
-                            <descriptors>
-                                <descriptor>Distribution/cba_zip.xml</descriptor>
-                            </descriptors>
+                            <descriptorRefs>
+                                <descriptorRef>cba_zip</descriptorRef>
+                            </descriptorRefs>
                         </configuration>
                     </execution>
                 </executions>
diff --git a/components/model-catalog/blueprint-model/test-blueprint/resource-audit/Distribution/cba_zip.xml b/components/model-catalog/blueprint-model/test-blueprint/resource-audit/Distribution/cba_zip.xml
deleted file mode 100755 (executable)
index c6c3bde..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  ~  Copyright © 2019 IBM.
-  ~
-  ~  Licensed under the Apache License, Version 2.0 (the "License");
-  ~  you may not use this file except in compliance with the License.
-  ~  You may obtain a copy of the License at
-  ~
-  ~      http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~  Unless required by applicable law or agreed to in writing, software
-  ~  distributed under the License is distributed on an "AS IS" BASIS,
-  ~  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~  See the License for the specific language governing permissions and
-  ~  limitations under the License.
-  -->
-
-<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
-          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-          xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
-    <!-- create a tar.gz file containing the projects dependencies -->
-    <id>cba</id>
-    <formats>
-        <format>zip</format>
-    </formats>
-    <includeBaseDirectory>false</includeBaseDirectory>
-    <fileSets>
-        <fileSet>
-            <directory>${project.basedir}</directory>
-            <includes>
-                <include>Definitions/**</include>
-                <include>Distribution/**</include>
-                <include>Environments/**</include>
-                <include>Plans/**</include>
-                <include>Others/**</include>
-                <include>Scripts/**</include>
-                <include>Templates/**</include>
-                <include>TOSCA-Metadata/**</include>
-                <include>pom.xml</include>
-            </includes>
-        </fileSet>
-    </fileSets>
-</assembly>
\ No newline at end of file
index 21d9b8d..3cc0822 100644 (file)
             <plugin>
                 <artifactId>maven-assembly-plugin</artifactId>
                 <version>3.1.0</version>
+                <dependencies>
+                    <dependency>
+                        <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
+                        <artifactId>cba-assembly-descriptor</artifactId>
+                        <version>1.0.0-SNAPSHOT</version>
+                    </dependency>
+                </dependencies>
                 <executions>
                     <execution>
                         <id>cba</id>
@@ -52,9 +59,9 @@
                         </goals>
                         <configuration>
                             <appendAssemblyId>false</appendAssemblyId>
-                            <descriptors>
-                                <descriptor>Distribution/cba_zip.xml</descriptor>
-                            </descriptors>
+                            <descriptorRefs>
+                                <descriptorRef>cba_zip</descriptorRef>
+                            </descriptorRefs>
                         </configuration>
                     </execution>
                 </executions>