<?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-sca</artifactId>
        <version>1.7-SNAPSHOT</version>
        <relativePath>../../pom.xml</relativePath>
    </parent>
    <artifactId>sample-osgi-supplychain</artifactId>
    <name>Apache Tuscany SCA Sample OSGi Supply Chain</name>

    <dependencies>

        <dependency>
            <groupId>org.apache.felix</groupId>
            <artifactId>org.apache.felix.main</artifactId>
            <version>1.0.4</version>
        </dependency>

        <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>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.5</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <finalName>sample-osgi-supplychain</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="Customer.jar" />
                                    <property name="manifest.file.name" value="osgi/Customer.mf" />
                                    <property name="files.list"
                                        value="supplychain/customer/Customer.class
                                                    supplychain/OSGiBundleImpl.class
                                                    supplychain/customer/OSGiCustomerImpl.class" />

                                </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="Retailer.jar" />
                                    <property name="manifest.file.name" value="osgi/Retailer.mf" />
                                    <property name="files.list"
                                        value="supplychain/retailer/Retailer.class
                                                    supplychain/OSGiBundleImpl.class
                                                    supplychain/retailer/OSGiRetailerImpl.class" />

                                </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="Shipper.jar" />
                                    <property name="manifest.file.name" value="osgi/Shipper.mf" />
                                    <property name="files.list"
                                        value="supplychain/shipper/Shipper.class
                                                    supplychain/OSGiBundleImpl.class
                                                    supplychain/shipper/OSGiShipperImpl.class" />

                                </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="Warehouse.jar" />
                                    <property name="manifest.file.name" value="osgi/Warehouse.mf" />
                                    <property name="files.list"
                                        value="supplychain/warehouse/Warehouse.class
                                                    supplychain/OSGiBundleImpl.class
                                                    supplychain/warehouse/OSGiWarehouseImpl.class" />

                                </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="DSCustomer.jar" />
                                    <property name="manifest.file.name" value="osgi/ds/Customer.mf" />
                                    <property name="files.list"
                                        value="supplychain/customer/Customer.class
                                                    osgi/ds/Customer.xml
                                                    supplychain/customer/OSGiCustomerComponentImpl.class" />

                                </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="DSRetailer.jar" />
                                    <property name="manifest.file.name" value="osgi/ds/Retailer.mf" />
                                    <property name="files.list"
                                        value="supplychain/retailer/Retailer.class
                                                    osgi/ds/Retailer.xml
                                                    supplychain/retailer/OSGiRetailerComponentImpl.class" />

                                </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="DSShipper.jar" />
                                    <property name="manifest.file.name" value="osgi/ds/Shipper.mf" />
                                    <property name="files.list"
                                        value="supplychain/shipper/Shipper.class
                                                    osgi/ds/Shipper.xml
                                                    supplychain/shipper/OSGiShipperComponentImpl.class" />

                                </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="DSWarehouse.jar" />
                                    <property name="manifest.file.name" value="osgi/ds/Warehouse.mf" />
                                    <property name="files.list"
                                        value="supplychain/warehouse/Warehouse.class
                                                    osgi/ds/Warehouse.xml
                                                    supplychain/warehouse/OSGiWarehouseComponentImpl.class" />

                                </ant>
                            </tasks>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>
