blob: 33c34eaf5f2369e603a4d2924073511d7eab3511 [file] [log] [blame]
<?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">
<parent>
<groupId>org.apache.myfaces.core</groupId>
<artifactId>myfaces-core-project</artifactId>
<version>2.0.3</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.myfaces.core</groupId>
<artifactId>myfaces-impl</artifactId>
<name>Apache MyFaces JSF-2.0 Core Impl</name>
<description>
The private implementation classes of the Apache MyFaces Core JSF-2.0 Implementation
</description>
<url>http://myfaces.apache.org/core20/myfaces-impl</url>
<scm>
<connection>scm:svn:http://svn.apache.org/repos/asf/myfaces/core/tags/myfaces-core-project-2.0.3/impl</connection>
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/myfaces/core/tags/myfaces-core-project-2.0.3/impl</developerConnection>
<url>http://svn.apache.org/repos/asf/myfaces/core/tags/myfaces-core-project-2.0.3/impl</url>
</scm>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>**/*.vm</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources-facesconfig</directory>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.myfaces.buildtools</groupId>
<artifactId>myfaces-builder-plugin</artifactId>
<executions>
<execution>
<id>makemyfacesmetadata</id>
<configuration>
<sourceDirectories>
<dir>${basedir}/src/main/java</dir>
<dir>${project.build.directory}/shared_sources</dir>
</sourceDirectories>
</configuration>
<goals>
<goal>build-metadata</goal>
</goals>
</execution>
<execution>
<id>makefacesconfig</id>
<configuration>
<templateFile>faces-config20.vm</templateFile>
<xmlFile>META-INF/standard-faces-config.xml</xmlFile>
<xmlBaseFile>src/main/conf/META-INF/standard-faces-config-base.xml</xmlBaseFile>
<modelIds>
<modelId>myfaces-api</modelId>
<modelId>myfaces-impl</modelId>
</modelIds>
</configuration>
<goals>
<goal>make-config</goal>
</goals>
</execution>
<execution>
<id>make_tags</id>
<configuration>
<jsfVersion>12</jsfVersion>
<templateTagName>tagClass12.vm</templateTagName>
<packageContains>org.apache</packageContains>
<typePrefix>javax.faces</typePrefix>
<modelIds>
<modelId>myfaces-api</modelId>
</modelIds>
</configuration>
<goals>
<goal>make-tags</goal>
</goals>
</execution>
<execution>
<id>makecoretld</id>
<configuration>
<xmlFile>META-INF/myfaces_core.tld</xmlFile>
<xmlBaseFile>src/main/conf/META-INF/myfaces_core-base.tld</xmlBaseFile>
<templateFile>myfaces_core12.vm</templateFile>
<modelIds>
<modelId>myfaces-api</modelId>
<modelId>myfaces-impl</modelId>
</modelIds>
<params>
<shortname>f</shortname>
<uri>http://java.sun.com/jsf/core</uri>
<displayname>JSF core tag library.</displayname>
<description>This tag library implements the standard JSF core tags.</description>
</params>
</configuration>
<goals>
<goal>make-config</goal>
</goals>
</execution>
<execution>
<id>makehtmltld</id>
<configuration>
<xmlFile>META-INF/myfaces_html.tld</xmlFile>
<xmlBaseFile>src/main/conf/META-INF/myfaces_html-base.tld</xmlBaseFile>
<templateFile>myfaces_html12.vm</templateFile>
<params>
<shortname>h</shortname>
<uri>http://java.sun.com/jsf/html</uri>
<displayname>JSF HTML tag library.</displayname>
<description>This tag library implements the standard JSF HTML tags.</description>
</params>
<modelIds>
<modelId>myfaces-api</modelId>
</modelIds>
</configuration>
<goals>
<goal>make-config</goal>
</goals>
</execution>
<!-- To generate facelet taglib doc we need to create alternate facelets files
so taglibdoc goal can extract the required information and create html files.
We put this one here temporally but generate-assembly profile should trigger
this execution tasks too. -->
<execution>
<id>make_core_facelet_tld</id>
<configuration>
<outputDirectory>${project.build.directory}/tlddoc-facelets</outputDirectory>
<xmlFile>myfaces_facelets_core.tld</xmlFile>
<xmlBaseFile>src/main/conf/META-INF/myfaces_core-base.tld</xmlBaseFile>
<templateFile>myfaces_facelet_core20.vm</templateFile>
<modelIds>
<modelId>myfaces-api</modelId>
<modelId>myfaces-impl</modelId>
</modelIds>
<params>
<shortname>f</shortname>
<uri>http://java.sun.com/jsf/core</uri>
<displayname>JSF Core Facelets Tag Library.</displayname>
<description>This tag library implements the standard JSF core tags for Facelets.</description>
</params>
</configuration>
<goals>
<goal>make-config</goal>
</goals>
</execution>
<execution>
<id>make_html_facelet_tld</id>
<configuration>
<outputDirectory>${project.build.directory}/tlddoc-facelets</outputDirectory>
<xmlFile>myfaces_facelets_html.tld</xmlFile>
<xmlBaseFile>src/main/conf/META-INF/myfaces_html-base.tld</xmlBaseFile>
<templateFile>myfaces_facelet_html20.vm</templateFile>
<modelIds>
<modelId>myfaces-api</modelId>
<modelId>myfaces-impl</modelId>
</modelIds>
<params>
<shortname>h</shortname>
<uri>http://java.sun.com/jsf/html</uri>
<displayname>JSF HTML Facelets Tag Library.</displayname>
<description>This tag library implements the standard JSF HTML tags for Facelets.</description>
</params>
</configuration>
<goals>
<goal>make-config</goal>
</goals>
</execution>
<execution>
<id>make_c_facelet_tld</id>
<configuration>
<outputDirectory>${project.build.directory}/tlddoc-facelets</outputDirectory>
<xmlFile>myfaces_facelets_c.tld</xmlFile>
<xmlBaseFile>src/main/conf/META-INF/myfaces_html-base.tld</xmlBaseFile>
<templateFile>myfaces_facelet_html20.vm</templateFile>
<modelIds>
<modelId>myfaces-api</modelId>
<modelId>myfaces-impl</modelId>
</modelIds>
<params>
<shortname>c</shortname>
<uri>http://java.sun.com/jsp/jstl/core</uri>
<displayname>JSTL core Facelets Tag Library.</displayname>
<description>JSTL core Facelets Tag Library.</description>
</params>
</configuration>
<goals>
<goal>make-config</goal>
</goals>
</execution>
<execution>
<id>make_ui_facelet_tld</id>
<configuration>
<outputDirectory>${project.build.directory}/tlddoc-facelets</outputDirectory>
<xmlFile>myfaces_facelets_ui.tld</xmlFile>
<xmlBaseFile>src/main/conf/META-INF/myfaces_ui-base.tld</xmlBaseFile>
<templateFile>myfaces_facelet_html20.vm</templateFile>
<modelIds>
<modelId>myfaces-api</modelId>
<modelId>myfaces-impl</modelId>
</modelIds>
<params>
<shortname>ui</shortname>
<uri>http://java.sun.com/jsf/facelets</uri>
<displayname>JSF UI Facelets Tag Library.</displayname>
<description>JSF UI Facelets Tag Library.</description>
</params>
</configuration>
<goals>
<goal>make-config</goal>
</goals>
</execution>
<execution>
<id>make_composite_facelet_tld</id>
<configuration>
<outputDirectory>${project.build.directory}/tlddoc-facelets</outputDirectory>
<xmlFile>myfaces_facelets_composite.tld</xmlFile>
<xmlBaseFile>src/main/conf/META-INF/myfaces_html-base.tld</xmlBaseFile>
<templateFile>myfaces_facelet_html20.vm</templateFile>
<modelIds>
<modelId>myfaces-api</modelId>
<modelId>myfaces-impl</modelId>
</modelIds>
<params>
<shortname>composite</shortname>
<uri>http://java.sun.com/jsf/composite</uri>
<displayname>JSF Composite Facelets Tag Library.</displayname>
<description>JSF Composite Facelets Tag Library.</description>
</params>
</configuration>
<goals>
<goal>make-config</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>copy_fn_tld</id>
<phase>process-resources</phase>
<configuration>
<tasks>
<copy todir="${project.build.directory}/tlddoc-facelets" flatten="true" overwrite="true" verbose="true" failonerror="true">
<fileset dir="${basedir}/src/main/conf/META-INF" includes="myfaces_facelet_fn.tld" />
</copy>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-source-plugin</artifactId>
<version>2.0.4</version>
<executions>
<execution>
<id>attach-source</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>2.2</version>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
<configuration>
<archive>
<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
</archive>
</configuration>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.5</version>
<configuration>
<!-- Only run JUnit tests -->
<testNGArtifactName>none:none</testNGArtifactName>
<excludes>
<exclude>**/JspStateManagerImplTest*</exclude>
<exclude>**/DefaultViewHandlerSupportTest*</exclude>
<exclude>**/ApplicationImplTest*</exclude>
</excludes>
</configuration>
<!--
<executions>
<execution>
<phase>test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<testNGArtifactName>none:none</testNGArtifactName>
<excludes>
<exclude>**/CompositeELResolverTest*</exclude>
<exclude>**/TestResourceComponent*</exclude>
<exclude>**/ResolverBuilderBaseTest*</exclude>
<exclude>**/TestLifecycleProvider*</exclude>
<exclude>**/TestBean*</exclude>
<exclude>**/TestLifecycleProvider2*</exclude>
<exclude>**/TestAttributeBean*</exclude>
<exclude>**/TestDiscoverableLifecycleProvider*</exclude>
<exclude>**/JspStateManagerImplTest*</exclude>
<exclude>**/DefaultViewHandlerSupportTest*</exclude>
<exclude>**/ApplicationImplTest*</exclude>
</excludes>
</configuration>
</execution>
<execution>
<id>test-testng</id>
<phase>test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<junitArtifactName>none:none</junitArtifactName>
</configuration>
</execution>
</executions>
-->
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>2.2</version>
<configuration>
<archive>
<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>1.3.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
<configuration>
<createDependencyReducedPom>false</createDependencyReducedPom>
<createSourcesJar>true</createSourcesJar>
<artifactSet>
<includes>
<include>org.apache.myfaces.core:myfaces-impl-ee6</include>
</includes>
</artifactSet>
<filters>
<filter>
<artifact>org.apache.myfaces.core:myfaces-impl-ee6</artifact>
<includes>
<include>META-INF/services/**</include>
<include>org/apache/myfaces/**</include>
</includes>
<excludes>
<exclude>META-INF/LICENSE</exclude>
<exclude>META-INF/NOTICE</exclude>
<exclude>META-INF/DEPENDENCIES</exclude>
<exclude>META-INF/MANIFEST.MF</exclude>
</excludes>
</filter>
</filters>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>2.1.0</version>
<executions>
<execution>
<id>bundle-manifest</id>
<phase>process-classes</phase>
<goals>
<goal>manifest</goal>
</goals>
<configuration>
<instructions>
<Bundle-SymbolicName>org.apache.myfaces.core.impl</Bundle-SymbolicName>
<Bundle-Classpath>.</Bundle-Classpath>
<Build-Jdk>${java.version}</Build-Jdk>
<Implementation-Title>${project.name}</Implementation-Title>
<Implementation-Version>${project.version}</Implementation-Version>
<Implementation-Vendor>The Apache Software Foundation</Implementation-Vendor>
<Implementation-Vendor-Id>${project.groupId}</Implementation-Vendor-Id>
<Export-Package>
*;version="${project.version}"
</Export-Package>
<Import-Package>
!org.apache.myfaces.*,
com.google.inject;version="[1.0.0, 2.0.0)";resolution:=optional,
javax.annotation,
javax.crypto,
javax.crypto.spec,
javax.ejb;resolution:=optional,
javax.el;version="[1.0.0, 3.0.0)",
javax.naming,
javax.persistence;version="[1.0.0, 2.1)";resolution:=optional,
javax.portlet;version="[1.0.0, 2.1)";resolution:=optional,
javax.servlet;version="[2.5.0, 3.1)",
javax.servlet.http;version="[2.5.0, 3.1)",
javax.servlet.jsp;version="[2.1.0, 3.1)",
javax.servlet.jsp.jstl.core;version="[1.1.2, 2.0.0)",
javax.servlet.jsp.tagext;version="[2.1.0, 3.1)",
javax.servlet.annotation;resolution:=optional,
javax.xml.parsers,
org.apache;resolution:=optional,
org.apache.commons.beanutils;version="[1.8.3, 2.0.0)",
org.apache.commons.codec.binary;version="[1.3.0, 2.0.0)",
org.apache.commons.collections.map;version="[3.2.0, 4.0.0)",
org.apache.commons.digester;version="[1.8.0, 2.0.0)",
org.apache.commons.logging;version="[1.1.1, 2.0.0)",
org.w3c.dom,
org.xml.sax,
org.xml.sax.helpers,
org.apache.jasper.compiler;resolution:=optional,
org.apache.jasper.el;resolution:=optional,
org.apache.el;resolution:=optional,
org.apache.tomcat;resolution:=optional,
javax.faces.*;version="${project.version}",
*
</Import-Package>
</instructions>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<!-- This profile use a shared dependency rather than unpack the
code directly. The ideal is that this profile is active when the
version of this library is snapshot, but unfortunately there is
no way to activate it (see http://jira.codehaus.org/browse/MNG-3826).
Existing problems on maven 2.0.x architecture makes impossible do it.
For now the solution is trigger it manually using the property
-Ddev=true -->
<id>add-shared-dependency</id>
<activation>
<property>
<name>dev</name>
<value>true</value>
</property>
</activation>
<dependencies>
<dependency>
<groupId>org.apache.myfaces.shared</groupId>
<artifactId>myfaces-shared-impl</artifactId>
<version>${myfaces-shared.version}</version>
<scope>compile</scope>
</dependency>
</dependencies>
</profile>
<profile>
<id>unpack-shared-implee6</id>
<activation>
<property>
<name>!dev</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<!--
- The shared-impl project generates a modified version of the "shared" module
- source and classes. The result is a jar full of files in the "shared_impl"
- package that we can merge into the jar for this project.
-->
<!--
- The implee6 project contains classes which need Java EE 6 dependencies.
- The result is a jar that we can merge into the jar for this project.
-->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.0</version>
<executions>
<execution>
<id>unpack-shared-impl</id>
<phase>process-classes</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.apache.myfaces.shared</groupId>
<artifactId>myfaces-shared-impl</artifactId>
<version>${myfaces-shared.version}</version>
<!-- we need to include META-INF/resources and META-INF/internal-resources -->
<excludes>META-INF/DEPENDENCIES,META-INF/LICENSE,META-INF/NOTICE,META-INF/MANIFEST.MF</excludes>
</artifactItem>
</artifactItems>
<outputDirectory>${project.build.directory}/classes</outputDirectory>
</configuration>
</execution>
<execution>
<id>unpack-shared-impl-sources</id>
<phase>process-sources</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.apache.myfaces.shared</groupId>
<artifactId>myfaces-shared-impl</artifactId>
<version>${myfaces-shared.version}</version>
<classifier>sources</classifier>
<excludes>META-INF/**</excludes>
</artifactItem>
</artifactItems>
<outputDirectory>${project.build.directory}/shared_sources</outputDirectory>
</configuration>
</execution>
<execution>
<id>unpack-impl-ee6</id>
<phase>process-resources</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.apache.myfaces.core</groupId>
<artifactId>myfaces-impl-ee6</artifactId>
<version>${project.version}</version>
</artifactItem>
</artifactItems>
<!-- Just include the .class files in org/** and the META-INF/services directory -->
<!-- <includes>org/**,META-INF/services/**</includes> -->
<!-- Only need copy .class, because maven shade plugin will do it at package
and maven-bundle-plugin requires it to include this entre on the manifest -->
<includes>org/**</includes>
<outputDirectory>${project.build.directory}/classes</outputDirectory>
</configuration>
</execution>
<!--
<execution>
<id>unpack-impl-ee6-sources</id>
<phase>process-resources</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.apache.myfaces.core</groupId>
<artifactId>myfaces-impl-ee6</artifactId>
<version>${project.version}</version>
<classifier>sources</classifier>
</artifactItem>
</artifactItems>
-->
<!-- Just include the .java files in org/** and the META-INF/services directory -->
<!--
<includes>org/**,META-INF/services/**</includes>
<outputDirectory>${project.build.directory}/implee6_sources</outputDirectory>
</configuration>
</execution>
-->
</executions>
</plugin>
<plugin>
<!--
- Add the unpacked shared sources directory as source directory into the pom datastructure,
- so that the -source jar includes them too; every .class file in the jar should have its
- source in the -source jar.
-->
<!--
- Add the unpacked implee6 sources directory as source directory into the pom datastructure,
- so that the -source jar includes them too; every .class file in the jar should have its
- source in the -source jar.
- This has to happen after the "real" sources have been compiled, otherwise the compilation
- would fail because of wrong dependencies.
-->
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<id>add-source-shared</id>
<phase>process-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>${project.build.directory}/shared_sources</source>
<!--
<source>${project.build.directory}/implee6_sources</source>
-->
</sources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- <profile> No longer necessary by use of maven shade plugin -->
<!-- USAGE: mvn eclipse:eclipse -Ddev=eclipse -->
<!--
<id>eclipse-with-unpacked-shared</id>
<activation>
<property>
<name>dev</name>
<value>eclipse</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<id>add-source-shared</id>
<phase>process-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>${project.build.directory}/shared_sources</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
-->
<profile>
<!--
- Whenever the full website is generated, the command
- mvn -Pgenerate-site -Pgenerate-tlddoc site
- should be used. This will create the "tlddoc" directory containing
- nicely-formatted versions of the docs in the jsp taglib file, ie
- docs on all the available tags and their properties.
-->
<id>generate-site</id>
<build>
<plugins>
<plugin>
<!-- Generate content for custom tagdoc report -->
<groupId>org.apache.myfaces.buildtools</groupId>
<artifactId>myfaces-builder-plugin</artifactId>
<executions>
<execution>
<id>site-tagdoc-content</id>
<configuration>
<modelIds>
<modelId>myfaces-api</modelId>
<modelId>myfaces-impl</modelId>
</modelIds>
<taglibs>
<f>http://java.sun.com/jsf/core</f>
<h>http://java.sun.com/jsf/html</h>
</taglibs>
</configuration>
<goals><goal>tagdoc-content</goal></goals>
</execution>
<execution>
<id>site-web-config</id>
<configuration>
<templateFile>xdoc-web-config.vm</templateFile>
<outputDirectory>${project.build.directory}/generated-site/xdoc</outputDirectory>
<xmlFile>webconfig.xml</xmlFile>
<modelIds>
<modelId>myfaces-api</modelId>
<modelId>myfaces-impl</modelId>
</modelIds>
</configuration>
<goals>
<goal>make-config</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<!-- Unfortunately we can't execute the same report twice, so
we have to generate this files outside report generation. -->
<groupId>net.sourceforge.maven-taglib</groupId>
<artifactId>maven-taglib-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<id>tlddoc-facelets</id>
<phase>site</phase>
<goals>
<goal>taglibdoc</goal>
</goals>
<inherited>false</inherited>
<configuration>
<title>${project.name} Tag library documentation for Facelets</title>
<srcDir>${basedir}/target/tlddoc-facelets</srcDir>
<tldDocDir>${basedir}/target/site/tlddoc-facelets</tldDocDir>
</configuration>
</execution>
<execution>
<id>tlddoc-jsp</id>
<phase>site</phase>
<goals>
<goal>taglibdoc</goal>
</goals>
<inherited>false</inherited>
<configuration>
<taglib.src.dir>${basedir}/target/classes/META-INF</taglib.src.dir>
<tldDocDir>${basedir}/target/site/tlddoc</tldDocDir>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<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>
<tldDocDir>${basedir}/target/site/tlddoc</tldDocDir>
</configuration>
</plugin>
<plugin>
<!-- trigger tagdoc-index report -->
<groupId>org.apache.myfaces.buildtools</groupId>
<artifactId>myfaces-builder-plugin</artifactId>
<reportSets>
<reportSet>
<configuration>
<modelIds>
<modelId>myfaces-api</modelId>
<modelId>myfaces-impl</modelId>
</modelIds>
<taglibs>
<f>http://java.sun.com/jsf/core</f>
<h>http://java.sun.com/jsf/html</h>
</taglibs>
</configuration>
<reports><report>tagdoc-index</report></reports>
</reportSet>
</reportSets>
</plugin>
</plugins>
</reporting>
</profile>
<profile>
<!--
- Whenever files are deployed to a snapshot or release repository,
- mvn -Pgenerate-assembly deploy
- should be used. This will create additional artifacts that are
- useful but too time-consuming to create when just doing a local
- "mvn install" operation.
-->
<id>generate-assembly</id>
<activation>
<property>
<name>performRelease</name>
<value>true</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.3</version>
<configuration>
<excludePackageNames>org.apache.myfaces.ee6</excludePackageNames>
</configuration>
<executions>
<execution>
<id>attach-javadoc</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>net.sourceforge.maven-taglib</groupId>
<artifactId>maven-taglib-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<id>tlddoc-facelets</id>
<!-- TODO: The phase value should be "site", but since we are not released yet
and this documentation is used to implement jsf 2.0, we put this one
on site so just doing mvn -Pgenerate-site install we can create this
javadoc -->
<phase>process-resources</phase>
<goals>
<goal>taglibdoc</goal>
</goals>
<inherited>false</inherited>
<configuration>
<title>${project.name} Tag library documentation for Facelets</title>
<srcDir>${basedir}/target/tlddoc-facelets</srcDir>
<tldDocDir>${basedir}/target/site/tlddoc-facelets</tldDocDir>
</configuration>
</execution>
<execution>
<id>tlddoc-jsp</id>
<phase>process-resources</phase>
<goals>
<goal>taglibdoc</goal>
</goals>
<inherited>false</inherited>
<configuration>
<taglib.src.dir>${basedir}/target/classes/META-INF</taglib.src.dir>
<tldDocDir>${basedir}/target/site/tlddoc</tldDocDir>
</configuration>
</execution>
<execution>
<id>attach-tlddoc</id>
<goals>
<goal>taglibdocjar</goal>
</goals>
<configuration>
<tldDocDir>${basedir}/target/site/tlddoc</tldDocDir>
</configuration>
</execution>
<execution>
<id>attach-tlddoc-facelets</id>
<goals>
<goal>taglibdocjar</goal>
</goals>
<configuration>
<attach>false</attach>
<tldDocDir>${basedir}/target/site/tlddoc-facelets</tldDocDir>
<tlddocJar>${basedir}/target/${artifactId}-${version}-facelets-tlddoc.jar</tlddocJar>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<id>attach-artifacts</id>
<phase>package</phase>
<goals>
<goal>attach-artifact</goal>
</goals>
<configuration>
<artifacts>
<artifact>
<file>${basedir}/target/${artifactId}-${version}-facelets-tlddoc.jar</file>
<type>jar</type>
<classifier>facelets-tlddoc</classifier>
</artifact>
</artifacts>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>checkJDK</id>
<activation>
<property>
<name>performRelease</name>
<value>true</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.jvnet</groupId>
<artifactId>animal-sniffer</artifactId>
<version>1.2</version>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
<configuration>
<signature>
<groupId>org.jvnet.animal-sniffer</groupId>
<artifactId>java1.5</artifactId>
<version>1.0</version>
</signature>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<pluginRepositories>
<pluginRepository>
<id>java.net.repo</id>
<name>java.net repository</name>
<url>http://download.java.net/maven/2/</url>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<dependencies>
<dependency>
<groupId>org.apache.myfaces.core</groupId>
<artifactId>myfaces-api</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<!-- this dependency will be packed together with the main artifact of this pom -->
<groupId>org.apache.myfaces.shared</groupId>
<artifactId>myfaces-shared-impl</artifactId>
<version>${myfaces-shared.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<!-- el-api 2.1 is included in jsp-api, so this one has to be on top of it -->
<groupId>javax.el</groupId>
<artifactId>el-api</artifactId>
<version>2.2</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<!-- version defined in parent -->
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>portlet-api</groupId>
<artifactId>portlet-api</artifactId>
<!-- version defined in parent -->
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-annotation_1.0_spec</artifactId>
<!-- version defined in parent -->
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-jpa_3.0_spec</artifactId>
<version>1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-ejb_3.0_spec</artifactId>
<version>1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2</version>
</dependency>
<!-- dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.1</version>
</dependency -->
<!--
<dependency>
<groupId>commons-discovery</groupId>
<artifactId>commons-discovery</artifactId>
<version>0.4</version>
</dependency>
-->
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.3</version>
</dependency>
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.8.3</version>
</dependency>
<dependency>
<groupId>commons-digester</groupId>
<artifactId>commons-digester</artifactId>
<version>1.8</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>catalina</artifactId>
<version>6.0.13</version>
<scope>compile</scope> <!-- optional=true needs compile-scope -->
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-catalina</artifactId>
<version>7.0.0</version>
<scope>compile</scope> <!-- optional=true needs compile-scope -->
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.apache.myfaces.buildtools</groupId>
<artifactId>myfaces-builder-annotations</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.0.CR3</version>
<optional>true</optional>
</dependency>
<!-- maven-shade-plugin will exclude this dependency automatically -->
<dependency>
<groupId>org.apache.myfaces.core</groupId>
<artifactId>myfaces-impl-ee6</artifactId>
<version>${project.version}</version>
<optional>true</optional>
</dependency>
<!-- TEST DEPENDENCIES -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<classifier>jdk15</classifier>
<version>5.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.myfaces.core</groupId>
<artifactId>myfaces-api</artifactId>
<classifier>tests</classifier>
<version>${project.version}</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>
<!-- We need a real EL implementation for test ui:param tag,
because myfaces-test MockExpressionFactory is not designed to
handle VariableMapper stuff (see IncludeParamTestCase) -->
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>el-api</artifactId>
<version>6.0.28</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>jasper-el</artifactId>
<version>6.0.28</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>cactus</groupId>
<artifactId>cactus</artifactId>
<version>13-1.7.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.easymock</groupId>
<artifactId>easymock</artifactId>
<version>2.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.easymock</groupId>
<artifactId>easymockclassextension</artifactId>
<version>2.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.code.guice</groupId>
<artifactId>guice</artifactId>
<version>1.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
<reporting>
<plugins>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<excludePackageNames>org.apache.myfaces.ee6</excludePackageNames>
</configuration>
</plugin>
<plugin>
<artifactId>maven-changelog-plugin</artifactId>
<version>2.2</version>
<reportSets>
<reportSet>
<id>dual-report</id>
<configuration>
<type>range</type>
<range>30</range>
</configuration>
<reports>
<report>changelog</report>
<report>file-activity</report>
<report>dev-activity</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<plugin>
<artifactId>maven-jxr-plugin</artifactId>
<version>2.2</version>
</plugin>
<plugin>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>2.5</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>taglist-maven-plugin</artifactId>
<version>2.4</version>
</plugin>
<!-- override PMD settings to set targetJdk -->
<plugin>
<artifactId>maven-pmd-plugin</artifactId>
<configuration>
<rulesets>
<ruleset>/rulesets/basic.xml</ruleset>
<ruleset>/rulesets/unusedcode.xml</ruleset>
</rulesets>
<linkXref>true</linkXref>
<minimumTokens>100</minimumTokens>
<targetJdk>1.5</targetJdk>
<excludes>
<!-- these class make the PMD plugin crash (NullPointerException). -->
<exclude>org/apache/myfaces/el/convert/PropertyResolverToELResolver.java</exclude>
<exclude>org/apache/myfaces/el/PropertyResolverImpl.java</exclude>
</excludes>
</configuration>
<reportSets>
<reportSet>
<reports>
<report>pmd</report>
<report>cpd</report>
</reports>
</reportSet>
</reportSets>
</plugin>
</plugins>
</reporting>
<repositories>
<repository>
<id>tomcat</id>
<url>http://tomcat.apache.org/dev/dist/m2-repository</url>
</repository>
</repositories>
</project>