<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.sdc.common</groupId>
    <name>onap-configuration-management-cli</name>
    <artifactId>onap-configuration-management-cli</artifactId>

    <parent>
        <artifactId>onap-common-configuration-management</artifactId>
        <groupId>org.onap.sdc.common</groupId>
        <version>1.2.0-SNAPSHOT</version>
        <relativePath>..</relativePath>
    </parent>

    <dependencies>
	<dependency>
	    <groupId>org.onap.sdc.common</groupId>
	    <artifactId>onap-configuration-management-api</artifactId>
	    <version>${project.version}</version>
	</dependency>
	<dependency>
		<groupId>tools</groupId>
		<artifactId>tools</artifactId>
		<version>1.8</version>
		<optional>true</optional>
	</dependency>
    </dependencies>

    <build>
    	<plugins>
    		<plugin>
    			<groupId>org.apache.maven.plugins</groupId>
    			<artifactId>maven-shade-plugin</artifactId>
    			<version>1.5</version>
    			<executions>
    				<execution>
    					<phase>package</phase>
    					<goals>
    						<goal>shade</goal>
    					</goals>
    					<configuration>
			              <transformers>
			                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
			                  <mainClass>org.onap.config.gui.app.Configuration</mainClass>
			                </transformer>
			              </transformers>
			            </configuration>
    				</execution>
    			</executions>
    		</plugin>
		</plugins>
    </build>

</project>
