<?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/maven-v4_0_0.xsd">
   <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.apache.tuscany.sca</groupId>
        <artifactId>tuscany-itest</artifactId>
        <version>2.5-SNAPSHOT</version>
    </parent>

   <artifactId>bundle</artifactId>
   <name>Apache Tuscany SCA iTest Bundle</name>
   <packaging>bundle</packaging>

   <properties>
      <tuscany.version>2.5-SNAPSHOT</tuscany.version>
   </properties>

   <dependencies>     

       <dependency>
           <groupId>org.eclipse</groupId>
           <artifactId>osgi</artifactId>
           <version>3.5.0-v20090520</version>
           <scope>compile</scope>
       </dependency>

       <dependency>
           <groupId>org.apache.tuscany.sca</groupId>
           <artifactId>tuscany-sca-api</artifactId>
           <version>2.5-SNAPSHOT</version>
           <scope>compile</scope>
       </dependency> 
               
       <dependency>
           <groupId>org.apache.aries.application</groupId>
           <artifactId>org.apache.aries.application.api</artifactId>
           <version>0.4-SNAPSHOT</version>
           <scope>compile</scope>
       </dependency>          
       
       <dependency>
           <groupId>org.apache.aries.application</groupId>
           <artifactId>org.apache.aries.application.management</artifactId>
           <version>0.4-SNAPSHOT</version>
           <scope>compile</scope>
       </dependency> 
       
       <dependency>
           <groupId>org.apache.aries.application</groupId>
           <artifactId>org.apache.aries.application.modeller</artifactId>
           <version>0.4-SNAPSHOT</version>
           <scope>compile</scope>
       </dependency>                  
       
       <dependency>
           <groupId>org.apache.aries.application</groupId>
           <artifactId>org.apache.aries.application.resolver.obr</artifactId>
           <version>0.4-SNAPSHOT</version>
           <scope>compile</scope>
       </dependency>      

      <!-- Test dependencies -->
<!-- 
       <dependency>
         <groupId>junit</groupId>
         <artifactId>junit</artifactId>
         <version>4.8.1</version>
         <scope>test</scope>
      </dependency>   
--> 
      
      <!-- Pax Exam test runtime -->      
	  <dependency>
	      <groupId>org.ops4j.pax.exam</groupId>
	      <artifactId>pax-exam</artifactId>
	      <version>1.2.4</version>
	      <scope>test</scope>
	  </dependency>
	  
	  <dependency>
	      <groupId>org.ops4j.pax.exam</groupId>
	      <artifactId>pax-exam-junit</artifactId>
	      <version>1.2.4</version>
	      <scope>test</scope>
	  </dependency>
	  
	  <dependency>
	      <groupId>org.ops4j.pax.exam</groupId>
	      <artifactId>pax-exam-container-default</artifactId>
	      <version>1.2.4</version>
	      <scope>test</scope>
	  </dependency>
	  
      <dependency>
          <groupId>org.ops4j.pax.logging</groupId>
          <artifactId>pax-logging-api</artifactId>
          <version>1.6.1</version>
          <scope>test</scope>
      </dependency>	  
	  
      <dependency>
          <groupId>org.ops4j.pax.logging</groupId>
          <artifactId>pax-logging-service</artifactId>
          <version>1.6.1</version>
          <scope>test</scope>
      </dependency>	
      
      <dependency>
          <groupId>org.ops4j.pax.url</groupId>
          <artifactId>pax-url-mvn</artifactId>
          <version>1.2.4</version>
          <scope>test</scope>
      </dependency>      
            
      <!-- extra bundles that will be loaded -->
        
      <dependency>
          <groupId>org.apache.felix</groupId>
          <artifactId>org.apache.felix.bundlerepository</artifactId>
          <version>1.6.2</version>
          <scope>test</scope>
      </dependency>
      
<!--       
       <dependency>
           <groupId>org.apache.felix</groupId>
           <artifactId>org.apache.felix.configadmin</artifactId>
           <version>1.2.4</version>
           <scope>test</scope>
       </dependency>  
-->           
      
       <dependency>
           <groupId>org.apache.aries</groupId>
           <artifactId>org.apache.aries.util</artifactId>
           <version>0.4-SNAPSHOT</version>
           <scope>test</scope>
       </dependency>
       
       <dependency>
           <groupId>org.apache.aries.blueprint</groupId>
           <artifactId>org.apache.aries.blueprint</artifactId>
           <version>0.4-SNAPSHOT</version>
           <scope>test</scope>
       </dependency>
       
       <dependency>
           <groupId>org.apache.aries.proxy</groupId>
           <artifactId>org.apache.aries.proxy</artifactId>
           <version>0.4-SNAPSHOT</version>
           <scope>test</scope>
       </dependency> 
       
       <dependency>
           <groupId>org.apache.aries.application</groupId>
           <artifactId>org.apache.aries.application.runtime</artifactId>
           <version>0.4-SNAPSHOT</version>
           <scope>test</scope>
       </dependency>       
       
       <dependency>
           <groupId>org.apache.aries.application</groupId>
           <artifactId>org.apache.aries.application.default.local.platform</artifactId>
           <version>0.4-SNAPSHOT</version>           
           <scope>test</scope>
       </dependency>
       
      <dependency>
          <groupId>org.apache.aries.application</groupId>
          <artifactId>org.apache.aries.application.runtime.itest.interfaces</artifactId>
          <version>0.4-SNAPSHOT</version>
          <scope>test</scope>
      </dependency>         
       
       <dependency>
           <groupId>asm</groupId>
           <artifactId>asm-all</artifactId>
           <version>3.3.1</version>
           <scope>test</scope>
       </dependency> 
       
       <dependency>
           <groupId>org.osgi</groupId>
           <artifactId>org.osgi.compendium</artifactId>
           <version>4.2.0</version>
           <scope>test</scope>
       </dependency>  
       
       <dependency>
           <groupId>org.osgi</groupId>
           <artifactId>org.osgi.core</artifactId>
           <version>4.2.0</version>
           <scope>test</scope>
       </dependency>              
      
   </dependencies>
   
   <build>
	<plugins>
	  <plugin>
	    <groupId>org.apache.felix</groupId>
	    <artifactId>maven-bundle-plugin</artifactId>
	    <extensions>true</extensions>
<!-- create a repositoy.xml file for this bundle    
	    <executions>
	      <execution>
	        <id>generate-obr</id>
	        <phase>process-classes</phase>
	        <goals>
	          <goal>install</goal>
	        </goals>
	      </execution>
	    </executions>
-->	    
	    <configuration>  
<!--     
	      <obrRepository>target/obr</obrRepository>
-->  	      
	      <instructions>
	        <Export-Package>sample</Export-Package>
	        <Private-Package>sample.impl</Private-Package>
	        <Bundle-Activator>sample.impl.SampleActivator</Bundle-Activator>
	      </instructions>
	    </configuration>
	  </plugin>
      <plugin>
          <groupId>org.apache.servicemix.tooling</groupId>
          <artifactId>depends-maven-plugin</artifactId>
          <version>1.2</version>
          <executions>
              <execution>
                  <id>generate-depends-file</id>
                  <goals>
                      <goal>generate-depends-file</goal>
                  </goals>
                  <configuration>
                      <outputFile>${project.build.directory}/test-classes/META-INF/maven/dependencies.properties</outputFile>
                  </configuration>
              </execution>
          </executions>
      </plugin>	  
	</plugins>   
   </build>
  
</project>
