<?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.qvto-doc</groupId>
    <artifactId>org.eclipse.qvto.doc-folder</artifactId>
    <version>3.10.0-SNAPSHOT</version>
    <relativePath>..</relativePath>
  </parent>
  <groupId>org.eclipse.qvto-doc</groupId>
  <artifactId>org.eclipse.m2m.qvt.oml.doc</artifactId>
  <version>3.9.0-SNAPSHOT</version>
  <packaging>eclipse-plugin</packaging>
  <profiles>
    <profile>
      <id>javadoc</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <executions>
              <execution>
                <id>compile</id>
                <phase>compile</phase>
                <configuration>
                  <target>
                    <property name="generatedJavadoc" value="${project.build.directory}/javadoc"/>
                    <!--property name="target.platform" value="platform:"/-->
                    <property name="zipFile" value="${project.build.directory}/QVTo-javadoc.zip"/>

                    <echo message="generatedJavadoc ${generatedJavadoc}"/>
                    <echo message="targetPlatform ${targetPlatform}"/>
                    <echo message="target.platform ${target.platform}"/>
                    <echo message="zipFile: ${zipFile}"/>
                    
                <property name="compile_classpath" refid="maven.compile.classpath"/>
                <property name="runtime_classpath" refid="maven.runtime.classpath"/>
                <property name="test_classpath" refid="maven.test.classpath"/>
                <property name="plugin_classpath" refid="maven.plugin.classpath"/>

                <echo message="compile classpath: ${compile_classpath}"/>
                <echo message="runtime classpath: ${runtime_classpath}"/>
                <echo message="test classpath:    ${test_classpath}"/>
                <echo message="plugin classpath:  ${plugin_classpath}"/>

                    <ant antfile="${basedir}/build_javadoc.xml">
                      <target name="javadoc"/>
                    </ant>
                  </target>
                </configuration>
                <goals>
                  <goal>run</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>