<?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>7.0.9</version>
  </parent>

  <artifactId>examples</artifactId>
  <packaging>pom</packaging>
  <name>OpenEJB :: 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>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-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-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>jpa-eclipselink</module>
    <module>jpa-hibernate</module>
    <module>jpa-enumerated</module>
    <module>jsf-managedBean-and-ejb</module>
    <module>jsf-cdi-and-ejb</module>
    <module>lookup-of-ejbs</module>
    <module>lookup-of-ejbs-with-descriptor</module>
    <module>mbean-auto-registration</module>
    <module>movies-complete-meta</module>
    <module>movies-complete</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>simple-cdi-interceptor</module>
    <module>simple-ear</module>
    <module>simple-cmp2</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>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-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>
  </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>
    <profile>
      <id>java9</id>
      <activation>
        <jdk>9</jdk>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration> <!-- requires saaj-impl 1.4 but cxf is not yet ready -->
              <skip>true</skip>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
