<?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</groupId>
        <artifactId>project</artifactId>
        <version>2.36-SNAPSHOT</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>
