<?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>
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.apache.tuscany.sca</groupId>
        <artifactId>tuscany-itest</artifactId>
        <version>1.7-SNAPSHOT</version>
        <relativePath>../pom.xml</relativePath>
    </parent>
    <artifactId>itest-osgi-contribution-classes-v2</artifactId>
    <name>Apache Tuscany SCA iTest OSGi Contribution Version 2 Classes</name>

<dependencies>
        <dependency>
            <groupId>org.apache.tuscany.sca</groupId>
            <artifactId>tuscany-host-embedded</artifactId>
            <version>1.7-SNAPSHOT</version>
        </dependency>

        <dependency>
            <groupId>org.apache.tuscany.sca</groupId>
            <artifactId>tuscany-implementation-java-runtime</artifactId>
            <version>1.7-SNAPSHOT</version>
            <scope>runtime</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.tuscany.sca</groupId>
            <artifactId>tuscany-implementation-osgi</artifactId>
            <version>1.7-SNAPSHOT</version>
            <scope>runtime</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.tuscany.sca</groupId>
            <artifactId>tuscany-contribution-osgi</artifactId>
            <version>1.7-SNAPSHOT</version>
            <scope>runtime</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.tuscany.sca</groupId>
            <artifactId>tuscany-osgi-runtime</artifactId>
            <version>1.7-SNAPSHOT</version>
        </dependency>


        <dependency>
            <groupId>org.apache.felix</groupId>
            <artifactId>org.osgi.core</artifactId>
            <version>1.0.1</version>
        </dependency>
        
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.5</version>
            <scope>test</scope>
        </dependency>

    </dependencies>

    <build>
        <finalName>itest-osgi-contribution-classes</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <version>1.1</version>

                <dependencies>
                    <dependency>
                        <groupId>ant</groupId>
                        <artifactId>ant-trax</artifactId>
                        <version>1.6.5</version>
                    </dependency>
                </dependencies>

                <executions>
                    <execution>
                        <id>create-bundles</id>
                        <phase>generate-test-sources</phase>
                        <goals>
                            <goal>run</goal>
                        </goals>
                        <configuration>
                            <tasks>
                                <ant antfile="./build-bundles.xml" target="create-bundles">
                                    <property name="jar.dir" value="target/classes" />
                                    <property name="files.dir" value="target/classes" />
                                    <property name="jar.file.name" value="CustomerV1.jar" />
                                    <property name="manifest.file.name" value="osgi/Customer.mf" />
                                    <property name="sca.contribution" value="customer-sca-contribution.xml" />
                                    <property name="files.list"
                                        value="supplychain/customer/*
                                               supplychain/OSGiBundleImpl.class
                                               supplychain.composite
                                               CustomerV1.componentType
                                               RetailerV1.componentType
                                               WarehouseV1.componentType
                                               ShipperV1.componentType
                                               META-INF/sca-contribution.xml" />

                                </ant>
                                <ant antfile="./build-bundles.xml" target="create-bundles">
                                    <property name="jar.dir" value="target/classes" />
                                    <property name="files.dir" value="target/classes" />
                                    <property name="jar.file.name" value="Customer2V1.jar" />
                                    <property name="manifest.file.name" value="osgi/Customer2.mf" />
                                    <property name="sca.contribution" value="customer-sca-contribution.xml" />
                                    <property name="files.list"
                                        value="supplychain/customer/*
                                               supplychain/OSGiBundleImpl.class
                                               supplychain.composite
                                               Customer2V1.componentType
                                               RetailerV1.componentType
                                               WarehouseV1.componentType
                                               ShipperV1.componentType
                                               META-INF/sca-contribution.xml" />

                                </ant>
                                <ant antfile="./build-bundles.xml" target="create-bundles">
                                    <property name="jar.dir" value="target/classes" />
                                    <property name="files.dir" value="target/classes" />
                                    <property name="jar.file.name" value="RetailerV1.jar" />
                                    <property name="manifest.file.name" value="osgi/Retailer.mf" />
                                    <property name="sca.contribution" value="retailer-sca-contribution.xml" />
                                    <property name="files.list"
                                        value="supplychain/retailer/*
                                               supplychain/OSGiBundleImpl.class
                                               META-INF/sca-contribution.xml" />
                                </ant>
                                <ant antfile="./build-bundles.xml" target="create-bundles">
                                    <property name="jar.dir" value="target/classes" />
                                    <property name="files.dir" value="target/classes" />
                                    <property name="jar.file.name" value="RetailerJarV1.jar" />
                                    <property name="manifest.file.name" value="osgi/RetailerJar.mf" />
                                    <property name="sca.contribution" value="retailer-sca-contribution.xml" />
                                    <property name="files.list"
                                        value="supplychain/retailer/*
                                               supplychain/OSGiBundleImpl.class
                                               META-INF/sca-contribution.xml" />
                                </ant>
                                <ant antfile="./build-bundles.xml" target="create-bundles">
                                    <property name="jar.dir" value="target/classes" />
                                    <property name="files.dir" value="target/classes" />
                                    <property name="jar.file.name" value="ShipperV1.jar" />
                                    <property name="manifest.file.name" value="osgi/Shipper.mf" />
                                    <property name="sca.contribution" value="shipper-sca-contribution.xml" />
                                    <property name="files.list"
                                        value="supplychain/shipper/*
                                               supplychain/OSGiBundleImpl.class
                                               META-INF/sca-contribution.xml" />

                                </ant>
                                <ant antfile="./build-bundles.xml" target="create-bundles">
                                    <property name="jar.dir" value="target/classes" />
                                    <property name="files.dir" value="target/classes" />
                                    <property name="jar.file.name" value="WarehouseV1.jar" />
                                    <property name="manifest.file.name" value="osgi/Warehouse.mf" />
                                    <property name="sca.contribution" value="warehouse-sca-contribution.xml" />
                                    <property name="files.list"
                                        value="supplychain/warehouse/*
                                               supplychain/OSGiBundleImpl.class
                                               META-INF/sca-contribution.xml" />

                                </ant>
                                <ant antfile="./build-bundles.xml" target="create-bundles">
                                    <property name="jar.dir" value="target/classes" />
                                    <property name="files.dir" value="target/classes" />
                                    <property name="jar.file.name" value="SupplyChainV1.jar" />
                                    <property name="manifest.file.name" value="osgi/SupplyChain.mf" />
                                    <property name="sca.contribution" value="supplychain-sca-contribution.xml" />
                                    <property name="files.list"
                                        value="supplychain/**
                                               supplychain.composite
                                               CustomerV1.componentType
                                               RetailerV1.componentType
                                               WarehouseV1.componentType
                                               ShipperV1.componentType
                                               CustomerV1.jar
                                               RetailerV1.jar
                                               WarehouseV1.jar
                                               ShipperV1.jar
                                               META-INF/sca-contribution.xml" />
                                </ant>
                            </tasks>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>
