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

    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
    this work for additional information regarding copyright ownership.
    The ASF licenses this file to You under the Apache License, Version 2.0
    (the "License"); you may not use this file except in compliance with
    the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
-->
<!--test 2-->
<!-- $Rev$ $Date$ -->
<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>
    <artifactId>tomee-project</artifactId>
    <groupId>org.apache.tomee</groupId>
    <version>10.0.0-SNAPSHOT</version>
  </parent>
  <artifactId>examples</artifactId>
  <packaging>pom</packaging>
  <name>TomEE :: Examples</name>
  <modules>
    <module>access-timeout-meta</module>
    <module>access-timeout</module>
    <module>alternate-descriptors</module>
    <module>application-composer</module>
    <module>applicationcomposer-jaxws-cdi</module>
    <module>applicationexception</module>
    <module>arquillian-jpa</module>
    <module>async-methods</module>
    <module>async-postconstruct</module>
    <module>bean-validation-design-by-contract</module>
    <module>bval-evaluation-redeployment</module>
    <module>cdi-alternative-and-stereotypes</module>
    <module>cdi-application-scope</module>
    <module>cdi-basic</module>
    <module>cdi-ejbcontext-jaas</module>
    <module>cdi-events</module>
    <module>cdi-interceptors</module>
    <module>cdi-produces-disposes</module>
    <module>cdi-produces-field</module>
    <module>cdi-qualifier</module>
    <module>cdi-realm</module>
    <module>cdi-request-scope</module>
    <module>cdi-session-scope</module>
    <module>change-jaxws-url</module>
    <module>component-interfaces</module>
    <module>client-resource-lookup-preview</module>
    <module>connector-ear</module>
    <module>connector-war</module>
    <module>cucumber-jvm</module>
    <module>custom-injection</module>
    <module>datasource-ciphered-password</module>
    <module>datasource-definition</module>
    <module>datasource-versioning</module>
    <module>decorators</module>
    <module>dynamic-dao-implementation</module>
    <module>dynamic-datasource-routing</module>
    <module>dynamic-implementation</module>
    <module>dynamic-proxy-to-access-mbean</module>
    <module>ear-testing</module>
    <module>ejb-examples</module>
    <module>ejb-remote-call</module>
    <module>ejb-remote-call-2</module>
    <module>ejb-webservice</module>
    <module>groovy-cdi</module>
    <module>groovy-jpa</module>
    <module>groovy-spock</module>
    <module>helloworld-weblogic</module>
    <module>injection-of-connectionfactory</module>
    <module>injection-of-datasource</module>
    <module>injection-of-ejbs</module>
    <module>injection-of-entitymanager</module>
    <module>injection-of-env-entry</module>
    <module>interceptors</module>
    <module>javamail</module>
    <module>javamail-velocity</module>
    <module>java-modules</module>
    <module>jaxrs-filter</module>
    <module>jaxrs-json-provider-jettison</module>
    <module>jpa-eclipselink</module>
    <module>jpa-hibernate</module>
    <module>jpa-hibernate-arquillian</module>
    <module>jpa-enumerated</module>
    <module>jsf-managedBean-and-ejb</module>
    <module>jsf-cdi-and-ejb</module>
    <module>junit5-application-composer</module>
    <module>junit5-arquillian-multiple-tomee</module>
    <module>junit5-arquillian-simple-websockets</module>
    <module>lookup-of-ejbs</module>
    <module>lookup-of-ejbs-with-descriptor</module>
    <!-- Does not work with Java 9+ because of the modules. Needs more work
    <module>mbean-auto-registration</module>
    -->
    <module>movies-complete-meta</module>
    <module>movies-complete</module>
    <module>mp-config-example</module>
    <module>mp-config-source-database</module>
    <module>mp-faulttolerance-fallback</module>
    <module>mp-faulttolerance-retry</module>
    <module>mp-faulttolerance-timeout</module>
    <module>mp-jwt-bean-validation</module>
    <module>mp-jwt-bean-validation-strongly-typed</module>
    <module>mp-metrics-counted</module>
    <module>mp-metrics-histogram</module>
    <module>mp-metrics-timed</module>
    <module>mp-metrics-gauge</module>
    <module>mp-metrics-metered</module>
    <module>mp-opentracing-traced</module>
    <module>mp-rest-jwt-jwk</module>
    <module>mp-rest-jwt-principal</module>
    <module>mp-rest-jwt-public-key</module>
    <module>mp-rest-client</module>
    <module>mp-custom-healthcheck</module>
    <module>mtom</module>
    <module>multi-jpa-provider-testing</module>
    <module>multiple-arquillian-adapters</module>
    <module>multiple-tomee-arquillian</module>
    <module>persistence-fragment</module>
    <module>pojo-webservice</module>
<!--    <module>polling-parent</module>-->
    <module>quartz-app</module>
    <module>realm-in-tomee</module>
    <module>reload-persistence-unit-properties</module>
    <module>resources-declared-in-webapp</module>
    <module>rest-applicationcomposer-mockito</module>
    <module>rest-applicationcomposer</module>
    <module>rest-cdi</module>
    <module>rest-jaas</module>
    <module>rest-on-ejb</module>
    <module>rest-example</module>
    <module>rest-example-with-application</module>
    <module>rest-xml-json</module>
    <module>scala-basic</module>
    <module>schedule-expression</module>
    <module>schedule-events</module>
    <module>schedule-methods-meta</module>
    <module>schedule-methods</module>
    <module>server-events</module>
    <module>serverless-builder</module>
    <module>serverless-tomee-webprofile</module>
    <module>serverless-tomee-microprofile</module>
    <module>serverless-tomee-plume</module>
    <module>serverless-tomee-plus</module>
    <module>singleton-startup-ordering</module>
    <module>simple-cdi-interceptor</module>
    <module>simple-ear</module>
    <module>simple-cmp2</module>
    <module>simple-jms</module>
    <module>simple-jms-context</module>
    <module>simple-mdb-and-cdi</module>
    <module>simple-mdb</module>
    <module>simple-mdb-with-descriptor</module>
    <module>simple-remote-tomcatusers</module>
    <module>simple-rest</module>
    <module>simple-singleton</module>
    <module>simple-stateful</module>
    <module>simple-stateful-callbacks</module>
    <module>simple-stateless</module>
    <module>simple-stateless-callbacks</module>
    <module>simple-stateless-with-descriptor</module>
    <module>simple-webservice</module>
    <module>simple-webservice-without-interface</module>
    <module>async-servlet</module>
    <module>struts</module>
    <module>telephone-stateful</module>
    <module>testcase-injection</module>
    <module>testing-security-meta</module>
    <module>testing-security</module>
    <module>testing-security-2</module>
    <module>testing-security-3</module>
    <module>testing-security-4</module>
    <module>testing-transactions</module>
    <module>testing-transactions-bmt</module>
<!--    <module>tomee-jersey-eclipselink</module>-->
    <module>tomee-jms-portability</module>
    <module>transaction-rollback</module>
    <module>troubleshooting</module>
    <module>webservice-attachments</module>
    <module>webservice-inheritance</module>
    <module>webservice-security</module>
    <module>webservice-ssl-client-cert</module>
    <module>webservice-ws-security</module>
    <module>webservice-ws-with-resources-config</module>
    <module>webservice-handlerchain</module>
    <module>webservice-holder</module>
    <module>moviefun</module>
    <module>moviefun-rest</module>
    <module>resources-jmx-example</module>
    <module>websocket-tls-basic-auth</module>
    <module>concurrency-utils</module>
    <module>jsonb-configuration</module>
    <module>jsonb-custom-serializer</module>
    <module>cloud-tomee-azure</module>
    <module>xa-datasource</module>
    <module>websocket-jms</module>

    <!-- Jakarta Security Examples -->
    <module>security-tomcat-user-identitystore</module>
    <module>security-custom-identitystore</module>

  </modules>
  <profiles>
    <profile>
      <id>apache-release</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>3.3.2</version>
            <configuration>
              <skip>true</skip>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <inherited>false</inherited>
            <configuration>
              <descriptors>
                <descriptor>src.xml</descriptor>
              </descriptors>
              <tarLongFileMode>gnu</tarLongFileMode>
              <finalName>openejb-examples-${project.version}</finalName>
            </configuration>
            <executions>
              <execution>
                <id>make-assembly</id>
                <phase>package</phase>
                <goals>
                  <goal>single</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
