pom.xml 9.59 KB
<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>br.gov.mj.side</groupId>
		<artifactId>side-parent</artifactId>
		<version>0.5.0</version>
	</parent>

	<artifactId>side-web</artifactId>

	<packaging>war</packaging>

	<name>side-web</name>
	<description>Aplicação de referência usando Apache Wicket</description>

	<dependencies>

		<dependency>
			<groupId>br.gov.mj.side</groupId>
			<artifactId>side-entity</artifactId>
			<version>${project.version}</version>
		</dependency>
		<dependency>
			<groupId>br.gov.mj.infra</groupId>
			<artifactId>infra-security-api</artifactId>
			<version>${infra.security.api.version}</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>br.gov.mj.infra</groupId>
			<artifactId>infra-negocio</artifactId>
		</dependency>
		<dependency>
			<groupId>br.gov.mj.infra</groupId>
			<artifactId>infra-wicket</artifactId>
		</dependency>

		<dependency>
			<groupId>commons-io</groupId>
			<artifactId>commons-io</artifactId>
		</dependency>

		<dependency>
			<groupId>javax</groupId>
			<artifactId>javaee-api</artifactId>
			<scope>provided</scope>
		</dependency>

		<!-- WICKET DEPENDENCIES -->
		<dependency>
			<groupId>org.apache.wicket</groupId>
			<artifactId>wicket-core</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.wicket</groupId>
			<artifactId>wicket-cdi-1.1</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.wicket</groupId>
			<artifactId>wicket-auth-roles</artifactId>
		</dependency>

		<dependency>
			<groupId>com.googlecode.wicket-jquery-ui</groupId>
			<artifactId>jquery-ui-core</artifactId>
			<version>6.2.2</version>
		</dependency>
		<!-- LOGGING DEPENDENCIES - LOG4J -->
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-log4j12</artifactId>
		</dependency>
		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
		</dependency>

		<!-- JUNIT DEPENDENCY FOR TESTING -->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>commons-logging</groupId>
			<artifactId>commons-logging</artifactId>
		</dependency>

		<!-- arquillian -->
		<dependency>
			<groupId>org.jboss.arquillian.junit</groupId>
			<artifactId>arquillian-junit-container</artifactId>
			<scope>test</scope>
		</dependency>		
		<dependency>
      		<groupId>org.jboss.shrinkwrap.resolver</groupId>
      		<artifactId>shrinkwrap-resolver-depchain</artifactId>
      		<scope>test</scope>
      		<type>pom</type>
    	</dependency>   
    	<dependency>
  			<groupId>org.jboss.arquillian.extension</groupId>
  			<artifactId>arquillian-jacoco</artifactId>
  			<version>1.0.0.Alpha8</version>
  			<scope>test</scope>
		</dependency>
		
		<dependency>
    		<groupId>org.jacoco</groupId>
    		<artifactId>org.jacoco.core</artifactId>
    		<version>${jacoco.version}</version>
    		<scope>test</scope>
		</dependency>
		
		<!-- JasperReports -->

		<dependency>
			<groupId>net.sf.jasperreports</groupId>
			<artifactId>jasperreports</artifactId>
			<version>5.6.1</version>
		</dependency>
		<dependency>
			<groupId>org.wicketstuff</groupId>
			<artifactId>wicketstuff-jasperreports</artifactId>
			<version>6.17.0</version>
		</dependency>

		<dependency>
			<groupId>org.wicketstuff</groupId>
			<artifactId>wicketstuff-editable-grid</artifactId>
			<version>6.17.0</version>
		</dependency>
		<dependency>
			<groupId>org.wicketstuff</groupId>
			<artifactId>wicketstuff-inmethod-grid</artifactId>
			<version>6.17.0</version>
		</dependency>
		
		<dependency>
			<groupId>org.apache.poi</groupId>
			<artifactId>poi</artifactId>
			<version>3.5-FINAL</version>
		</dependency>


		<!-- REST CLIENT -->
		<dependency>
			<groupId>org.jboss.resteasy</groupId>
			<artifactId>resteasy-jaxrs</artifactId>
			<version>3.0.11.Final</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.jboss.resteasy</groupId>
			<artifactId>resteasy-jackson-provider</artifactId>
			<version>2.2.1.GA</version>
			<scope>provided</scope>
		</dependency>

         <!-- Dependência para atender ao Tipo LocalDate -->
		<dependency>
			<groupId>org.jadira.usertype</groupId>
			<artifactId>usertype.extended</artifactId>
			<version>3.2.0.GA</version>
		</dependency>


           <!-- Dependência para atender Agendamento de jobs -->
          <dependency>
            <groupId>org.quartz-scheduler</groupId>
            <artifactId>quartz</artifactId>
            <version>2.2.1</version>
        </dependency>
        <dependency>
            <groupId>org.quartz-scheduler</groupId>
            <artifactId>quartz-jobs</artifactId>
            <version>2.2.1</version>
        </dependency>


	</dependencies>


	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-war-plugin</artifactId>
				<version>2.6</version>
				<configuration>
					<webResources>
						<resource>
							<filtering>true</filtering>
							<directory>src/main/webapp</directory>
							<includes>
								<include>**/web.xml</include>
								<include>**/jboss-web.xml</include>
							</includes>
						</resource>
					</webResources>
					<archive>
						<manifest>
							<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
						</manifest>
					</archive>
				</configuration>
			</plugin>
		</plugins>
	</build>


	<profiles>
		<!-- Profile default de desenvolvimento -->
		<profile>
			<id>side-desenv</id>
			<activation>
				<activeByDefault>true</activeByDefault>
			</activation>
			<properties>
				<enable.security.desenv.end>--&gt;</enable.security.desenv.end>
				<enable.security.desenv.start>&lt;!--</enable.security.desenv.start>
				<enable.security.prod.end></enable.security.prod.end>
				<enable.security.prod.start></enable.security.prod.start>
				<security.domain.name>side-sec-domain-desenv</security.domain.name>
			</properties>
			<dependencies>
				<dependency>
  					<groupId>org.wildfly.arquillian</groupId>
  					<artifactId>wildfly-arquillian-container-remote</artifactId>
  					<version>1.0.0.Alpha5</version>
  					<scope>test</scope>
				</dependency>
			</dependencies>
		</profile>

		<!-- Profile a ser ativado ao gerar pacote para produção. -->
		<profile>
			<id>side-prod</id>
			<properties>
				<enable.security.desenv.end></enable.security.desenv.end>
				<enable.security.desenv.start></enable.security.desenv.start>
				<enable.security.prod.end>--&gt;</enable.security.prod.end>
				<enable.security.prod.start>&lt;!--</enable.security.prod.start>
				<security.domain.name>side-sec-domain-prod</security.domain.name>
			</properties>
			<dependencies>
				<dependency>
  					<groupId>org.wildfly.arquillian</groupId>
  					<artifactId>wildfly-arquillian-container-managed</artifactId>
  					<version>1.0.0.Alpha5</version>
  					<scope>test</scope>
				</dependency>
			</dependencies>
			<build>
		        <plugins>
		            <plugin>
		            	<groupId>org.apache.maven.plugins</groupId>
		                <artifactId>maven-surefire-plugin</artifactId>
		                <version>2.18.1</version>
		                <configuration>
		                    <systemPropertyVariables>
		                        <jboss.home>${jboss.home}</jboss.home>
		                    </systemPropertyVariables>
		                </configuration>
		            </plugin>
		        </plugins>
    		</build>
		</profile>




		<!-- Esse profile foi adicionada para permitir automatização do deploy 
			via maven, sem usar o WTP do eclipse. Os parâmetros ${wildfly-hostname}, 
			${wildfly-port}, e etc devem ser configurados no settings.xml local da máquina, 
			dentro da definição de profile "wildfly": <profile> <id>wildfly</id> <properties> 
			<wildfly-hostname>localhost</wildfly-hostname> <wildfly-port>9990</wildfly-port> 
			<wildfly-username>rodrigo.uchoa</wildfly-username> <wildfly-password>123456</wildfly-password> 
			</properties> </profile> O username/password são os mesmos usados para acessar 
			o console de administração do Wildfly. Caso não tenha criado ainda, é só 
			usar o script "add-user" dentro do diretório "bin" do Wildfly. Para fazer 
			o deploy, primeiro é necessário start o Wildfly manualmente e depois rodar 
			o seguinte comando no diretório do "side-parent": mvn package -Pdesenv,wildfly 
			-DskipTests O profile "desenv" ou "prod" precisa ser informado junto com 
			o profile "wildfly". São eles que fazem o filtering dos arquivos de configuração. 
			Para fazer o undeploy, entrar no diretório "side-web" e rodar o comando: 
			mvn wildfly:undeploy -Pwildfly Observar que o comando de deploy é feito no 
			diretório do projeto parent, enquanto o de undeploy é feito no diretório 
			do próprio módulo web. -->
		<profile>
			<id>wildfly</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.wildfly.plugins</groupId>
						<artifactId>wildfly-maven-plugin</artifactId>
						<version>1.1.0.Alpha2</version>
						<configuration>
							<hostname>${wildfly-hostname}</hostname>
							<port>${wildfly-port}</port>
							<username>${wildfly-username}</username>
							<password>${wildfly-password}</password>
							<filename>${project.build.finalName}.war</filename>
						</configuration>
						<executions>
							<execution>
								<id>wildfly-deploy</id>
								<phase>package</phase>
								<goals>
									<goal>deploy</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>

	</profiles>
	
</project>