<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.eclipse.jetty.osgi</groupId>
    <artifactId>jetty-osgi-project</artifactId>
    <version>9.3.19.v20170502</version>
    <relativePath>../pom.xml</relativePath>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>test-jetty-osgi-fragment</artifactId>
  <name>Jetty :: OSGi :: WebApp Fragment</name>
  <description>Test Jetty OSGi Webapp Fragment bundle</description>
  <url>http://www.eclipse.org/jetty</url>
  <properties>
    <bundle-symbolic-name>${project.groupId}.webapp.fragment</bundle-symbolic-name>
  </properties>
  <dependencies>
    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-webapp</artifactId>
    </dependency>
    <dependency>
      <groupId>org.eclipse.osgi</groupId>
      <artifactId>org.eclipse.osgi</artifactId>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.eclipse.osgi</groupId>
      <artifactId>org.eclipse.osgi.services</artifactId>
      <scope>provided</scope>
    </dependency>
  </dependencies>

      <build> 
        <resources>
          <resource>
            <directory>src/main/resources</directory>
          </resource>
        </resources>

        <plugins>
           <plugin>
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-deploy-plugin</artifactId>
             <configuration>
               <!-- DO NOT DEPLOY (or Release) -->
               <skip>true</skip>
             </configuration>
            </plugin> 
            <plugin>
                <groupId>org.apache.maven.plugins</groupId> 
                <artifactId>maven-jar-plugin</artifactId> 
                <executions>
                    <execution>
                        <id>test-jar</id> 
                        <goals>
                            <goal>test-jar</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <archive>
                        <manifestFile>target/classes/META-INF/MANIFEST.MF</manifestFile> 
                    </archive>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
                <extensions>true</extensions>
                <configuration>
                    <instructions>
                        <Bundle-SymbolicName>${bundle-symbolic-name}</Bundle-SymbolicName>
                        <Bundle-Name>Jetty OSGi Test WebApp Fragment</Bundle-Name>
                        <Bundle-RequiredExecutionEnvironment>J2SE-1.5</Bundle-RequiredExecutionEnvironment>
<Fragment-Host>org.eclipse.jetty.tests.test-spec-webapp</Fragment-Host>
<Jetty-WarFragmentFolderPath>/</Jetty-WarFragmentFolderPath>
                    </instructions>
                </configuration>
            </plugin>
        </plugins>
    </build>
  
</project>
