<?xml version="1.0" encoding="UTF-8"?>
<!--

    Copyright (c) 2011, 2021 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Distribution License v. 1.0, which is available at
    http://www.eclipse.org/org/documents/edl-v10.php.

    SPDX-License-Identifier: BSD-3-Clause

-->

<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.glassfish.jersey.examples</groupId>
        <artifactId>project</artifactId>
        <version>2.36-SNAPSHOT</version>
    </parent>

    <artifactId>webapp-example-parent</artifactId>
    <packaging>pom</packaging>
    <name>jersey-examples-webapp-parent-pom</name>

    <description>Jersey Web Application (Servlet) examples parent POM.</description>

    <dependencies>
        <dependency>
            <groupId>org.glassfish.jersey.containers</groupId>
            <artifactId>jersey-container-servlet-core</artifactId>
        </dependency>

        <dependency>
            <groupId>org.glassfish.jersey.test-framework.providers</groupId>
            <artifactId>jersey-test-framework-provider-bundle</artifactId>
            <type>pom</type>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>xml-maven-plugin</artifactId>
                    <executions>
                        <execution>
                            <id>assemble-gf-src-zip</id>
                            <phase>prepare-package</phase>
                            <goals>
                                <goal>transform</goal>
                            </goals>
                            <configuration>
                                <transformationSets>
                                    <transformationSet>
                                        <dir>${project.basedir}</dir>
                                        <includes>
                                            <include>pom.xml</include>
                                        </includes>
                                        <stylesheet>../etc/gf-project-src-pom.xsl</stylesheet>
                                        <outputDir>${project.build.directory}/gf-pom-file</outputDir>
                                    </transformationSet>
                                </transformationSets>
                            </configuration>
                        </execution>
                        <execution>
                            <id>assemble-wls-src-zip</id>
                            <phase>prepare-package</phase>
                            <goals>
                                <goal>transform</goal>
                            </goals>
                            <configuration>
                                <transformationSets>
                                    <transformationSet>
                                        <dir>${project.basedir}</dir>
                                        <includes>
                                            <include>pom.xml</include>
                                        </includes>
                                        <stylesheet>../etc/wls-project-src-pom.xsl</stylesheet>
                                        <outputDir>${project.build.directory}/wls-pom-file</outputDir>
                                    </transformationSet>
                                    <transformationSet>
                                        <dir>${project.basedir}</dir>
                                        <includes>
                                            <include>**/web.xml</include>
                                        </includes>
                                        <stylesheet>../etc/wls-project-src-web.xsl</stylesheet>
                                        <outputDir>${project.build.directory}/wls-web-xml-file</outputDir>
                                    </transformationSet>
                                </transformationSets>
                            </configuration>
                        </execution>
                        <execution>
                            <id>assemble-wls1213-src-zip</id>
                            <phase>prepare-package</phase>
                            <goals>
                                <goal>transform</goal>
                            </goals>
                            <configuration>
                                <transformationSets>
                                    <transformationSet>
                                        <dir>${project.basedir}</dir>
                                        <includes>
                                            <include>pom.xml</include>
                                        </includes>
                                        <stylesheet>../etc/wls1213-project-src-pom.xsl</stylesheet>
                                        <outputDir>${project.build.directory}/wls1213-pom-file</outputDir>
                                    </transformationSet>
                                    <transformationSet>
                                        <dir>${project.basedir}</dir>
                                        <includes>
                                            <include>**/web.xml</include>
                                        </includes>
                                        <stylesheet>../etc/wls-project-src-web.xsl</stylesheet>
                                        <outputDir>${project.build.directory}/wls1213-web-xml-file</outputDir>
                                    </transformationSet>
                                </transformationSets>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <executions>
                        <execution>
                            <id>assemble-gf-src-zip</id>
                            <phase>package</phase>
                            <goals>
                                <goal>single</goal>
                            </goals>
                            <configuration>
                                <descriptorRefs>
                                    <!-- Reference to a descriptor in org.glassfish.jersey.examples:assemblies module -->
                                    <descriptorRef>glassfish-src-zip</descriptorRef>
                                </descriptorRefs>
                            </configuration>
                        </execution>
                        <execution>
                            <id>assemble-wls-src-zip</id>
                            <phase>package</phase>
                            <goals>
                                <goal>single</goal>
                            </goals>
                            <configuration>
                                <descriptorRefs>
                                    <!-- Reference to a descriptor in org.glassfish.jersey.examples:assemblies module -->
                                    <descriptorRef>weblogic-src-zip</descriptorRef>
                                </descriptorRefs>
                            </configuration>
                        </execution>
                        <execution>
                            <id>assemble-wls1213-src-zip</id>
                            <phase>package</phase>
                            <goals>
                                <goal>single</goal>
                            </goals>
                            <configuration>
                                <descriptorRefs>
                                    <!-- Reference to a descriptor in org.glassfish.jersey.examples:assemblies module -->
                                    <descriptorRef>weblogic1213-src-zip</descriptorRef>
                                </descriptorRefs>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.mortbay.jetty</groupId>
                    <artifactId>maven-jetty-plugin</artifactId>
                    <configuration>
                        <webApp>${project.build.directory}/${project.artifactId}.war</webApp>
                        <contextPath>${project.artifactId}</contextPath>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

</project>
