<?xml version="1.0" encoding="UTF-8"?>
<!--
   Copyright (C) 2011, 2020 Obeo

   All rights reserved. This program and the accompanying materials
   are made available under the terms of the Eclipse Public License v1.0
   which accompanies this distribution, and is available at
   http://www.eclipse.org/legal/epl-v10.html
-->

<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>

  <prerequisites>
    <maven>3.6</maven>
  </prerequisites>

  <groupId>org.eclipse.acceleo</groupId>
  <artifactId>org.eclipse.acceleo-parent</artifactId>
  <version>4.0.0-SNAPSHOT</version>
  <packaging>pom</packaging>
  <name>Acceleo Parent</name>

  <licenses>
    <license>
      <name>Eclipse Public License 2.0</name>
      <comments>
       All rights reserved.

       This program and the accompanying materials are made
       available under the terms of the Eclipse Public License 2.0
       which accompanies this distribution, and is available at
       https://www.eclipse.org/legal/epl-v20.html
      </comments>
    </license>
  </licenses>

  <properties>
    <tycho-version>1.7.0</tycho-version>
    <tycho-extras-version>1.7.0</tycho-extras-version>

    <java-resource-encoding>UTF-8</java-resource-encoding>
    <resource-encoding>UTF-8</resource-encoding>
    <maven-resources-version>2.6</maven-resources-version>

    <source-java-version>1.8</source-java-version>
    <target-java-version>${source-java-version}</target-java-version>

    <tycho.scmUrl>scm:git:http://git.eclipse.org/gitroot/acceleo/org.eclipse.acceleo.git</tycho.scmUrl>

    <asciidoc-version>2.0.0-RC.1</asciidoc-version>
    <jruby.version>9.2.8.0</jruby.version>
    <asciidoctorj.version>2.1.0</asciidoctorj.version>

    <maven-enforcer-version>3.0.0-M3</maven-enforcer-version>
    <checkstyle-version>3.1.1</checkstyle-version>
    <maven-antrun-version>1.7</maven-antrun-version>
    <findbugs-maven-version>3.0.0</findbugs-maven-version>
    <maven-pmd-version>3.1</maven-pmd-version>
    <eclipse-jarsigner-version>1.1.3</eclipse-jarsigner-version>
    <maven-jxr-version>2.3</maven-jxr-version>
    <jacoco-maven-version>0.7.1.201405082137</jacoco-maven-version>

    <!-- Sonar properties -->
    <sonar.language>java</sonar.language>
    <sonar.jacoco.reportPath>${project.basedir}/target/jacoco.exec</sonar.jacoco.reportPath>
  </properties>

  <scm>
    <developerConnection>scm:git:http://git.eclipse.org/gitroot/acceleo/org.eclipse.acceleo.git</developerConnection>
  </scm>

  <modules>
    <module>releng/org.eclipse.acceleo.targetplatforms/2020-09</module>
    <module>releng/org.eclipse.acceleo.targetplatforms/2019-09</module>
    
    <module>plugins/org.eclipse.acceleo.ui.interpreter</module>
    <module>features/org.eclipse.acceleo.ui.interpreter-feature</module>

    <module>query/plugins/org.eclipse.acceleo.annotations</module>
    <module>query/plugins/org.eclipse.acceleo.query</module>
    <module>query/plugins/org.eclipse.acceleo.query.ide</module>
    <module>query/plugins/org.eclipse.acceleo.query.ide.jdt</module>
    <module>query/plugins/org.eclipse.acceleo.query.ide.ui</module>

    <module>query/plugins/org.eclipse.acceleo.query.doc</module>

    <module>query/features/org.eclipse.acceleo.query-feature</module>
    <module>query/features/org.eclipse.acceleo.query.ui-feature</module>
    <module>query/features/org.eclipse.acceleo.query.jdt-feature</module>

    <module>query/tests/org.eclipse.acceleo.query.tests.nestedpackages</module>
    <module>query/tests/org.eclipse.acceleo.query.tests.qmodel</module>
    <module>query/tests/org.eclipse.acceleo.query.tests.anydsl</module>
    <module>query/tests/org.eclipse.acceleo.query.tests.anydsl.edit</module>
    <module>query/tests/org.eclipse.acceleo.query.tests.anydsl.editor</module>
    <module>query/tests/org.eclipse.acceleo.query.tests</module>
    <module>query/tests/org.eclipse.acceleo.query.ide.ui.tests</module>

    <module>plugins/org.eclipse.acceleo.debug</module>
    <module>plugins/org.eclipse.acceleo.debug.ls</module>
    <module>plugins/org.eclipse.acceleo.aql</module>
    <module>plugins/org.eclipse.acceleo.aql.edit</module>
    <module>tests/org.eclipse.acceleo.aql.tests</module>
    <module>plugins/org.eclipse.acceleo.aql.ls</module>
    <module>plugins/org.eclipse.acceleo.aql.tm</module>
    <module>plugins/org.eclipse.acceleo.aql.doc</module>
    <module>plugins/org.eclipse.acceleo.aql.ide</module>
    <module>plugins/org.eclipse.acceleo.aql.ide.ui</module>
    <module>tests/org.eclipse.acceleo.aql.ide.tests</module>
    <module>plugins/org.eclipse.acceleo.aql.ls.debug</module>
    <module>plugins/org.eclipse.acceleo.aql.ls.debug.ide</module>
    <module>plugins/org.eclipse.acceleo.aql.ls.debug.ide.ui</module>

    <module>plugins/org.eclipse.acceleo.aql.migration</module>
    <module>plugins/org.eclipse.acceleo.aql.migration.ide.ui</module>
    <module>features/org.eclipse.acceleo.aql.migration-feature</module>
    <module>tests/org.eclipse.acceleo.aql.migration.tests</module>
    
    <module>plugins/org.eclipse.acceleo.aql.launcher</module>
    <module>features/org.eclipse.acceleo.aql.launcher-feature</module>
    
    <module>features/org.eclipse.acceleo.aql.feature</module>

    <module>tests/org.eclipse.acceleo.aql.rcpttproduct</module>
    <module>tests/org.eclipse.acceleo.aql.rcptt</module>
    <module>releng/org.eclipse.acceleo.aql.update</module>
  </modules>

  <build>
    <!-- This is for checkstyle and PMD -->
    <sourceDirectory>src</sourceDirectory>

    <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>
          <includePackedArtifacts>true</includePackedArtifacts>
          <resolver>p2</resolver>
          <environments>
            <environment>
              <os>win32</os>
              <ws>win32</ws>
              <arch>x86_64</arch>
            </environment>
            <environment>
              <os>linux</os>
              <ws>gtk</ws>
              <arch>x86_64</arch>
            </environment>
            <environment>
              <os>macosx</os>
              <ws>cocoa</ws>
              <arch>x86_64</arch>
            </environment>
          </environments>
        </configuration>
      </plugin>
      <!-- enable source bundle generation -->
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-source-plugin</artifactId>
        <version>${tycho-version}</version>
        <configuration>
          <archive>
            <addMavenDescriptor>false</addMavenDescriptor>
          </archive>
        </configuration>
        <executions>
          <execution>
            <id>plugin-source</id>
            <goals>
              <goal>plugin-source</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <!-- enable source feature generation -->
      <plugin>
        <groupId>org.eclipse.tycho.extras</groupId>
        <artifactId>tycho-source-feature-plugin</artifactId>
        <version>${tycho-extras-version}</version>
        <configuration>
          <excludes>
            <plugin id="org.eclipse.acceleo.aql.doc"/>
            <plugin id="org.eclipse.acceleo.aql.tm"/>
          </excludes>
          <archive>
            <addMavenDescriptor>false</addMavenDescriptor>
          </archive>
        </configuration>
        <executions>
          <execution>
            <id>source-feature</id>
            <phase>package</phase>
            <goals>
              <goal>source-feature</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-packaging-plugin</artifactId>
        <version>${tycho-version}</version>
        <configuration>
          <archive>
            <addMavenDescriptor>false</addMavenDescriptor>
          </archive>
          <sourceReferences>
            <generate>true</generate>
          </sourceReferences>
        </configuration>
        <dependencies>
          <dependency>
            <groupId>org.eclipse.tycho.extras</groupId>
            <artifactId>tycho-sourceref-jgit</artifactId>
            <version>${tycho-extras-version}</version>
          </dependency>
        </dependencies>
      </plugin>
      <!-- Make sure the p2 metadata isn't attached before the source-feature execution -->
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-p2-plugin</artifactId>
        <executions>
          <execution>
            <id>default-p2-metadata-default</id>
            <configuration>
              <attachP2Metadata>false</attachP2Metadata>
            </configuration>
          </execution>
          <execution>
            <id>attach-p2-metadata</id>
            <phase>package</phase>
            <goals>
              <goal>p2-metadata</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <!-- fail the build if specified profile does not exist -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <version>${maven-enforcer-version}</version>
        <executions>
          <execution>
            <id>enforce</id>
            <configuration>
              <rules>
                <requireProfileIdsExist/>
              </rules>
            </configuration>
            <goals>
              <goal>enforce</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-compiler-plugin</artifactId>
          <version>${tycho-version}</version>
          <configuration>
            <encoding>${java-resource-encoding}</encoding>
            <source>${source-java-version}</source>
            <target>${target-java-version}</target>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-p2-plugin</artifactId>
          <version>${tycho-version}</version>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho.extras</groupId>
          <artifactId>tycho-pack200a-plugin</artifactId>
          <version>${tycho-extras-version}</version>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho.extras</groupId>
          <artifactId>tycho-pack200b-plugin</artifactId>
          <version>${tycho-extras-version}</version>
        </plugin>
        <plugin>
          <groupId>org.eclipse.cbi.maven.plugins</groupId>
          <artifactId>eclipse-jarsigner-plugin</artifactId>
          <version>${eclipse-jarsigner-version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-resources-plugin</artifactId>
          <version>${maven-resources-version}</version>
          <configuration>
            <encoding>${resource-encoding}</encoding>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-antrun-plugin</artifactId>
          <version>${maven-antrun-version}</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>findbugs-maven-plugin</artifactId>
          <version>${findbugs-maven-version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-pmd-plugin</artifactId>
          <version>${maven-pmd-version}</version>
          <configuration>
            <sourceEncoding>${java-resource-encoding}</sourceEncoding>
            <targetJdk>${target-java-version}</targetJdk>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-checkstyle-plugin</artifactId>
          <version>${maven-checkstyle-version}</version>
          <configuration>
            <encoding>${java-source-encoding}</encoding>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jxr-plugin</artifactId>
          <version>${maven-jxr-version}</version>
        </plugin>
        <plugin>
          <groupId>org.asciidoctor</groupId>
          <artifactId>asciidoctor-maven-plugin</artifactId>
          <version>${asciidoc-version}</version>
          <dependencies>
            <dependency>
              <groupId>org.jruby</groupId>
              <artifactId>jruby-complete</artifactId>
              <version>${jruby.version}</version>
            </dependency>
            <dependency>
              <groupId>org.asciidoctor</groupId>
              <artifactId>asciidoctorj</artifactId>
              <version>${asciidoctorj.version}</version>
            </dependency>
          </dependencies>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

  <profiles>
    <profile>
      <id>platform-2020-09</id>
      <activation>
        <activeByDefault>true</activeByDefault>
        <property>
          <name>platform-version-name</name>
          <value>2020-09</value>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>target-platform-configuration</artifactId>
            <configuration>
              <target>
                <artifact>
                  <groupId>org.eclipse.acceleo</groupId>
                  <artifactId>acceleo-2020-09</artifactId>
                  <version>1.0.0-SNAPSHOT</version>
                </artifact>
              </target>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>platform-2019-09</id>
      <activation>
        <activeByDefault>false</activeByDefault>
        <property>
          <name>platform-version-name</name>
          <value>2019-09</value>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>target-platform-configuration</artifactId>
            <configuration>
              <target>
                <artifact>
                  <groupId>org.eclipse.acceleo</groupId>
                  <artifactId>acceleo-2019-09</artifactId>
                  <version>1.0.0-SNAPSHOT</version>
                </artifact>
              </target>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>sign</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.tycho.extras</groupId>
            <artifactId>tycho-pack200a-plugin</artifactId>
            <executions>
              <execution>
                <id>pack200-normalize</id>
                <goals>
                  <goal>normalize</goal>
                </goals>
                <phase>package</phase>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.eclipse.cbi.maven.plugins</groupId>
            <artifactId>eclipse-jarsigner-plugin</artifactId>
            <executions>
              <execution>
                <id>sign</id>
                <phase>package</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.eclipse.tycho.extras</groupId>
            <artifactId>tycho-pack200b-plugin</artifactId>
            <executions>
              <execution>
                <id>pack200-pack</id>
                <goals>
                  <goal>pack</goal>
                </goals>
                <phase>package</phase>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>tycho-p2-plugin</artifactId>
            <executions>
              <execution>
                <id>p2-metadata</id>
                <goals>
                  <goal>p2-metadata</goal>
                </goals>
                <phase>verify</phase>
              </execution>
            </executions>
            <configuration>
              <defaultP2Metadata>false</defaultP2Metadata>
            </configuration>
          </plugin>
        </plugins>
      </build>
      <pluginRepositories>
        <pluginRepository>
          <id>cbi</id>
          <url>https://repo.eclipse.org/content/repositories/cbi-releases/</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>

    <profile>
      <id>quality</id>
      <activation>
          <activeByDefault>false</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-checkstyle-plugin</artifactId>
            <executions>
              <execution>
                <id>checkstyle</id>
                <phase>verify</phase>
                <goals>
                  <goal>checkstyle</goal>
                </goals>
                <configuration>
                  <configLocation>${project.parent.relativePath}/dev/org.eclipse.acceleo.dev/codestyle/AcceleoCheckstyleConfiguration8.xml</configLocation>
                  <failOnErrors>false</failOnErrors>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>findbugs-maven-plugin</artifactId>
            <configuration>
              <xmlOutput>true</xmlOutput>
              <failOnError>false</failOnError>
            </configuration>
            <executions>
              <execution>
                <id>findbugs</id>
                <phase>verify</phase>
                <goals>
                  <goal>findbugs</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-pmd-plugin</artifactId>
            <executions>
              <execution>
                <id>pmd-cpd</id>
                <phase>verify</phase>
                <goals>
                  <goal>pmd</goal>
                  <goal>cpd</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
      <reporting>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jxr-plugin</artifactId>
          </plugin>
        </plugins>
      </reporting>
    </profile>

    <!-- this profile will activate by itself if the build is ran on a mac. Be careful to also activate a profile -->
    <profile>
      <id>macosx-jvm-flags</id>
      <activation>
        <os>
          <family>mac</family>
        </os>
      </activation>
      <properties>
        <os-jvm-flags>-XstartOnFirstThread</os-jvm-flags>
      </properties>
    </profile>

    <!-- This profile is activated when the code.coverage property is not set.
    Another profile is defined in test-parent where jacoco is triggered and will set testArgLine to
    its desired value. -->
    <profile>
      <id>no.code.coverage</id>
      <activation>
        <property>
          <name>!code.coverage</name>
        </property>
      </activation>
      <properties>
        <tycho.testArgLine/>
      </properties>
    </profile>
  </profiles>

</project>
