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

    Copyright (c) 2011, 2022 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</groupId>
        <artifactId>project</artifactId>
        <version>2.36</version>
    </parent>

    <licenses>
        <license>
            <name>Eclipse Distribution License v. 1.0</name>
            <url>http://www.eclipse.org/org/documents/edl-v10.php</url>
            <distribution>repo</distribution>
            <comments>Except for AngularJS, bootstrap.js, jQuery, jQuery Barcode plugin, KineticJS
                See also https://github.com/eclipse-ee4j/jersey/blob/master/NOTICE.md</comments>
        </license>
        <license>
            <name>jQuery license</name>
            <url>jquery.org/license</url>
            <distribution>repo</distribution>
            <comments>jQuery v1.12.4</comments>
        </license>
        <license>
            <name>MIT license</name>
            <url>http://www.opensource.org/licenses/mit-license.php</url>
            <distribution>repo</distribution>
            <comments>AngularJS, Bootstrap v3.3.7 (http://getbootstrap.com), 
                      jQuery Barcode plugin 0.3, KineticJS v4.7.1</comments>
        </license>
    </licenses>

    <groupId>org.glassfish.jersey.examples</groupId>
    <artifactId>project</artifactId>
    <packaging>pom</packaging>
    <name>jersey-examples</name>

    <description>Jersey examples</description>

    <modules>
        <module>assemblies</module>
        <!--<module>bean-validation-webapp</module>-->
        <module>bookmark</module>
        <module>bookmark-em</module>
        <module>bookstore-webapp</module>
        <module>cdi-webapp</module>
        <module>clipboard</module>
        <module>clipboard-programmatic</module>
        <module>declarative-linking</module>
        <module>entity-filtering</module>
        <module>entity-filtering-selectable</module>
        <module>entity-filtering-security</module>
        <module>extended-wadl-webapp</module>
        <module>exception-mapping</module>
        <!--<module>feed-combiner-java8-webapp</module>-->
        <module>freemarker-webapp</module>
        <!--<module>flight-mgmt-webapp</module>-->
        <module>groovy</module>
        <module>helloworld</module>
        <module>helloworld-benchmark</module>
        <module>helloworld-cdi2-se</module>
        <module>helloworld-netty</module>
        <module>helloworld-programmatic</module>
        <module>helloworld-pure-jax-rs</module>
        <module>helloworld-webapp</module>
        <module>helloworld-weld</module>
        <module>helloworld-spring-webapp</module>
        <module>helloworld-spring-annotations</module>
        <module>http-patch</module>
        <module>http-trace</module>
        <module>https-clientserver-grizzly</module>
        <module>https-server-glassfish</module>
        <module>java8-webapp</module>
        <module>jaxb</module>
        <module>jaxrs-types-injection</module>
        <module>jersey-ejb</module>
        <module>json-binding-webapp</module>
        <module>json-jackson</module>
        <module>json-jackson1</module>
        <module>json-jettison</module>
        <module>json-moxy</module>
        <module>json-processing-webapp</module>
        <module>json-with-padding</module>
        <module>managed-beans-webapp</module>
        <module>managed-client</module>
        <module>managed-client-webapp</module>
        <module>managed-client-simple-webapp</module>
        <!--<module>monitoring-webapp</module>-->
        <module>multipart-webapp</module>
        <module>open-tracing</module>
        <module>osgi-helloworld-webapp</module>
        <module>osgi-http-service</module>
        <module>oauth-client-twitter</module>
        <!--<module>oauth2-client-google-webapp</module>-->
        <module>reload</module>
        <module>rx-client-webapp</module>
        <module>server-async</module>
        <module>server-async-managed</module>
        <module>server-async-standalone</module>
        <module>server-sent-events-jersey</module>
        <module>server-sent-events-jaxrs</module>
        <module>servlet3-webapp</module>
        <module>simple-console</module>
        <!--<module>shortener-webapp</module>-->
        <!--<module>sparklines</module>-->
        <module>sse-item-store-jersey-webapp</module>
        <module>sse-item-store-jaxrs-webapp</module>
        <module>sse-twitter-aggregator</module>
        <module>system-properties-example</module>
        <!--<module>tone-generator</module>-->
        <module>webapp-example-parent</module>
        <module>xml-moxy</module>
    </modules>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.glassfish.jersey</groupId>
                <artifactId>jersey-bom</artifactId>
                <version>${project.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <finalName>${project.artifactId}</finalName>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <dependencies>
                        <!-- Contains shared Jersey example assembly descriptors-->
                        <dependency>
                            <groupId>org.glassfish.jersey.examples</groupId>
                            <artifactId>assemblies</artifactId>
                            <version>${project.version}</version>
                        </dependency>
                    </dependencies>
                    <executions>
                        <execution>
                            <id>assemble-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>src-zip</descriptorRef>
                                </descriptorRefs>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>exec-maven-plugin</artifactId>
                    <executions>
                        <execution>
                            <goals>
                                <goal>java</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.commonjava.maven.plugins</groupId>
                    <artifactId>directory-maven-plugin</artifactId>
                    <version>0.3.1</version>
                    <executions>
                        <execution>
                            <id>directories</id>
                            <goals>
                                <goal>highest-basedir</goal>
                            </goals>
                            <phase>initialize</phase>
                            <configuration>
                                <property>legal.source.folder</property>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>2.6</version>
                    <!-- Add legal information, NOTICE.md and LINCENSE.md to jars -->
                    <executions>
                        <execution>
                            <!-- copy the files to classes folder for maven-jar/war-plugin to grab it -->
                            <id>copy-legaldocs</id>
                            <goals>
                                <goal>copy-resources</goal>
                            </goals>
                            <phase>process-sources</phase>
                            <configuration>
                                <outputDirectory>${project.build.outputDirectory}</outputDirectory>
                                <resources>
                                    <resource>
                                        <directory>${legal.source.folder}</directory>
                                        <targetPath>META-INF/</targetPath>
                                        <includes>
                                            <include>NOTICE.md</include>
                                            <include>LICENSE.md</include>
                                        </includes>
                                    </resource>
                                </resources>
                            </configuration>
                        </execution>
                        <execution>
                            <!-- copy the files to source folder for maven-source-plugin to grab it -->
                            <id>copy-legaldocs-to-sources</id>
                            <goals>
                                <goal>copy-resources</goal>
                            </goals>
                            <phase>process-sources</phase>
                            <configuration>
                                <outputDirectory>${project.build.directory}/generated-sources/rsrc-gen</outputDirectory>
                                <resources>
                                    <resource>
                                        <directory>${legal.source.folder}</directory>
                                        <targetPath>META-INF/</targetPath>
                                        <includes>
                                            <include>NOTICE.md</include>
                                            <include>LICENSE.md</include>
                                        </includes>
                                    </resource>
                                </resources>
                            </configuration>
                        </execution>
                        <execution>
                            <!-- copy the files to legal folder for felix plugin to grab it -->
                            <id>copy-legaldocs-to-wars</id>
                            <goals>
                                <goal>copy-resources</goal>
                            </goals>
                            <phase>process-sources</phase>
                            <configuration>
                                <outputDirectory>${project.build.directory}/${project.artifactId}</outputDirectory>
                                <resources>
                                    <resource>
                                        <directory>${legal.source.folder}</directory>
                                        <targetPath>META-INF/</targetPath>
                                        <includes>
                                            <include>NOTICE.md</include>
                                            <include>LICENSE.md</include>
                                        </includes>
                                    </resource>
                                </resources>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </pluginManagement>
        <resources>
            <resource>
                <directory>${project.basedir}/src/main/resources</directory>
            </resource>
            <resource>
                <directory>${project.build.directory}/legal</directory>
            </resource>
        </resources>
    </build>

</project>
