<?xml version="1.0" encoding="UTF-8"?>
<!--
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
-->
<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>
  <parent>
    <groupId>org.apache.myfaces.tobago</groupId>
    <artifactId>tobago-extension</artifactId>
    <version>1.5.0-alpha-2</version>
  </parent>
  <artifactId>tobago-sandbox</artifactId>
  <packaging>jar</packaging>
  <name>Tobago Sandbox</name>

  <build>

    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <version>1.0</version>
        <executions>
          <execution>
            <id>add-source</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>add-source</goal>
            </goals>
            <configuration>
              <sources>
                <source>${project.build.directory}/generated-component</source>
              </sources>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
          <execution>
          <id>unpack-sources</id>
          <phase>generate-sources</phase>
          <goals><goal>unpack</goal></goals>
          <configuration>
            <artifactItems>
              <artifactItem>
                <groupId>org.apache.myfaces.tobago</groupId>
                <artifactId>tobago-core</artifactId>
                <version>${project.version}</version>
                <type>jar</type>
                <classifier>sources</classifier>
                <includes>org/apache/myfaces/tobago/internal/taglib/declaration/**/*</includes>                  
              </artifactItem>
            </artifactItems>
            <outputDirectory>${project.build.directory}/tobago-core-sources</outputDirectory>
          </configuration>
          </execution>
        </executions>
      </plugin>
     <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>apt-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>tobago-tlds</id>
            <goals><goal>process</goal></goals>
            <phase>generate-resources</phase>
            <configuration>
              <outputFiles>
                <outputFile>org/apache/myfaces/tobago/internal/taglib/sandbox/tobago-sandbox.tld</outputFile>
              </outputFiles>
              <excludes>
                <exclude>org/apache/myfaces/tobago/util/CommonsLoggingLogger.java</exclude>
                <exclude>org/apache/myfaces/tobago/application/FopConverter.java</exclude>
                <exclude>org/apache/myfaces/tobago/internal/taglib/component/*</exclude>
                <exclude>org/apache/myfaces/tobago/internal/taglib/extension/*</exclude>
              </excludes>
              <additionalSourceRoots>
                <additionalSourceRoot>${project.build.directory}/tobago-core-sources</additionalSourceRoot>
              </additionalSourceRoots>
              <resourceTargetPath>META-INF</resourceTargetPath>
              <outputDirectory>${project.build.directory}/generated-tld</outputDirectory>
              <factory>org.apache.myfaces.tobago.apt.TaglibAnnotationProcessorFactory</factory>
              <nocompile>true</nocompile>
              <encoding>${maven.compile.encoding}</encoding>
              <options>
                <option>jsf-version=${jsf.target}</option>
              </options>
            </configuration>
          </execution>
          <execution>
            <id>tobago-components</id>
            <goals><goal>process</goal></goals>
            <phase>compile</phase>
            <configuration>
              <excludes>
                <exclude>org/apache/myfaces/tobago/util/CommonsLoggingLogger.java</exclude>
                <exclude>org/apache/myfaces/tobago/application/FopConverter.java</exclude>
                <exclude>org/apache/myfaces/tobago/internal/taglib/extension/*</exclude>
                <exclude>org/apache/myfaces/tobago/internal/taglib/component/*</exclude>
                <exclude>org/apache/myfaces/tobago/internal/taglib/sandbox/package-info.java</exclude>
                <!--<exclude>org/apache/myfaces/tobago/internal/taglib/sandbox/WizardExtensionTag.java</exclude>-->
              </excludes>
              <additionalSourceRoots>
                <additionalSourceRoot>${project.build.directory}/tobago-core-sources</additionalSourceRoot>
              </additionalSourceRoots>
              <resourceTargetPath>META-INF</resourceTargetPath>
              <outputDirectory>${project.build.directory}/generated-component</outputDirectory>
              <factory>org.apache.myfaces.tobago.apt.CreateComponentAnnotationProcessorFactory</factory>
              <fork>true</fork>
              <nocompile>true</nocompile>
              <encoding>${maven.compile.encoding}</encoding>
              <force>true</force>
              <options>
                <option>jsf-version=${jsf.target}</option>
              </options>
            </configuration>
          </execution>
          <execution>
            <id>tobago-faces-config</id>
            <goals><goal>process</goal></goals>
              <phase>process-classes</phase>
            <configuration>
              <outputFiles>
                <outputFile>${project.build.directory}/generated-faces-config/faces-config.xml</outputFile>
              </outputFiles>
              <excludes>
                <exclude>org/apache/myfaces/tobago/util/CommonsLoggingLogger.java</exclude>
                <exclude>org/apache/myfaces/tobago/application/*</exclude>
                <exclude>org/apache/myfaces/tobago/internal/taglib/component/*</exclude>
                <exclude>org/apache/myfaces/tobago/internal/taglib/extension/*</exclude>
                <exclude>org/apache/myfaces/tobago/validator/*</exclude>
                <exclude>org/apache/myfaces/tobago/convert/*</exclude>
                <exclude>org/apache/myfaces/tobago/internal/taglib/sandbox/package-info.java</exclude>
              </excludes>
              <additionalSourceRoots>
                <additionalSourceRoot>${project.build.directory}/tobago-core-sources</additionalSourceRoot>
              </additionalSourceRoots>
              <resourceTargetPath>META-INF</resourceTargetPath>
              <outputDirectory>${project.build.directory}/generated-faces-config</outputDirectory>
              <factory>org.apache.myfaces.tobago.apt.FacesConfigAnnotationProcessorFactory</factory>
              <!--<force>true</force>-->
              <fork>true</fork>
              <nocompile>true</nocompile>
              <encoding>${maven.compile.encoding}</encoding>
              <options>
                <option>sourceFacesConfig=${basedir}/src/main/faces-config/faces-config.xml</option>
                <option>targetFacesConfig=faces-config.xml</option>
                <option>jsf-version=${jsf.target}</option>
              </options>
              <!--verbose>true</verbose-->
            </configuration>
          </execution>
        </executions>
      </plugin>
       <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>${maven.compile.source}</source>
          <target>${maven.compile.target}</target>
          <encoding>${maven.compile.encoding}</encoding>
          <showWarnings>true</showWarnings>
          <excludes>
            <exclude>workaround-because-otherwise-this-will-be-excluded-in-the-next-step</exclude>
            <!--<exclude>org/apache/myfaces/tobago/internal/taglib/sandbox/WizardExtensionTag.java</exclude>-->
          </excludes>
        </configuration>
        <executions>
          <execution>
            <id>compile</id>
            <goals><goal>compile</goal></goals>
            <configuration>
              <source>${maven.compile.source}</source>
              <target>${maven.compile.target}</target>
              <encoding>${maven.compile.encoding}</encoding>
              <showWarnings>true</showWarnings>
              <includes>
                <include>org/apache/myfaces/tobago/internal/taglib/*</include>
                <include>org/apache/myfaces/tobago/component/*</include>
                <include>org/apache/myfaces/tobago/renderkit/*</include>
                <!--<include>org/apache/myfaces/tobago/internal/taglib/sandbox/WizardExtensionTag.java</include>-->
              </includes>
              <excludes>
              </excludes>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-resources-plugin</artifactId>
        <executions>
          <execution>
            <id>copy-faces-config</id>
            <goals><goal>copy-resources</goal></goals>
            <phase>process-classes</phase>
            <configuration>
              <outputDirectory>${project.build.outputDirectory}</outputDirectory>
              <resources>
                <resource>
                  <targetPath>META-INF</targetPath>
                  <directory>${project.build.directory}/generated-faces-config</directory>
                </resource>
              </resources>
            </configuration>
          </execution>
          <execution>
            <id>copy-tld</id>
            <goals><goal>copy-resources</goal></goals>
            <phase>process-classes</phase>
            <configuration>
              <outputDirectory>${project.build.outputDirectory}</outputDirectory>
              <resources>
                <resource>
                  <targetPath>META-INF</targetPath>
                  <directory>${project.build.directory}/generated-tld</directory>
                </resource>
              </resources>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

  <reporting>
    <plugins>

      <plugin>
        <groupId>net.sourceforge.maven-taglib</groupId>
        <artifactId>maven-taglib-plugin</artifactId>
        <configuration>
          <taglib.src.dir>${project.build.directory}/generated-tld</taglib.src.dir>
          <tldDocDir>${project.build.directory}/site/tlddoc</tldDocDir>
        </configuration>
      </plugin>

    </plugins>
  </reporting>

  <dependencies>
    <dependency>
      <groupId>org.apache.myfaces.tobago</groupId>
      <artifactId>tobago-tool-apt</artifactId>
      <version>${project.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.myfaces.tobago</groupId>
      <artifactId>tobago-tool-annotation</artifactId>
      <version>${project.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.myfaces.tobago</groupId>
      <artifactId>tobago-theme-standard</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.myfaces.tobago</groupId>
      <artifactId>tobago-core</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.myfaces.tobago</groupId>
      <artifactId>tobago-core</artifactId>
      <version>${project.version}</version>
      <classifier>tests</classifier>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
    </dependency>
    <dependency>
      <groupId>javax.el</groupId>
      <artifactId>el-api</artifactId>
    </dependency>
    <dependency>
      <groupId>fop</groupId>
      <artifactId>fop</artifactId>
      <version>0.20.5</version>
      <scope>provided</scope>
      <optional>true</optional>
    </dependency>
    <!-- XXX not transitive from fop -->
    <dependency>
      <groupId>avalon-framework</groupId>
      <artifactId>avalon-framework</artifactId>
      <version>20020627</version>
      <!-- XXX wrong date -->
      <scope>provided</scope>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>org.apache.myfaces.tobago</groupId>
      <artifactId>tobago-facelets</artifactId>
      <version>${project.version}</version>
      <scope>compile</scope>
      <exclusions>
        <exclusion>
          <groupId>sun.jdk</groupId>
          <artifactId>tools</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>com.sun.facelets</groupId>
      <artifactId>jsf-facelets</artifactId>
      <version>${facelets.version}</version>
    </dependency>
    <dependency>
      <groupId>maven-taglib</groupId>
      <artifactId>maven-taglib-plugin</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.myfaces.test</groupId>
      <artifactId>myfaces-test12</artifactId>
      <version>${myfaces-test12.version}</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <profiles>
    <!-- Mac OS X has not a tools.jar! -->
    <profile>
      <id>tools.jar</id>
      <activation>
        <!-- needs maven 2.0.3 or higher under Mac OS X -->
        <os><family>!mac</family></os>
      </activation>
      <dependencies>
        <dependency>
          <groupId>sun.jdk</groupId>
          <artifactId>tools</artifactId>
          <version>1.5.0</version>
          <scope>system</scope>
          <systemPath>${java.home}/../lib/tools.jar</systemPath>
        </dependency>
      </dependencies>
    </profile>
    <profile>
      <id>generate-assembly</id>
      <build>
        <plugins>
          <plugin>
            <groupId>net.sourceforge.maven-taglib</groupId>
            <artifactId>maven-taglib-plugin</artifactId>
            <configuration>
              <taglib.src.dir>${project.build.directory}/generated-tld</taglib.src.dir>
              <tldDocDir>${project.build.directory}/tlddoc</tldDocDir>
            </configuration>
            <executions>
              <execution>
                <id>attach-tlddoc</id>
                <goals><goal>taglibdocjar</goal></goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
     <profile>
      <id>all-modules</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <executions>
              <execution>
                <id>attach-source</id>
                <goals><goal>jar</goal></goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>attach-source</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <executions>
              <execution>
                <id>attach-source</id>
                <goals><goal>jar</goal></goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>jdk14retro</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>retrotranslator-maven-plugin</artifactId>
            <executions>
              <execution>
                <goals>
                  <goal>translate-project</goal>
                </goals>
                <configuration>
                  <classifier>jdk14retro</classifier>
                  <attach>true</attach>
                  <verify>true</verify>
                  <verifyClasspath>
                    <element>${java14.home}/${java.classes.jar}</element>
                  </verifyClasspath>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
      <dependencies>
        <dependency>
          <groupId>net.sf.retrotranslator</groupId>
          <artifactId>retrotranslator-runtime</artifactId>
        </dependency>
      </dependencies>
    </profile>

  </profiles>
</project>
