<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>0.8.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <name>JMXIntrospector</name>
  <packaging>osgi-bundle</packaging>
  <artifactId>${groupId}.jmxintrospector</artifactId>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>cglib</groupId>
      <artifactId>cglib</artifactId>
      <version>2.1_3</version>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.felix.plugins</groupId>
        <artifactId>maven-osgi-plugin</artifactId>
        <version>${pom.version}</version>
        <extensions>true</extensions>
        <configuration>
            <inlinedArtifacts>
        	    <inlinedArtifact>cglib</inlinedArtifact>
          	</inlinedArtifacts>
          <osgiManifest>
            <bundleName>${name}</bundleName>
            <bundleSymbolicName>${artifactId}</bundleSymbolicName>
            <exportPackage>
            org.apache.felix.jmxintrospector
            </exportPackage>
          </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>      
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-plugin</artifactId>
      <configuration>
        <skip>true</skip>
      </configuration>
    </plugin>
    </plugins>
  </build>
</project>
