<?xml version="1.0" encoding="UTF-8"?>
<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.eclipse.jetty.tests</groupId>
    <artifactId>test-servlet-spec-parent</artifactId>
    <version>9.2.30.v20200428</version>
  </parent>
  <name>Jetty Tests :: Webapps :: Spec Webapp</name>
  <artifactId>test-spec-webapp</artifactId>
  <packaging>war</packaging>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-deploy-plugin</artifactId>
        <configuration>
          <skip>true</skip>
        </configuration>
      </plugin>
       
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <descriptors>
                <descriptor>src/main/assembly/config.xml</descriptor>
                <descriptor>src/main/assembly/web-bundle.xml</descriptor>
              </descriptors>
              <archive>
                <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
              </archive>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <!-- also make this webapp an osgi bundle -->
      <plugin>
        <artifactId>maven-war-plugin</artifactId>
        <configuration>
          <archive>
            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
          </archive>
          <webResources>
            <resource>
                <directory>target</directory>
                <includes>
                  <include>plugin-context.xml</include>
                </includes>
                <targetPath>META-INF</targetPath>
            </resource>
          </webResources>
        </configuration>
      </plugin>


      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <extensions>true</extensions>
        <configuration>
          <supportedProjectTypes>
            <supportedProjectType>war</supportedProjectType>
          </supportedProjectTypes>
        </configuration>
        <executions>
          <execution>
            <id>bundle-manifest</id>
            <phase>process-classes</phase>
            <goals>
              <goal>manifest</goal>
            </goals>
            <configuration>
              <instructions>
                <Bundle-SymbolicName>org.eclipse.jetty.tests.test-spec-webapp</Bundle-SymbolicName>
                <Bundle-Description>Test Webapp for Servlet 3.1 Features</Bundle-Description>
                <Import-Package>
                  javax.servlet.jsp.*;version="[2.2.0, 3.0)",
                  javax.transaction.*;version="[1.1, 2.0)", 
                  javax.servlet.*;version="3.0",
                  javax.sql,
                  org.eclipse.jetty.webapp;version="9.2",org.eclipse.jetty.plus.jndi;version="9.2",
                  org.eclipse.jetty.security;version="9.2",
                  com.acme;version="9.2",
                  *
                </Import-Package>
                <Export-Package>com.acme.test;version="${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}"</Export-Package>
                <Web-ContextPath>/</Web-ContextPath>
                <Bundle-ClassPath>.,WEB-INF/classes,WEB-INF/lib</Bundle-ClassPath>
                <Jetty-ContextFilePath>./META-INF/plugin-context.xml</Jetty-ContextFilePath>
                <_nouses>true</_nouses>
              </instructions>
            </configuration>
           </execution>
        </executions>
      </plugin>


       <plugin>
         <artifactId>maven-antrun-plugin</artifactId>
         <executions>
           <execution>
            <id>generate-xml-files</id>
            <phase>process-resources</phase>
            <configuration>
              <tasks>
                <concat destfile="${project.build.directory}/plugin-context.xml">
                  <filelist dir="src/main/templates/" files="plugin-context-header.xml,env-definitions.xml" />
                </concat>
                <concat destfile="${project.build.directory}/test-spec.xml">
                  <filelist dir="src/main/templates/" files="annotations-context-header.xml,env-definitions.xml" />
                </concat>
              </tasks>
            </configuration>
            <goals>
              <goal>run</goal>
            </goals>
           </execution>
         </executions>
       </plugin>
       <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>copy</goal>
            </goals>
            <configuration>
              <artifactItems>
                <artifactItem>
                  <groupId>org.eclipse.jetty.tests</groupId>
                  <artifactId>test-mock-resources</artifactId>
                  <version>${project.version}</version>
                  <type>jar</type>
                  <includes>**</includes>
                  <overWrite>true</overWrite>
                  <outputDirectory>${project.build.directory}/lib/jndi</outputDirectory>
                </artifactItem>
              </artifactItems>
          </configuration>
          </execution>
        </executions>
       </plugin>
       <!-- plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-assembly-plugin</artifactId>
          <version>2.2-beta-3</version>
          <executions>
            <execution>
              <phase>package</phase>
              <goals>
                <goal>single</goal>
              </goals>
              <configuration>
                <descriptors>
                  <descriptor>${basedir}/src/main/assembly/config.xml</descriptor>
                </descriptors>
              </configuration>
            </execution>
          </executions>
       </plugin -->
      <plugin>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-maven-plugin</artifactId>
        <version>${project.version}</version>
        <configuration>
          <scanIntervalSeconds>10</scanIntervalSeconds>
          <useTestClasspath>true</useTestClasspath>
         <webAppXml>${project.build.directory}/plugin-context.xml</webAppXml>
         <webAppConfig>
           <war>src/main/webapp</war>
           <descriptor>src/main/webapp/WEB-INF/web.xml</descriptor>
           <contextPath>/test-spec</contextPath>
            <containerIncludeJarPattern>.*/javax.servlet-[^/]*\.jar$</containerIncludeJarPattern>
            <configurationDiscovered>true</configurationDiscovered>
            <jettyEnvXml>${basedir}/src/main/webapp/WEB-INF/jetty-env.xml</jettyEnvXml>
         </webAppConfig>
          <loginServices>
            <loginService implementation="org.eclipse.jetty.security.HashLoginService">
              <name>Test Realm</name>
              <config>src/etc/realm.properties</config>
            </loginService>
          </loginServices>
        </configuration>
        <dependencies>
          <dependency>
            <groupId>org.eclipse.jetty.tests</groupId>
            <artifactId>test-mock-resources</artifactId>
            <version>${project.version}</version>
          </dependency>
        </dependencies>
      </plugin>
    </plugins>
  </build>
  <dependencies>
    <dependency>
      <groupId>javax.transaction</groupId>
      <artifactId>javax.transaction-api</artifactId>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-server</artifactId>
      <version>${project.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.eclipse.jetty.orbit</groupId>
      <artifactId>javax.mail.glassfish</artifactId>
      <scope>provided</scope>
    </dependency>
    <dependency>
       <groupId>javax.servlet</groupId>
       <artifactId>javax.servlet-api</artifactId>
       <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>javax.annotation</groupId>
      <artifactId>javax.annotation-api</artifactId>
      <scope>provided</scope>
    </dependency>
     <dependency>
       <groupId>org.eclipse.jetty.tests</groupId>
       <artifactId>test-web-fragment</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
       <groupId>org.eclipse.jetty.tests</groupId>
       <artifactId>test-container-initializer</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
       <groupId>org.eclipse.jetty</groupId>
       <artifactId>jetty-util</artifactId>
       <version>${project.version}</version>
     </dependency>
  </dependencies>
</project>
