<?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</artifactId>
    <version>1.5.6</version>
  </parent>
  <artifactId>tobago-core</artifactId>
  <packaging>jar</packaging>
  <name>Tobago Core</name>
  <description>Tobago-core contains the basic application components without any special rendering or layout options. The rendering itself depends on the theme.</description>

  <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>add-source</id>
            <phase>process-resources</phase>
            <goals>
              <goal>add-source</goal>
            </goals>
            <configuration>
              <sources>
                <source>${project.build.directory}/generated-component</source>
              </sources>
            </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>compile</phase>
            <configuration>
              <outputFiles>
                <outputFile>org/apache/myfaces/tobago/internal/taglib/component/tobago.tld</outputFile>
<!--
                <outputFile>org/apache/myfaces/tobago/internal/taglib/extension/tobago-extension.tld</outputFile>
-->
              </outputFiles>
              <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/package-info.java</exclude>
              </excludes>
              <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>
              <options>
                <option>jsf-version=${jsf.target}</option>
              </options>
              <force>true</force>
            </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/FopConverter.java</exclude>
                <exclude>org/apache/myfaces/tobago/internal/taglib/*</exclude>
                <exclude>org/apache/myfaces/tobago/internal/taglib/component/package-info.java</exclude>
                <exclude>org/apache/myfaces/tobago/internal/taglib/extension/package-info.java</exclude>
                <exclude>org/apache/myfaces/tobago/component/*</exclude>
              </excludes>
              <resourceTargetPath>META-INF</resourceTargetPath>
              <outputDirectory>${project.build.directory}/generated-faces-config</outputDirectory>
              <factory>org.apache.myfaces.tobago.apt.FacesConfigAnnotationProcessorFactory</factory>
              <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>
            </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>
          <!-- <compilerArgument>-Xlint:all,-serial,-fallthrough</compilerArgument>-->
          <excludes>
            <exclude>org/apache/myfaces/tobago/tablib/extension/*</exclude>
            <exclude>org/apache/myfaces/tobago/component/UIDatePicker*</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>
              <!-- <compilerArgument>-Xlint:all,-serial,-fallthrough</compilerArgument>-->              
              <includes>
                <include>org/apache/myfaces/tobago/renderkit/*</include>
                <include>org/apache/myfaces/tobago/internal/taglib/*</include>
                <include>org/apache/myfaces/tobago/component/*</include>
                <include>org/apache/myfaces/tobago/component/UIDatePicker*</include>
              </includes>
              <excludes>
                <exclude>test</exclude>
              </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>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>2.2</version>
        <executions>
          <execution>
            <id>test-jar</id>
            <goals>
             <goal>test-jar</goal>
           </goals>
          </execution>
          <execution>
            <goals>
             <goal>jar</goal>
           </goals>
          </execution>
        </executions>
        <configuration>
          <excludes>
            <exclude>org/apache/myfaces/tobago/internal/taglib/component/*Declaration.class</exclude>
            <!--exclude>org/apache/myfaces/tobago/internal/taglib/declaration/*.class</exclude-->
          </excludes>
          <archive>
            <manifest>
              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
            </manifest>
            <manifestEntries>
              <Revision>${scm.revision}</Revision>
            </manifestEntries>
            <manifestSections>
              <manifestSection>
                <name>${project.artifactId}</name>
                <manifestEntries>
                  <Implementation-Vendor>${project.organization.name}</Implementation-Vendor>
                  <Implementation-Version>${project.version}</Implementation-Version>
                </manifestEntries>
              </manifestSection>
            </manifestSections>
          </archive>
        </configuration>
      </plugin>
      <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>

  <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>
          <parseHtml>true</parseHtml>
        </configuration>
      </plugin>

    </plugins>
  </reporting>

  <dependencies>
    <!--dependency>
      <groupId>org.apache.myfaces.core</groupId>
      <artifactId>myfaces-impl</artifactId>
      <optional>true</optional>
    </dependency-->

    <dependency>
      <groupId>org.apache.myfaces.tobago</groupId>
      <artifactId>tobago-jsf-compat</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>javax.el</groupId>
      <artifactId>el-api</artifactId>
    </dependency>
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
    </dependency>

    <dependency>
      <groupId>maven-taglib</groupId>
      <artifactId>maven-taglib-plugin</artifactId>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>commons-beanutils</groupId>
      <artifactId>commons-beanutils</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-collections</groupId>
      <artifactId>commons-collections</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.myfaces.tobago</groupId>
      <artifactId>tobago-tool-apt</artifactId>
      <version>${project.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>commons-digester</groupId>
      <artifactId>commons-digester</artifactId>
      <exclusions>
        <exclusion>
          <groupId>xml-apis</groupId>
          <artifactId>xml-apis</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>commons-fileupload</groupId>
      <artifactId>commons-fileupload</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-lang</groupId>
      <artifactId>commons-lang</artifactId>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
    </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.test</groupId>
      <artifactId>myfaces-test12</artifactId>
      <version>${myfaces-test12.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>commons-codec</groupId>
      <artifactId>commons-codec</artifactId>
    </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-tag-reference</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>apt-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>tobago-doc</id>
                <goals><goal>execute</goal></goals>
                <configuration>
                  <outputFiles>
                    <outputFile>org/apache/myfaces/tobago/internal/taglib/component/tobago.xml</outputFile>
                    <outputFile>org/apache/myfaces/tobago/internal/taglib/extension/tobago-extension.xml</outputFile>
                  </outputFiles>
                  <generated>${project.build.directory}/doc</generated>
                  <factory>org.apache.myfaces.tobago.apt.TobagoAnnotationProcessorFactory</factory>
                  <nocompile>true</nocompile>
                  <encoding>${maven.compile.encoding}</encoding>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>apache-release</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>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>
