<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>com.github.albfernandez.seam</groupId>
		<artifactId>jboss-seam-parent</artifactId>
		<version>3.2.26.ayg</version>
		<relativePath>../pom.xml</relativePath>
	</parent>

	<artifactId>jboss-seam</artifactId>
	<packaging>ejb</packaging>
	<name>Seam Core JSF2</name>
	<description>Seam core module for Seam framework integrated with JSF2</description>
	
	<properties>
	  <main.basedir>${project.parent.basedir}</main.basedir>
	  <automatic.module.name>com.github.albfernandez.seam.core</automatic.module.name>
	</properties>	

	<build>
        <plugins>            
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <artifactId>maven-clean-plugin</artifactId>
                <version>${version.clean.plugin}</version>
                <configuration>
                    <filesets>
                        <fileset>
                            <directory>../</directory>
                            <includes>
                                <include>jar-dependencies/*</include>
                            </includes>
                      </fileset>
                    </filesets>
                </configuration>
            </plugin>
            <plugin>
               <artifactId>maven-surefire-plugin</artifactId>
               <version>${version.surefire.plugin}</version>
                   <configuration>
                       <suiteXmlFiles>
                           <suiteXmlFile>${basedir}/src/test/java/org/jboss/seam/test/unit/testng.xml</suiteXmlFile>
                       </suiteXmlFiles>
                   </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-javadoc-plugin</artifactId>                
                <configuration>
                	<source>8</source>
                    <links>
                        <link>https://docs.oracle.com/javase/7/docs/api/</link>
                    </links>
                    <keywords>true</keywords>
                    <author>true</author>
                    <doctitle>JBoss Seam ${project.name} API ${project.version}</doctitle> <!-- Used by javadoc:javadoc goal -->
                    <detectOfflineLinks>false</detectOfflineLinks>
                   <additionalOptions>${javadoc.opts}</additionalOptions>
                   <failOnError>false</failOnError>
                   <failOnWarnings>false</failOnWarnings>
                </configuration>
                <executions>
                    <execution>
                        <id>attach-javadocs</id>
                        <phase>package</phase>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
             </plugin>
            <plugin>
                <artifactId>maven-antrun-plugin</artifactId>
                <version>${version.antrun.plugin}</version>
                <configuration>
                    <target>
                        <jar destfile="${project.build.directory}/${project.artifactId}-wls-compatible.jar">
                            <zipfileset includes="**/*" excludes="org/jboss/seam/async/TimerServiceDispatcher*" src="${project.build.directory}/${project.artifactId}.jar" />
                            <manifest>
                                <attribute name="Built-By" value="${user.name}" />
                                <attribute name="Implementation-Vendor" value="${project.organization.name}" />
                                <attribute name="Implementation-Title" value="JBoss Seam JSF2 Weblogic compatible" />
                                <attribute name="Implementation-Version" value="${project.version}" />
                            </manifest>
                        </jar>
                        <jar destfile="${project.build.directory}/${project.artifactId}-wls-compatible-sources.jar">
                            <zipfileset includes="**/*" excludes="org/jboss/seam/async/TimerServiceDispatcher.java" src="${project.build.directory}/${project.artifactId}-sources.jar" />
                            <manifest>
                                <attribute name="Built-By" value="${user.name}" />
                                <attribute name="Implementation-Vendor" value="${project.organization.name}" />
                                <attribute name="Implementation-Title" value="JBoss Seam JSF2 Weblogic compatible" />
                                <attribute name="Implementation-Version" value="${project.version}" />
                            </manifest>
                        </jar>
                    </target>
                </configuration>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-checkstyle-plugin</artifactId>
            </plugin>
            <plugin>
			    <groupId>com.github.spotbugs</groupId>
			    <artifactId>spotbugs-maven-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-pmd-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<configuration>
					<archive>
						<manifestEntries>
							<Automatic-Module-Name>com.github.albfernandez.javadbf</Automatic-Module-Name>
						</manifestEntries>
						<manifest>
							<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
							<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
						</manifest>
					</archive>
				</configuration>
			</plugin>
            <plugin>
                <groupId>org.owasp</groupId>
                <artifactId>dependency-check-maven</artifactId>
            </plugin>
        </plugins>
    </build>

    <dependencies>
		<dependency>
			<groupId>commons-collections</groupId>
			<artifactId>commons-collections</artifactId>
		</dependency>
        

        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <optional>true</optional>
        </dependency>
		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-envers</artifactId>
			<optional>true</optional>
		</dependency>

        <!-- Maven's "nearest" dependency resolution doesn't take into account
            parent dependency management! -->


        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-validator</artifactId>
            <optional>true</optional>
        </dependency>

        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-search-orm</artifactId>
            <optional>true</optional>
        </dependency>

        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <optional>true</optional>
        </dependency>


        <dependency>
            <groupId>org.dom4j</groupId>
            <artifactId>dom4j</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>javax.portlet</groupId>
            <artifactId>portlet-api</artifactId>
            <optional>true</optional>
        </dependency>

        <dependency>
            <groupId>org.jboss.spec.javax.servlet</groupId>
            <artifactId>jboss-servlet-api_3.1_spec</artifactId>
            <optional>true</optional>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>javax.mail</groupId>
            <artifactId>javax.mail-api</artifactId>
            <optional>true</optional>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.sun.mail</groupId>
            <artifactId>javax.mail</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>javax.xml.ws</groupId>
            <artifactId>jaxws-api</artifactId>
            <optional>true</optional>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.jboss.spec.javax.servlet.jsp</groupId>
            <artifactId>jboss-jsp-api_2.3_spec</artifactId>
            <optional>true</optional>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.jboss.spec.javax.ejb</groupId>
            <artifactId>jboss-ejb-api_3.2_spec</artifactId>
            <optional>true</optional>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.jboss.spec.javax.interceptor</groupId>
            <artifactId>jboss-interceptors-api_1.2_spec</artifactId>
            <optional>true</optional>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>javax.xml.soap</groupId>
            <artifactId>saaj-api</artifactId>
            <optional>true</optional>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.jboss.spec.javax.jms</groupId>
            <artifactId>jboss-jms-api_2.0_spec</artifactId>
            <optional>true</optional>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>javax.annotation</groupId>
            <artifactId>jsr250-api</artifactId>
            <optional>true</optional>
            <scope>provided</scope>
        </dependency>


        <dependency>
            <groupId>org.codehaus.groovy</groupId>
            <artifactId>groovy-all</artifactId>
            <optional>true</optional>
        </dependency>

        <dependency>
		    <groupId>ch.qos.reload4j</groupId>
		    <artifactId>reload4j</artifactId>
            <optional>true</optional>
        </dependency>



        <dependency>
            <groupId>antlr</groupId>
            <artifactId>antlr</artifactId>
            <optional>true</optional>
        </dependency>



		<dependency>
			<groupId>net.sf.ehcache</groupId>
			<artifactId>ehcache-core</artifactId>
			<optional>true</optional>
		</dependency>


        <!-- Order matters of jboss:jboss-cache and org.jboss.cache:jbosscache-core -->

        <dependency>
            <groupId>jboss</groupId>
            <artifactId>jboss-cache</artifactId>
            <optional>true</optional>
        </dependency>

        <dependency>
            <groupId>org.jboss.cache</groupId>
            <artifactId>jbosscache-core</artifactId>
            <optional>true</optional>
        </dependency>



        <!-- This is actually a dep of jboss-cache, but it doesn't declare it -->
        <dependency>
            <groupId>jboss</groupId>
            <artifactId>jboss-jmx</artifactId>
            <optional>true</optional>
        </dependency>

        <dependency>
            <groupId>jboss</groupId>
            <artifactId>jboss-system</artifactId>
            <optional>true</optional>
        </dependency>

        <dependency>
            <groupId>org.drools</groupId>
            <artifactId>drools-core</artifactId>
            <optional>true</optional>
        </dependency>

        <dependency>
            <groupId>org.drools</groupId>
            <artifactId>drools-compiler</artifactId>
            <optional>true</optional>
        </dependency>

        <dependency>
            <groupId>org.drools</groupId>
            <artifactId>drools-templates</artifactId>
            <optional>true</optional>
        </dependency>

        <dependency>
            <groupId>org.drools</groupId>
            <artifactId>drools-decisiontables</artifactId>
            <optional>true</optional>
            <exclusions>
                <exclusion>
                    <groupId>jexcelapi</groupId>
                    <artifactId>jxl</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>net.sourceforge.jexcelapi</groupId>
            <artifactId>jxl</artifactId>
            <exclusions>
				<exclusion>
					<groupId>log4j</groupId>
					<artifactId>log4j</artifactId>
				</exclusion>
			</exclusions>
            <optional>true</optional>
        </dependency>

        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
        </dependency>

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
        </dependency>

        <dependency>
            <groupId>org.dbunit</groupId>
            <artifactId>dbunit</artifactId>
            <optional>true</optional>
        </dependency>

        <dependency>
            <groupId>com.github.albfernandez</groupId>
            <artifactId>jbpm-jpdl</artifactId>
            <optional>true</optional>
            <exclusions>
	            <exclusion>
					<groupId>commons-logging</groupId>
					<artifactId>commons-logging</artifactId>
				</exclusion>
                <exclusion>
                    <groupId>commons-collections</groupId>
                    <artifactId>commons-collections</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

		<dependency>
			<groupId>org.apache-extras.beanshell</groupId>
			<artifactId>bsh</artifactId>
			<optional>true</optional>
		</dependency>


        <dependency>
            <groupId>com.github.albfernandez</groupId>
            <artifactId>jboss-el</artifactId>
        </dependency>

        <dependency>
            <groupId>org.quartz-scheduler</groupId>
            <artifactId>quartz</artifactId>
            <optional>true</optional>
        </dependency>

        <dependency>
            <groupId>org.tuckey</groupId>
            <artifactId>urlrewritefilter</artifactId>
            <optional>true</optional>
            <scope>runtime</scope>
        </dependency>

        <dependency>
            <groupId>concurrent</groupId>
            <artifactId>concurrent</artifactId>
            <optional>true</optional>
        </dependency>

        <dependency>
            <groupId>org.openid4java</groupId>
            <artifactId>openid4java-consumer</artifactId>
            <type>pom</type>
            <optional>true</optional>
        </dependency>


        <dependency>
            <groupId>org.jboss.spec.javax.faces</groupId>
            <artifactId>jboss-jsf-api_2.2_spec</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>com.sun.faces</groupId>
            <artifactId>jsf-impl</artifactId>
            <optional>true</optional>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.glassfish</groupId>
            <artifactId>javax.el</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <profiles>
        <profile>
            <id>distribution</id>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-dependency-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>copy-dependencies</id>
                                <goals>
                                    <goal>copy-dependencies</goal>
                                </goals>
                                <phase>package</phase>
                                <configuration>
                                    <excludeGroupIds>com.github.albfernandez.seam</excludeGroupIds>
                                    <excludeClassifiers>sources, project, distribution</excludeClassifiers>
                                    <outputDirectory>../jar-dependencies</outputDirectory>
                                    <stripVersion>true</stripVersion>
                                    <type>jar</type>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>validate</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>xml-maven-plugin</artifactId>
                        <configuration>
                           <catalogs>
                                <catalog>src/main/resources/catalog.xml</catalog>
                            </catalogs>
                            <validationSets>
                                <validationSet>
                                    <dir>src/main/resources/META-INF/</dir>
                                    <includes>
                                        <include>components.xml</include>
                                        <include>faces-config.xml</include>
                                    </includes>
                                    <validating>true</validating>
                                </validationSet>
                            </validationSets>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>

    </profiles>
</project>
