<?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/xsd/maven-4.0.0.xsd">

    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.apache.myfaces.html5</groupId>
        <artifactId>myfaces-html5-project</artifactId>
        <version>1.0.0-alpha-SNAPSHOT</version>
    </parent>

    <groupId>org.apache.myfaces.html5</groupId>
    <artifactId>myfaces-html5-core</artifactId>
    <name>MyFaces Html5 Core</name>
    <description>Html5 Core for Apache MyFaces</description>

    <dependencies>
        <dependency>
            <groupId>org.apache.myfaces.commons</groupId>
            <artifactId>myfaces-commons-utils20</artifactId>
            <version>${myfaces-commons20-version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.myfaces.commons</groupId>
            <artifactId>myfaces-components20</artifactId>
            <version>${myfaces-commons20-version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.myfaces.buildtools</groupId>
            <artifactId>myfaces-builder-annotations</artifactId>
            <version>${myfaces-builder-annotations-version}</version>
        </dependency>

        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.1.1</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.1</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
        </dependency>
        <dependency>
            <groupId>javax.el</groupId>
            <artifactId>el-api</artifactId>
            <version>1.0</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>commons-validator</groupId>
            <artifactId>commons-validator</artifactId>
            <version>1.3.1</version>
            <type>jar</type>
            <scope>compile</scope>
        </dependency>

        <!-- test dependencies -->

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.8.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.myfaces.test</groupId>
            <artifactId>myfaces-test20</artifactId>
            <version>1.0.0</version>
            <scope>test</scope>
        </dependency>

    </dependencies>

    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <excludes>
                    <exclude>**/*.vm</exclude>
                </excludes>
            </resource>
        </resources>

        <plugins>
            <plugin>
                <groupId>org.apache.myfaces.buildtools</groupId>
                <artifactId>myfaces-builder-plugin</artifactId>
                <version>${myfaces-builder-plugin-version}</version>
                <executions>
                    <!-- first, build metadata. components and stuff will 
                        be generated from this. -->
                    <execution>
                        <id>build-html5-metadata</id>
                        <goals>
                            <goal>build-metadata</goal>
                        </goals>
                    </execution>

                    <!-- generate faces-config.xml -->
                    <execution>
                        <id>make-html5-faces-config</id>
                        <configuration>
                            <templateFile>faces-config20.vm</templateFile>
                            <xmlFile>META-INF/faces-config.xml</xmlFile>
                        </configuration>
                        <goals>
                            <goal>make-config</goal>
                        </goals>
                    </execution>

                    <!-- generate components -->
                    <execution>
                        <id>make-html5-components</id>
                        <goals>
                            <goal>make-components</goal>
                        </goals>
                        <configuration>
                            <jsfVersion>20</jsfVersion>
                            <templateComponentName>componentClass20.vm</templateComponentName>
                        </configuration>
                    </execution>

                    <!-- generate validators -->
                    <execution>
                        <id>make-html5-validators</id>
                        <goals>
                            <goal>make-validators</goal>
                        </goals>
                        <configuration>
                            <jsfVersion>12</jsfVersion>
                            <templateValidatorName>validatorClass12.vm</templateValidatorName>
                        </configuration>
                    </execution>

                    <!-- generate JSP classes -->
                    <execution>
                        <id>make-html5-tags</id>
                        <configuration>
                            <jsfVersion>12</jsfVersion>
                            <templateTagName>tagClass12.vm</templateTagName>
                        </configuration>
                        <goals>
                            <goal>make-tags</goal>
                        </goals>
                    </execution>

                    <!-- generate <hx> JSP tld file -->
                    <execution>
                        <id>make-html5-hx-tld</id>
                        <configuration>
                            <outputDirectory>${project.build.directory}/tlddoc-facelets</outputDirectory>
                            <xmlFile>META-INF/html5-hx.tld</xmlFile>
                            <xmlBaseFile>src/main/resources/META-INF/jsp-tld-base.tld</xmlBaseFile>
                            <templateFile>jsp-tld.vm</templateFile>
                            <params>
                                <shortname>hx</shortname>
                                <uri>http://myfaces.apache.org/html5/html</uri>
                                <displayname>HTML5 Html Comp Lib.</displayname>
                                <description>HTML5 Html component library for MyFaces.</description>
                            </params>
                            <modelIds>
                                <modelId>myfaces-html5-core</modelId>
                            </modelIds>
                        </configuration>
                        <goals>
                            <goal>make-config</goal>
                        </goals>
                    </execution>

                    <!-- generate <hx> Facelets taglib.xml -->
                    <execution>
                        <id>make-html5-hx-taglib</id>
                        <configuration>
                            <xmlFile>META-INF/html5-hx.taglib.xml</xmlFile>
                            <xmlBaseFile>src/main/resources/META-INF/facelets-taglib-base.xml</xmlBaseFile>
                            <templateFile>facelets-taglib20.vm</templateFile>
                            <params>
                                <shortname>hx</shortname>
                                <uri>http://myfaces.apache.org/html5/html</uri>
                            </params>
                            <modelIds>
                                <modelId>myfaces-html5-core</modelId>
                            </modelIds>
                        </configuration>
                        <goals>
                            <goal>make-config</goal>
                        </goals>
                    </execution>

                    <!-- generate <fx> JSP tld file -->
                    <execution>
                        <id>make-html5-fx-tld</id>
                        <configuration>
                            <outputDirectory>${project.build.directory}/tlddoc-facelets</outputDirectory>
                            <xmlFile>META-INF/html5-fx.tld</xmlFile>
                            <xmlBaseFile>src/main/resources/META-INF/jsp-tld-base.tld</xmlBaseFile>
                            <templateFile>jsp-tld.vm</templateFile>
                            <params>
                                <shortname>fx</shortname>
                                <uri>http://myfaces.apache.org/html5/core</uri>
                                <displayname>HTML5 Core Comp Lib.</displayname>
                                <description>HTML5 core component library for MyFaces.</description>
                            </params>
                            <modelIds>
                                <modelId>myfaces-html5-core</modelId>
                            </modelIds>
                        </configuration>
                        <goals>
                            <goal>make-config</goal>
                        </goals>
                    </execution>

                    <!-- generate <fx> Facelets taglib.xml -->
                    <execution>
                        <id>make-html5-fx-taglib</id>
                        <configuration>
                            <xmlFile>META-INF/html5-fx.taglib.xml</xmlFile>
                            <xmlBaseFile>src/main/resources/META-INF/facelets-taglib-base.xml</xmlBaseFile>
                            <templateFile>facelets-taglib20.vm</templateFile>
                            <params>
                                <shortname>fx</shortname>
                                <uri>http://myfaces.apache.org/html5/core</uri>
                            </params>
                            <modelIds>
                                <modelId>myfaces-html5-core</modelId>
                            </modelIds>
                        </configuration>
                        <goals>
                            <goal>make-config</goal>
                        </goals>
                    </execution>

                    <!-- generate <hx> JSP tld file -->
                    <execution>
                        <id>make-html5-hx-tld-forsite</id>
                        <phase>site</phase>
                        <configuration>
                            <outputDirectory>${project.build.directory}/tlddoc-facelets</outputDirectory>
                            <xmlFile>META-INF/html5-hx.tld</xmlFile>
                            <xmlBaseFile>src/main/resources/META-INF/jsp-tld-base.tld</xmlBaseFile>
                            <templateFile>jsp-tld.vm</templateFile>
                            <params>
                                <shortname>hx</shortname>
                                <uri>http://myfaces.apache.org/html5/html</uri>
                                <displayname>HTML5 Html Comp Lib.</displayname>
                                <description>HTML5 Html component library for MyFaces.</description>
                            </params>
                            <modelIds>
                                <modelId>myfaces-html5-core</modelId>
                            </modelIds>
                        </configuration>
                        <goals>
                            <goal>make-config</goal>
                        </goals>
                    </execution>
                    <!-- generate <fx> JSP tld file -->
                    <execution>
                        <id>make-html5-fx-tld-forsite</id>
                        <phase>site</phase>
                        <configuration>
                            <outputDirectory>${project.build.directory}/tlddoc-facelets</outputDirectory>
                            <xmlFile>META-INF/html5-fx.tld</xmlFile>
                            <xmlBaseFile>src/main/resources/META-INF/jsp-tld-base.tld</xmlBaseFile>
                            <templateFile>jsp-tld.vm</templateFile>
                            <params>
                                <shortname>fx</shortname>
                                <uri>http://myfaces.apache.org/html5/core</uri>
                                <displayname>HTML5 Core Comp Lib.</displayname>
                                <description>HTML5 core component library for MyFaces.</description>
                            </params>
                            <modelIds>
                                <modelId>myfaces-html5-core</modelId>
                            </modelIds>
                        </configuration>
                        <goals>
                            <goal>make-config</goal>
                        </goals>
                    </execution>

                </executions>
            </plugin>
        </plugins>
    </build>

    <profiles>
        <profile>
            <!--
            - Whenever the facelets doc will be generated, need to use the command
            -   mvn -Pgenerate-site site
            -->
            <id>generate-site</id>
            <build>
                <plugins>
                    <!-- 
                        -Executions on this plugin is necessary to generate facelets tag doc. 
                        -Running the install and site with generate-site profile fails since these executions is run already on install phase!
                        -So, for facelets documentation, only need to run site goal!
                    -->

                    <plugin>
                        <groupId>org.apache.myfaces.buildtools</groupId>
                        <artifactId>myfaces-builder-plugin</artifactId>
                        <version>${myfaces-builder-plugin-version}</version>
                        <executions>
                            <!-- first, build metadata. facelets tag documentation will be generated from this. -->
                            <!-- 
                            <execution>
                                <id>build-html5-metadata-forsite</id>
                                <phase>site</phase>
                                <goals>
                                    <goal>build-metadata</goal>
                                </goals>
                            </execution> -->
                            <execution>
                                <id>site-tagdoc-content</id>
                                <configuration>
                                    <modelIds>
                                        <modelId>myfaces-html5-core</modelId>
                                    </modelIds>
                                    <taglibs>
                                        <fx>http://myfaces.apache.org/html5/core</fx>
                                        <hx>http://myfaces.apache.org/html5/html</hx>
                                    </taglibs>
                                </configuration>
                                <goals>
                                    <goal>tagdoc-content</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>

                </plugins>
            </build>

            <reporting>
                <plugins>
                    <!-- Facelets doc generation! -->
                    <plugin>
                        <groupId>net.sourceforge.maven-taglib</groupId>
                        <artifactId>maven-taglib-plugin</artifactId>
                        <version>2.4</version>
                        <configuration>
                            <!-- 
                                <taglib.src.dir>${basedir}/target/classes/META-INF</taglib.src.dir> -->
                            <srcDir>${basedir}/target/tlddoc-facelets</srcDir>
                            <!--
                           <tldDocDir>${basedir}/target/site/tlddoc-facelets</tldDocDir>
                            -->
                            <tldDocDir>${basedir}/target/site/tlddoc</tldDocDir>
                        </configuration>
                    </plugin>

                    <!-- trigger tagdoc-index report -->
                    <plugin>
                        <groupId>org.apache.myfaces.buildtools</groupId>
                        <artifactId>myfaces-builder-plugin</artifactId>
                        <reportSets>
                            <reportSet>
                                <configuration>
                                    <modelIds>
                                        <modelId>myfaces-html5-core</modelId>
                                    </modelIds>
                                    <taglibs>
                                        <fx>http://myfaces.apache.org/html5/core</fx>
                                        <hx>http://myfaces.apache.org/html5/html</hx>
                                    </taglibs>
                                </configuration>
                                <reports>
                                    <report>tagdoc-index</report>
                                </reports>
                            </reportSet>
                        </reportSets>
                    </plugin>
                </plugins>
            </reporting>

        </profile>
    </profiles>

    <properties>
        <myfaces-commons20-version>1.0.1</myfaces-commons20-version>
        <myfaces-builder-plugin-version>1.0.8</myfaces-builder-plugin-version>
        <myfaces-builder-annotations-version>1.0.5</myfaces-builder-annotations-version>
    </properties>

</project>