<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">
<parent>
    <groupId>org.apache.felix</groupId>
    <artifactId>felix</artifactId>
    <version>1.1.0-SNAPSHOTT</version>
    <relativePath>../pom/pom.xml</relativePath>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <name>Management Interactive Shell</name>
   <packaging>osgi-bundle</packaging>
  <artifactId>${groupId}.mishell</artifactId>
  <version>0.9.0-SNAPSHOT</version>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
     <dependency>
      <groupId>${pom.groupId}</groupId>
      <artifactId>${groupId}.jmxintrospector</artifactId>
      <version>0.9.0-SNAPSHOT</version>
    </dependency>
        <dependency>
      <groupId>${pom.groupId}</groupId>
      <artifactId>org.osgi.core</artifactId>
      <version>1.1.0-SNAPSHOT</version>
      <scope>provided</scope>
    </dependency>
        <dependency>
      <groupId>${pom.groupId}</groupId>
      <artifactId>org.osgi.compendium</artifactId>
      <version>0.9.0-SNAPSHOT</version>
      <scope>provided</scope>
    </dependency>
    
        <dependency>
      <groupId>${pom.groupId}</groupId>
      <artifactId>org.apache.felix.framework</artifactId>
      <version>0.9.0-SNAPSHOT</version>
      <scope>provided</scope>
    </dependency>
    
  </dependencies>
  <build>
    <resources>
      <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
      </resource>
    </resources>
    <plugins>
      <plugin>
        <groupId>org.apache.felix.plugins</groupId>
        <artifactId>maven-osgi-plugin</artifactId>
        <version>0.9.0-SNAPSHOT</version>
        <extensions>true</extensions>
        <configuration>
		    <!--
		    We're inlining a lot here. This is nasty for a bundle, nice for an executable jar.
		    It should be simple to change afterwards
		    -->
    	    <inlinedArtifacts>
        	    <inlinedArtifact>org.apache.felix.jmxintrospector</inlinedArtifact>
          	</inlinedArtifacts>
          <osgiManifest>
            <bundleActivator>${artifactId}.Activator</bundleActivator>
            <bundleName>${name}</bundleName>
            <bundleDescription>Management Interactive Shell</bundleDescription>
            <bundleSymbolicName>${artifactId}</bundleSymbolicName>
            <dynamicImportPackage>
            *
            </dynamicImportPackage>
            <importPackage>
            <!--Note that we explicitly do not import jmood classes as they we use 
            dynamically generated interfaces and proxies instead-->
			org.osgi.framework, javax.management, javax.management.remote, javax.script
			</importPackage>
            
          </osgiManifest>
        </configuration>
      </plugin>
              <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.6</source><!--should fail if not java6-->
                    <target>1.6</target>
                </configuration>
             </plugin>      
    </plugins>
  </build>
</project>
