<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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.eclipse.acceleo</groupId>
  <artifactId>org.eclipse.acceleo.maven.plugin.tests</artifactId>
  <version>1.0.0.qualifier</version>
  <packaging>eclipse-plugin</packaging>
  
  <!-- Launched with the following command: mvn clean org.eclipse.acceleo:maven:3.2.1:acceleo-compile compile verify -->
  
  <properties>
    <tycho-version>0.14.1</tycho-version>
  </properties>

  <profiles>
    <profile>
      <id>platform-indigo</id>
      <activation>
         <activeByDefault>true</activeByDefault>
        <property>
          <name>platform-version-name</name>
          <value>indigo</value>
        </property>
      </activation>
      <properties>
        <uml-to-java-site>http://marketplace.obeonetwork.com/updates/od5/</uml-to-java-site>
        <eclipse-site>http://download.eclipse.org/releases/indigo</eclipse-site>
        <platform-version>[3.7,3.8)</platform-version>
      </properties>
    </profile>
  </profiles>
  
  <repositories>
    <repository>
      <id>eclipse-platform</id>
      <layout>p2</layout>
      <url>${eclipse-site}</url>
    </repository>
    <repository>
      <id>uml-to-java</id>
      <layout>p2</layout>
      <url>${uml-to-java-site}</url>
    </repository>
    <repository>
      <id>Indigo Release</id>
      <url>https://raw.github.com/eclipse/acceleo/master/maven/repository/releases/indigo</url>
    </repository>
	<repository>
      <id>Juno Release</id>
      <url>https://raw.github.com/eclipse/acceleo/master/maven/repository/releases/juno</url>
    </repository>
	<repository>
      <id>Snapshots</id>
      <url>https://raw.github.com/eclipse/acceleo/master/maven/repository/snapshots</url>
    </repository>
  </repositories>
  
  <pluginRepositories>
    <pluginRepository>
      <id>codehaus.snapshots</id>
      <url>http://snapshots.repository.codehaus.org/</url>
    </pluginRepository>
    <pluginRepository>
      <id>Indigo Release</id>
      <url>https://raw.github.com/eclipse/acceleo/master/maven/repository/releases/indigo</url>
    </pluginRepository>
    <pluginRepository>
      <id>Juno Release</id>
      <url>https://raw.github.com/eclipse/acceleo/master/maven/repository/releases/juno</url>
    </pluginRepository>
    <pluginRepository>
      <id>Snapshots</id>
      <url>https://raw.github.com/eclipse/acceleo/master/maven/repository/snapshots</url>
    </pluginRepository>
  </pluginRepositories>
  
  <dependencies>
    <dependency>
      <groupId>org.eclipse.acceleo</groupId>
      <artifactId>maven</artifactId>
      <version>3.2.1</version>
    </dependency>
    <dependency>
      <groupId>org.eclipse.acceleo</groupId>
      <artifactId>engine</artifactId>
      <version>3.2.1</version>
    </dependency>
    <dependency>
      <groupId>org.eclipse.uml2</groupId>
      <artifactId>uml</artifactId>
      <version>3.2.1</version>
    </dependency>
    <dependency>
      <groupId>org.eclipse.uml2</groupId>
      <artifactId>common</artifactId>
      <version>1.6.0</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-simple</artifactId>
      <version>1.6.4</version>
    </dependency>
  </dependencies>
  
  <build>
    <plugins>
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-maven-plugin</artifactId>
        <version>${tycho-version}</version>
        <extensions>true</extensions>
      </plugin>
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>target-platform-configuration</artifactId>
        <version>${tycho-version}</version>
        <configuration>
          <resolver>p2</resolver>
          <pomDependencies>consider</pomDependencies>
        </configuration>
      </plugin>
      <plugin>
       <groupId>org.eclipse.acceleo</groupId>
       <artifactId>maven</artifactId>
       <version>3.2.1</version>
       <executions>
          <execution>
            <phase>compile</phase>
          </execution>
        </executions>
        <configuration>
          <useBinaryResources>false</useBinaryResources>
          <usePlatformResourcePath>true</usePlatformResourcePath>
          <acceleoProject>
            <root>${project.basedir}</root>
            <entries>
              <entry>
                <input>src/main/java</input>
                <output>target/classes</output>
              </entry>
            </entries>
            <jars>
            	<jar>p2.eclipse-plugin:org.obeonetwork.pim.uml2.gen.java</jar>
            </jars>
          </acceleoProject>
          <packagesToRegister>
            <packageToRegister>org.eclipse.uml2.uml.UMLPackage</packageToRegister>
          </packagesToRegister>
          <uriHandler>org.eclipse.acceleo.maven.AcceleoURIHandler</uriHandler>
        </configuration>
     </plugin>
    </plugins>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-compiler-plugin</artifactId>
          <version>${tycho-version}</version>
          <configuration>
            <encoding>UTF-8</encoding>
          </configuration>
        </plugin>
        <plugin>
          <!-- TODO remove workaround when https://issues.sonatype.org/browse/TYCHO-473 is fixed -->
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-source-plugin</artifactId>
          <version>${tycho-version}</version>
          <executions>
            <execution>
              <id>attach-source</id>
              <phase>process-classes</phase>
              <goals>
                <goal>plugin-source</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-resources-plugin</artifactId>
          <version>2.4.1</version>
          <configuration>
            <encoding>ISO-8859-1</encoding>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-antrun-plugin</artifactId>
          <version>1.3</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>