<?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.jclouds.cli</groupId>
        <version>1.5.7_1</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.jclouds.cli</groupId>
    <artifactId>jclouds-cli</artifactId>
    <name>jclouds :: cli :: assembly</name>

    <dependencies>
        <dependency>
            <groupId>org.jclouds.cli</groupId>
            <artifactId>branding</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.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.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-eucalyptus</feature>
                                <feature>jclouds-api-elasticstack</feature>
                                <feature>jclouds-api-vcloud</feature>
                                <feature>jclouds-api-byon</feature>
                                <feature>jclouds-api-swift</feature>
                                <feature>jclouds-api-nova</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-eucalyptus-s3</feature>
                                <feature>jclouds-eucalyptus-ec2</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-rimuhosting</feature>
                                <feature>jclouds-serverlove-z1-man</feature>
                                <feature>jclouds-skalicloud-sdg-my</feature>
                                <feature>jclouds-softlayer</feature>
                                <feature>jclouds-slicehost</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>
