<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Copyright (C) 2012, the original authors
  ~
  ~  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">
    <parent>
        <artifactId>jclouds-cli-pom</artifactId>
        <groupId>org.apache.jclouds.cli</groupId>
        <version>1.7.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.apache.jclouds.cli</groupId>
    <artifactId>jclouds-cli</artifactId>
    <version>1.7.0-SNAPSHOT</version>
    <name>jclouds :: cli :: assembly</name>

    <dependencies>
        <dependency>
            <groupId>org.apache.jclouds.cli</groupId>
            <artifactId>branding</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.jclouds.cli</groupId>
            <artifactId>runner</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.karaf</groupId>
            <artifactId>apache-karaf</artifactId>
            <version>${karaf.version}</version>
            <type>tar.gz</type>
        </dependency>
        <dependency>
            <groupId>org.apache.karaf</groupId>
            <artifactId>apache-karaf</artifactId>
            <version>${karaf.version}</version>
            <type>zip</type>
        </dependency>

        <!-- External Logging Dependencies -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>${slf4j.version}</version>
        </dependency>

        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>${slf4j.version}</version>
        </dependency>

        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>${log4j.version}</version>
        </dependency>

    </dependencies>

    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>false</filtering>
            </resource>
            <resource>
                <directory>src/main/filtered-resources</directory>
                <includes>
                    <include>**/*</include>
                </includes>
                <filtering>true</filtering>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>${maven-resources-plugin.version}</version>
                <configuration>
                    <useDefaultDelimiters>false</useDefaultDelimiters>
                    <delimiters>
                        <delimiter>${*}</delimiter>
                    </delimiters>
                </configuration>
                <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-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <id>unpack-unix</id>
                        <phase>generate-resources</phase>
                        <goals>
                            <goal>unpack</goal>
                        </goals>
                        <configuration>
                            <artifactItems>
                                <artifactItem>
                                    <groupId>org.apache.karaf</groupId>
                                    <artifactId>apache-karaf</artifactId>
                                    <version>${karaf.version}</version>
                                    <classifier>minimal</classifier>
                                    <type>tar.gz</type>
                                    <outputDirectory>target/dependencies/unix</outputDirectory>
                                </artifactItem>
                            </artifactItems>
                        </configuration>
                    </execution>
                    <execution>
                        <id>unpack-win</id>
                        <phase>generate-resources</phase>
                        <goals>
                            <goal>unpack</goal>
                        </goals>
                        <configuration>
                            <artifactItems>
                                <artifactItem>
                                    <groupId>org.apache.karaf</groupId>
                                    <artifactId>apache-karaf</artifactId>
                                    <version>${karaf.version}</version>
                                    <classifier>minimal</classifier>
                                    <type>zip</type>
                                    <outputDirectory>target/dependencies/win</outputDirectory>
                                </artifactItem>
                            </artifactItems>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.karaf.tooling</groupId>
                <artifactId>features-maven-plugin</artifactId>
                <version>${karaf.version}</version>
                <executions>
                    <execution>
                        <id>add-features-to-repo</id>
                        <phase>compile</phase>
                        <goals>
                            <goal>add-features-to-repo</goal>
                        </goals>
                        <configuration>
                            <descriptors>
                                <descriptor>
                                    mvn:org.apache.karaf.assemblies.features/standard/${karaf.version}/xml/features
                                </descriptor>
                                <descriptor>
                                    mvn:org.apache.jclouds.karaf/jclouds-karaf/${jclouds.karaf.version}/xml/features
                                </descriptor>
                            </descriptors>
                            <features>
                                <feature>config</feature>
                                <feature>jclouds-guice</feature>
                                <feature>jclouds</feature>
                                <feature>jclouds-compute</feature>
                                <feature>jclouds-nodepool</feature>
                                <feature>jclouds-api-filesystem</feature>
                                <feature>jclouds-api-elasticstack</feature>
                                <feature>jclouds-api-vcloud</feature>
                                <feature>jclouds-api-byon</feature>
                                <feature>jclouds-api-swift</feature>
                                <feature>jclouds-api-openstack-nova</feature>
                                <feature>jclouds-api-openstack-cinder</feature>
                                <feature>jclouds-api-s3</feature>
                                <feature>jclouds-api-ec2</feature>
                                <feature>jclouds-api-cloudstack</feature>
                                <feature>jclouds-api-rackspace-cloudidentity</feature>
                                <feature>jclouds-api-chef</feature>
                                <feature>jclouds-driver-jsch</feature>
                                <feature>jclouds-driver-sshj</feature>
                                <feature>jclouds-driver-slf4j</feature>
                                <feature>jclouds-driver-log4j</feature>
                                <feature>jclouds-driver-bouncycastle</feature>
                                <feature>jclouds-aws-cloudwatch</feature>
                                <feature>jclouds-aws-ec2</feature>
                                <feature>jclouds-aws-s3</feature>
                                <feature>jclouds-azureblob</feature>
                                <feature>jclouds-bluelock-vcloud-zone01</feature>
                                <feature>jclouds-cloudfiles-uk</feature>
                                <feature>jclouds-cloudfiles-us</feature>
                                <feature>jclouds-rackspace-cloudloadbalancers-us</feature>
                                <feature>jclouds-rackspace-cloudloadbalancers-uk</feature>
                                <feature>jclouds-cloudonestorage</feature>
                                <feature>jclouds-cloudserver-uk</feature>
                                <feature>jclouds-cloudserver-us</feature>
                                <feature>jclouds-rackspace-cloudservers-us</feature>
                                <feature>jclouds-rackspace-cloudservers-uk</feature>
                                <feature>jclouds-cloudsigma-zrh</feature>
                                <feature>jclouds-cloudsigma-lvs</feature>
                                <feature>jclouds-elastichosts-lon-b</feature>
                                <feature>jclouds-elastichosts-lon-p</feature>
                                <feature>jclouds-elastichosts-sat-p</feature>
                                <feature>jclouds-elastichosts-lax-p</feature>
                                <feature>jclouds-elastichosts-tor-p</feature>
                                <feature>jclouds-gogrid</feature>
                                <feature>jclouds-go2cloud-jhb1</feature>
                                <feature>jclouds-greenhousedata-element-vcloud</feature>
                                <feature>jclouds-hpcloud-objectstorage</feature>
                                <feature>jclouds-hpcloud-compute</feature>
                                <feature>jclouds-trystack-nova</feature>
                                <feature>jclouds-ninefold-storage</feature>
                                <feature>jclouds-ninefold-compute</feature>
                                <feature>jclouds-openhosting-east1</feature>
                                <feature>jclouds-serverlove-z1-man</feature>
                                <feature>jclouds-skalicloud-sdg-my</feature>
                                <feature>jclouds-softlayer</feature>
                                <feature>jclouds-synaptic-storage</feature>
                                <feature>jclouds-stratogen-vcloud-mycloud</feature>
                                <feature>jclouds-trmk-ecloud</feature>
                                <feature>jclouds-trystack-nova</feature>
                                <feature>jclouds-trmk-vcloudexpress</feature>
                                <feature>jclouds-joyent-cloudapi</feature>
                                <feature>jclouds-joyent</feature>
                                <feature>jclouds-greenqloud-storage</feature>
                                <feature>jclouds-greenqloud-compute</feature>
                                <feature>jclouds-services</feature>
                                <feature>jclouds-commands</feature>
                                <feature>jclouds-chef</feature>
                                <feature>jclouds-url-handler</feature>
                            </features>
                            <includeMvnBasedDescriptors>true</includeMvnBasedDescriptors>
                            <repository>target/features-repo</repository>
                        </configuration>
                        <inherited>false</inherited>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <version>${maven-antrun-plugin.version}</version>
                <executions>
                    <execution>
                        <phase>prepare-package</phase>
                        <configuration>
                            <tasks>
                                <replace token="#!/bin/bash" value="#!/bin/sh"
                                         dir="target/dependencies/unix/apache-karaf-${karaf.version}/bin">
                                    <include name="*"/>
                                </replace>
                                <replaceregexp file="target/dependencies/unix/apache-karaf-${karaf.version}/etc/config.properties"
                                               match="karaf.framework.equinox=*"
                                               replace="#"
                                               byline="true"/>
                                <replaceregexp file="target/dependencies/win/apache-karaf-${karaf.version}/etc/config.properties"
                                               match="karaf.framework.equinox=*"
                                               replace="#"
                                               byline="true"/>
                            </tasks>
                        </configuration>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>${maven-assembly-plugin.version}</version>
                <executions>
                    <execution>
                        <id>unix-bin</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                        <configuration>
                            <descriptors>
                                <descriptor>src/main/assembly/unix.xml</descriptor>
                            </descriptors>
                            <finalName>${project.artifactId}-${project.version}</finalName>
                            <tarLongFileMode>gnu</tarLongFileMode>
                            <appendAssemblyId>false</appendAssemblyId>
                        </configuration>
                    </execution>
                    <execution>
                        <id>windows-bin</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                        <configuration>
                            <descriptors>
                                <descriptor>src/main/assembly/win.xml</descriptor>
                            </descriptors>
                            <finalName>${project.artifactId}-${project.version}</finalName>
                            <appendAssemblyId>false</appendAssemblyId>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>
