<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (c) 2012, 2013 Eclipse Foundation and others.
  All rights reserved. This program and the accompanying materials
  are made available under the terms of the Eclipse Distribution License v1.0
  which accompanies this distribution, and is available at
  http://www.eclipse.org/org/documents/edl-v10.php
 
  Contributors:
     Igor Fedorenko - initial implementation
-->
<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>
  <parent>
    <artifactId>eclipse.platform.common</artifactId>
    <groupId>eclipse.platform.common</groupId>
    <version>4.4.0-SNAPSHOT</version>
    <relativePath>../../</relativePath>
  </parent>
  <groupId>org.eclipse.jdt</groupId>
  <artifactId>org.eclipse.jdt.doc.isv</artifactId>
  <version>3.10.0-SNAPSHOT</version>
  <packaging>eclipse-plugin</packaging>
  <profiles>
    <profile>
      <id>build-docs</id>
      <activation>
        <property>
          <!-- workaround. activeByDefault is disabled when another profile is
            selected. -->
          <name>!longnotexistingproperty</name>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>target-platform-configuration</artifactId>
            <configuration>
              <dependency-resolution>
                <extraRequirements>
                  <requirement>
                    <type>eclipse-plugin</type>
                    <id>org.eclipse.platform.doc.isv</id>
                    <versionRange>0.0.0</versionRange>
                  </requirement>
                  <requirement>
                    <type>eclipse-plugin</type>
                    <id>org.eclipse.pde.build</id>
                    <versionRange>0.0.0</versionRange>
                  </requirement>
                  <requirement>
                    <type>eclipse-plugin</type>
                    <id>org.eclipse.pde.core</id>
                    <versionRange>0.0.0</versionRange>
                  </requirement>
                  <requirement>
                    <type>eclipse-plugin</type>
                    <id>com.ibm.icu</id>
                    <versionRange>0.0.0</versionRange>
                  </requirement>
                  <requirement>
                    <type>eclipse-plugin</type>
                    <id>org.apache.ant</id>
                    <versionRange>0.0.0</versionRange>
                  </requirement>
                  <requirement>
                    <type>eclipse-plugin</type>
                    <id>org.junit</id>
                    <versionRange>0.0.0</versionRange>
                  </requirement>
                  <requirement>
                    <type>eclipse-plugin</type>
                    <id>org.eclipse.update.configurator</id>
                    <versionRange>0.0.0</versionRange>
                  </requirement>
                </extraRequirements>
              </dependency-resolution>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <version>2.5.1</version>
            <executions>
              <execution>
                <id>copy</id>
                <phase>process-resources</phase>
                <goals>
                  <goal>copy-dependencies</goal>
                </goals>
                <configuration>
                  <overwriteReleases>true</overwriteReleases>
                  <overwriteSnapshots>true</overwriteSnapshots>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.eclipse.tycho.extras</groupId>
            <artifactId>tycho-eclipserun-plugin</artifactId>
            <version>${tycho-extras.version}</version>
            <executions>
              <execution>
                <id>dont_skip_me</id>
                <phase>compile</phase>
                <configuration>
                  <skip>false</skip>
                  <!-- this is to fix some lucene 3.x compatibility issue -->
                  <argLine>-Dhelp.lucene.tokenizer=standard</argLine>
                  <!-- actuall indexer call -->
                  <appArgLine>-consolelog -debug -application org.eclipse.ant.core.antRunner -buildfile buildDoc.xml -Dbasedir.properties=cbi_basedirs.properties -logger org.apache.tools.ant.XmlLogger -verbose -logfile buildDoc_log.xml</appArgLine>
                  <dependencies>
                    <!-- list of bundles that we need -->
                    <dependency>
                      <artifactId>org.eclipse.osgi.compatibility.state</artifactId>
                      <type>eclipse-plugin</type>
                    </dependency>
                    <dependency>
                      <artifactId>org.eclipse.core.runtime.compatibility</artifactId>
                      <type>eclipse-plugin</type>
                    </dependency>
                    <dependency>
                      <artifactId>org.eclipse.ant.core</artifactId>
                      <type>eclipse-plugin</type>
                    </dependency>
                    <dependency>
                      <artifactId>org.apache.ant</artifactId>
                      <type>eclipse-plugin</type>
                    </dependency>
                    <dependency>
                      <artifactId>org.eclipse.help.base</artifactId>
                      <type>eclipse-plugin</type>
                    </dependency>
                    <dependency>
                      <artifactId>org.eclipse.pde.build</artifactId>
                      <type>eclipse-plugin</type>
                    </dependency>
                    <dependency>
                      <artifactId>org.eclipse.pde.core</artifactId>
                      <type>eclipse-plugin</type>
                    </dependency>
                    <dependency>
                      <artifactId>org.eclipse.update.configurator</artifactId>
                      <type>eclipse-plugin</type>
                    </dependency>
                  </dependencies>
                  <repositories>
                    <repository>
                      <id>eclipse</id>
                      <layout>p2</layout>
                      <url>${eclipserun-repo}</url>
                    </repository>
                  </repositories>
                </configuration>
                <goals>
                  <goal>eclipse-run</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
