<?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>8.0.7</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>applet</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>deltaspike-configproperty</module>
    <module>deltaspike-exception-handling</module>
    <module>deltaspike-fullstack</module>
    <module>deltaspike-i18n</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>java-modules</module>
    <module>jaxrs-filter</module>
    <module>jaxrs-json-provider-jettison</module>
    <module>jpa-eclipselink</module>
    <module>jpa-hibernate</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-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</module>
    <module>mp-rest-jwt-jwk</module>
    <module>mp-rest-jwt-principal</module>
    <module>mp-rest-jwt-public-key</module>
    <module>mtom</module>
    <module>multi-jpa-provider-testing</module>
    <module>multiple-arquillian-adapters</module>
    <module>multiple-tomee-arquillian</module>
    <module>myfaces-codi-demo</module>
    <module>persistence-fragment</module>
    <module>pojo-webservice</module>
    <module>polling-parent</module>
    <module>projectstage-demo</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>spring-data-proxy</module>
    <module>spring-data-proxy-meta</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>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>mvc-cxf</module>
    <module>mvc-cxf-hibernate</module>
    <module>mp-rest-client</module>
    <module>mvc-resteasy</module>
    <module>mp-custom-healthcheck</module>
    <module>jsonb-configuration</module>
    <module>jsonb-custom-serializer</module>
    <module>vaadin-lts-v08-simple</module>
    <module>vaadin-lts-v10-simple</module>
    <module>vaadin-vxx-simple</module>
    <module>cloud-tomee-azure</module>
    <module>mp-faulttolerance-timeout</module>
    <module>xa-datasource</module>
  </modules>
  <dependencies>
    <dependency>
      <groupId>org.apache.openjpa</groupId>
      <artifactId>openjpa-maven-plugin</artifactId>
      <version>${openjpa.version}</version>
    </dependency>
  </dependencies>
  <profiles>
    <profile>
      <id>apache-release</id>
      <build>
        <plugins>
          <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>
