<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (c) 2007, 2013 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

  Contributors:
       Obeo - Initial API and implementation
-->

<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>
    <artifactId>emf.compare-parent</artifactId>
    <groupId>org.eclipse.emf.compare</groupId>
    <version>3.3.18-SNAPSHOT</version>
     <relativePath>../../org.eclipse.emf.compare-parent</relativePath>
  </parent>
  <groupId>org.eclipse.emf.compare</groupId>
  <artifactId>org.eclipse.emf.compare.doc</artifactId>
  <version>3.3.18-SNAPSHOT</version>
  <packaging>eclipse-plugin</packaging>

  <properties>
    <simrel>mars</simrel>
    <platform-isv>org.eclipse.platform.doc.isv/reference/api</platform-isv>
    <javadoc-args>
      -quiet
      -breakiterator
      -use
      -splitIndex
      -windowtitle "EMF Compare API Specification"
      -doctitle "EMF Compare API Specification"
      -header "&lt;span style='font-size:small'&gt;&lt;b&gt;EMF Compare&lt;/b&gt;&lt;br&gt;${unqualifiedVersion}.${buildQualifier}&lt;/span&gt;"
      -bottom "&lt;br&gt;&lt;span style='font-size:small;float:right'&gt;Copyright (c) 2006, 2015 Obeo and others. All rights reserved.&lt;/span&gt;"
      -tag 'noimplement:a:Restriction:'
      -tag 'noextend:a:Restriction:'
      -tag 'noreference:a:Restriction:'
      -tag 'noinstantiate:a:Restriction:'
      -tag 'nooverride:a:Restriction:'
      -tag 'category:a:Category:'
      -tag 'generated:a:Generated:'
      -tag 'model:X'
      -tag 'ordered:X'
      -linkoffline http://download.oracle.com/javase/8/docs/api/ ${basedir}/javadoc-offline-package-lists/javase-8
      -linkoffline http://www.osgi.org/javadoc/r5/core/ ${basedir}/javadoc-offline-package-lists/osgi-core-r5
      -linkoffline http://www.osgi.org/javadoc/r5/enterprise/ ${basedir}/javadoc-offline-package-lists/osgi-enterprise-r5
      -linkoffline http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/ ${basedir}/javadoc-offline-package-lists/emf-2.9
    </javadoc-args>
  </properties>

  <build>
    <resources>
      <resource>
        <directory>.</directory>
        <filtering>true</filtering>
        <includes>
          <include>publisher.properties</include>
        </includes>
      </resource>
    </resources>
    <plugins>
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-packaging-plugin</artifactId>
        <configuration>
          <!-- 
          As the the help folder and the plugin.xml will be generated @ build time 
          by the o.e.e.c.gendoc WikitexToHTML tool, we can not use the build.properties 
          file to specify its  inclusion, it would lead to warnings during the PDE build 
          in the Eclipse workspace. We better include it with the following directive.
           -->
          <additionalFileSets>
            <fileSet>
              <directory>${project.basedir}/help</directory>
              <prefix>help/</prefix>
              <includes>
                <include>**/*</include>
              </includes>
            </fileSet>
            <fileSet>
              <directory>${project.basedir}</directory>
              <includes>
                <include>plugin.xml</include>
              </includes>
            </fileSet>
          </additionalFileSets>
        </configuration>
      </plugin>
      <plugin>
        <!--
        Run the org.e.e.c.gendoc WikitTextToHTML tool to generate Eclipse help and
        website HTML documentation.
        -->
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <executions>
          <execution>
            <phase>generate-resources</phase>
            <id>buid-info-generator</id>
            <goals>
              <goal>exec</goal>
            </goals>
            <configuration>
              <executable>${JAVA_HOME}/bin/java</executable>
              <arguments>
                <argument>-jar</argument>
                <argument>${project.basedir}/../../packaging/org.eclipse.emf.compare.gendoc/target/org.eclipse.emf.compare.gendoc-1.0-uberjar.jar</argument>
                <argument>-location</argument>
                <argument>${project.basedir}</argument>
                <argument>-projectid</argument>
                <argument>${project.artifactId}</argument>
                <argument>-projectname</argument>
                <argument>EMF Compare</argument>
                <argument>-eclipsehelp</argument>
                <argument>${project.basedir}/help</argument>
                <argument>-website</argument>
                <argument>${project.build.directory}/website</argument>
                <argument>-version</argument>
                <!-- Please update qualified version for each release.-->
                <argument>3.3.18.${buildQualifier}</argument>
              </arguments>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-antrun-plugin</artifactId>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>run</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <target>
            <!-- Please update qualified version for each release.-->
            <zip destfile="${project.build.directory}/${project.artifactId}-website-3.3.18.${buildQualifier}.zip">
              <zipfileset dir="${project.build.directory}/website"/>
            </zip>
          </target>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <profiles>
    <profile>
      <!--
        Do the javadoc generation in a profile to keep standard builds (e.g. gerrit) fast.
      -->
      <id>javadoc</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.tycho.extras</groupId>
            <artifactId>tycho-document-bundle-plugin</artifactId>
            <version>${tycho-version}</version>
            <executions>
              <execution>
                <id>eclipse-javadoc</id>
                <phase>generate-resources</phase>
                <goals>
                  <goal>javadoc</goal>
                </goals>
                <configuration>
                  <outputDirectory>${project.basedir}/help/developer/javadoc</outputDirectory>
                  <tocFile>${project.basedir}/help/developer/toc-javadoc.xml</tocFile>
                  <javadocOptions>
                    <additionalArguments>
                      <additionalArgument>${javadoc-args}</additionalArgument>
                      <additionalArgument>
                        -linkoffline ./../../../${platform-isv} ${basedir}/javadoc-offline-package-lists/eclipse-platform-${simrel}
                      </additionalArgument>
                    </additionalArguments>
                  </javadocOptions>
                </configuration>
              </execution>
              <execution>
                <id>website-javadoc</id>
                <phase>generate-resources</phase>
                <goals>
                  <goal>javadoc</goal>
                </goals>
                <configuration>
                  <outputDirectory>${project.build.directory}/website/developer/javadoc</outputDirectory>
                  <tocFile>${project.build.directory}/toc-javadoc.xml</tocFile>
                  <javadocOptions>
                    <additionalArguments>
                      <additionalArgument>${javadoc-args}</additionalArgument>
                      <additionalArgument>
                        -linkoffline http://help.eclipse.org/${simrel}/topic/${platform-isv} ${basedir}/javadoc-offline-package-lists/eclipse-platform-${simrel}
                      </additionalArgument>
                    </additionalArguments>
                  </javadocOptions>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <!--profile>
      These should be reactivated when Tycho 0.22 will be used. We will be able to use
      jvmOptions to add these properties to the javadoc options.
      <id>env.http.proxyHost</id>
      <activation>
        <property>
          <name>!env.http.proxyHost</name>
        </property>
      </activation>
      <properties>
         <http.proxyHost>proxy.eclipse.org</http.proxyHost>
      </properties>
    </profile>
    <profile>
      <id>env.http.proxyPort</id>
      <activation>
        <property>
          <name>!env.http.proxyPort</name>
        </property>
      </activation>
      <properties>
         <http.proxyPort>proxy.eclipse.org</http.proxyPort>
      </properties>
    </profile>
    <profile>
      <id>env.https.proxyHost</id>
      <activation>
        <property>
          <name>!env.https.proxyHost</name>
        </property>
      </activation>
      <properties>
         <https.proxyHost>proxy.eclipse.org</https.proxyHost>
      </properties>
    </profile>
    <profile>
      <id>env.https.proxyPort</id>
      <activation>
        <property>
          <name>!env.https.proxyPort</name>
        </property>
      </activation>
      <properties>
         <https.proxyPort>proxy.eclipse.org</https.proxyPort>
      </properties>
    </profile-->
  </profiles>
</project>
