<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements.  See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You 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-karaf</artifactId>
    <groupId>org.apache.jclouds</groupId>
    <version>1.8.2-SNAPSHOT</version>
    <relativePath>..</relativePath>
  </parent>
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.apache.jclouds.karaf</groupId>
  <artifactId>jclouds-karaf</artifactId>
  <packaging>pom</packaging>
  <name>jclouds :: Karaf :: Feature</name>

  <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <version>${build-helper-maven-plugin.version}</version>
        <inherited>false</inherited>
        <executions>
          <execution>
            <id>attach-artifacts</id>
            <phase>generate-resources</phase>
            <goals>
              <goal>attach-artifact</goal>
            </goals>
            <configuration>
              <artifacts>
                <artifact>
                  <file>target/feature.xml</file>
                  <type>xml</type>
                  <classifier>features</classifier>
                </artifact>
                <artifact>
                  <file>target/credentials.cfg</file>
                  <type>cfg</type>
                  <classifier>credentials</classifier>
                </artifact>
                <artifact>
                  <file>target/shell.cfg</file>
                  <type>cfg</type>
                  <classifier>shell</classifier>
                </artifact>
              </artifacts>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
        <version>${maven-resources-plugin.version}</version>
        <inherited>false</inherited>
        <executions>
          <execution>
            <id>copy-resources</id>
            <phase>validate</phase>
            <goals>
              <goal>copy-resources</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.basedir}/target</outputDirectory>
              <resources>
                <resource>
                  <directory>src/main/resources</directory>
                  <filtering>true</filtering>
                </resource>
              </resources>
            </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>generate-resources</phase>
            <goals>
              <goal>add-features-to-repo</goal>
            </goals>
            <configuration>
              <descriptors>
                <descriptor>file:${basedir}/target/feature.xml</descriptor>
              </descriptors>
              <features>
                <feature>jclouds</feature>
                <feature>jclouds-blobstore</feature>
                <feature>jclouds-compute</feature>
                <feature>jclouds-api-byon</feature>
                <feature>jclouds-api-cloudsigma2</feature>
                <feature>jclouds-api-cloudstack</feature>
                <feature>jclouds-api-elasticstack</feature>
                <feature>jclouds-api-filesystem</feature>
                <feature>jclouds-api-openstack-cinder</feature>
                <feature>jclouds-api-openstack-keystone</feature>
                <feature>jclouds-api-openstack-nova</feature>
                <feature>jclouds-api-swift</feature>
                <feature>jclouds-api-vcloud</feature>
                <feature>jclouds-aws-cloudwatch</feature>
                <feature>jclouds-aws-ec2</feature>
                <feature>jclouds-aws-route53</feature>
                <feature>jclouds-aws-s3</feature>
                <feature>jclouds-aws-sqs</feature>
                <feature>jclouds-aws-sts</feature>
                <feature>jclouds-azureblob</feature>
                <feature>jclouds-cloudfiles-uk</feature>
                <feature>jclouds-cloudfiles-us</feature>
                <feature>jclouds-dynect</feature>
                <feature>jclouds-rackspace-cloudloadbalancers-us</feature>
                <feature>jclouds-rackspace-cloudloadbalancers-uk</feature>
                <feature>jclouds-cloudserver-uk</feature>
                <feature>jclouds-cloudserver-us</feature>
                <feature>jclouds-cloudsigma2-hnl</feature>
                <feature>jclouds-cloudsigma2-lvs</feature>
                <feature>jclouds-cloudsigma2-sjc</feature>
                <feature>jclouds-cloudsigma2-wdc</feature>
                <feature>jclouds-cloudsigma2-zrh</feature>
                <feature>jclouds-digitalocean</feature>
                <feature>jclouds-dynect</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-glesys</feature>
                <feature>jclouds-hpcloud-objectstorage</feature>
                <feature>jclouds-hpcloud-compute</feature>
                <feature>jclouds-openhosting-east1</feature>
                <feature>jclouds-rackspace-cloudservers-us</feature>
                <feature>jclouds-rackspace-cloudservers-uk</feature>
                <feature>jclouds-rackspace-clouddns-us</feature>
                <feature>jclouds-rackspace-clouddns-uk</feature>
                <feature>jclouds-rackspace-cloudblockstorage-us</feature>
                <feature>jclouds-rackspace-cloudblockstorage-uk</feature>
                <feature>jclouds-serverlove-z1-man</feature>
                <feature>jclouds-skalicloud-sdg-my</feature>
                <feature>jclouds-softlayer</feature>
              </features>
              <repository>target/features-repo</repository>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>
