<?xml version="1.0" encoding="UTF-8"?>
<project
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
   xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <modelVersion>4.0.0</modelVersion>

   <parent>
      <groupId>org.eclipse.persistence</groupId>
      <artifactId>oracleddl.parent</artifactId>
      <version>1.0.0-SNAPSHOT</version>
      <relativePath>../oracleddl.parent/pom.xml</relativePath>
   </parent>

   <name>EclipseLink Oracle DDL Target Platform</name>
   <artifactId>oracleddl.target</artifactId>
   <packaging>pom</packaging>

   <build>
      <plugins>
         <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <version>1.3</version>
            <executions>
               <!-- make target file available for incremental builds -->
               <execution>
                  <id>attach-artifacts</id>
                  <phase>package</phase>
                  <goals>
                     <goal>attach-artifact</goal>
                  </goals>
                  <configuration>
                     <artifacts>
                        <artifact>
                           <!-- note: the file name must be ${classifier}.target -->
                           <file>indigo.target</file>
                           <type>target</type>
                           <classifier>indigo</classifier>
                        </artifact>
                     </artifacts>
                  </configuration>
               </execution>
            </executions>
         </plugin>
      </plugins>
   </build>
</project>