<?xml version="1.0" encoding="UTF-8"?>
<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>

    <groupId>com.arrebol</groupId>
    <artifactId>crov-prase-web</artifactId>
    <version>1.0.0</version>
    <packaging>war</packaging>

    <name>crov-prase-web</name>

    <properties>
        <endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <log4j.version>2.17.0</log4j.version>
    </properties>
    
    <dependencies>
        <dependency>
            <groupId>com.amazonaws</groupId>
            <artifactId>aws-java-sdk-ses</artifactId>
            <version>1.12.460</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-api</artifactId>
            <version>8.0</version>
            <scope>provided</scope>
        </dependency>
       
        <!--
        Tomcat Database Connection Pooling package
        
        Tomcat 8.5 with Java 8 running on 64bit Amazon Linux/3.0.5
        
        Exception performing authentication
        javax.naming.NamingException: Could not create resource factory instance 
        -->
        <dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-dbcp</artifactId>
            <version>8.5.35</version>
        </dependency>
        <!--
        Log4j 2 is broken up in an API and an implementation (core), 
        where the API provides the interface that applications should code to. S
        trictly speaking Log4j core is only needed at runtime and not at compile time.

        However, below we list Log4j core as a compile time dependency 
        to improve the startup time for custom plugins as it provides an annotation 
        processor that generates a metadata file to cache plugin information as well as 
        the necessary code to compile against to create custom plugins.
        -->
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-api</artifactId>
            <version>${log4j.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>${log4j.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-slf4j-impl</artifactId>
            <version>${log4j.version}</version>
        </dependency>
        
        <!-- https://mvnrepository.com/artifact/com.itextpdf/itextpdf -->
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itextpdf</artifactId>
            <version>5.5.13.3</version>
            <type>jar</type>
        </dependency>
        <!-- https://mvnrepository.com/artifact/net.sf.jasperreports/jasperreports -->
        <dependency>
            <groupId>net.sf.jasperreports</groupId>
            <artifactId>jasperreports</artifactId>
            <version>6.20.1</version>
        </dependency>


        <!--Depenedias de encriptado para factura -->
        <!-- https://mvnrepository.com/artifact/org.apache.commons.ssl/not-yet-commons-ssl -->

        
        <dependency>
            <groupId>org.apache.servicemix.bundles</groupId>
            <artifactId>org.apache.servicemix.bundles.not-yet-commons-ssl</artifactId>
            <version>0.3.11_1</version>
        </dependency>
        
        <dependency>
            <groupId>com.twilio.sdk</groupId>
            <artifactId>twilio</artifactId>
            <version>9.0.0-rc.2</version>
        </dependency>
        
        <dependency>
            <groupId>mx.openpay</groupId>
            <artifactId>openpay-api-client</artifactId>
            <version>1.7.0</version>
        </dependency>

        <!--
        Taxi Servicios Application Dependencies
        -->
        <dependency>
            <groupId>com.arrebol</groupId>
            <artifactId>crov-prase-layout</artifactId>
            <version>1.0.0</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>com.arrebol</groupId>
            <artifactId>crov-prase-controller</artifactId>
            <version>1.0.0</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>com.arrebol</groupId>
            <artifactId>crov-prase-security</artifactId>
            <version>1.0.0</version>
            <type>jar</type>
            <exclusions>
                <exclusion>
                    <groupId>org.apache.logging.log4j</groupId>
                    <artifactId>log4j-api</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.logging.log4j</groupId>
                    <artifactId>log4j-core</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!--
            Testing
        -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <profiles>
        <profile>
            <id>AWS-EC2</id>
            <properties>
                <hibernate.connection.url>jdbc:mysql://localhost:3306/prase?serverTimezone=UTC</hibernate.connection.url>
                <hibernate.connection.username>root</hibernate.connection.username>
                <hibernate.connection.password>Saladeespera2_</hibernate.connection.password>
                <hibernate.connection.noAccessToProcedureBodies>true</hibernate.connection.noAccessToProcedureBodies>
                <hibernate.connection.useSSL>false</hibernate.connection.useSSL>
            </properties>
        </profile>
        <profile>
            <id>Localhost</id>
            <properties>
                <hibernate.connection.url>jdbc:mysql://localhost:3306/prase?serverTimezone=UTC</hibernate.connection.url>
                <hibernate.connection.username>root</hibernate.connection.username>
                <hibernate.connection.password>root</hibernate.connection.password>
                <hibernate.connection.noAccessToProcedureBodies>true</hibernate.connection.noAccessToProcedureBodies>
                <hibernate.connection.useSSL>true</hibernate.connection.useSSL>    
                <log4j2.path>D:\\environment\\servers\\tomcat\\apache-tomcat-8.5.61\\apache-tomcat-8.5.61\\logs\\cardriver.log</log4j2.path>
            </properties>
        </profile>
        <profile>
            <id>Amazon-Web-Services</id>
            <properties>
                <hibernate.connection.url>jdbc:mysql://prase.cn8e4qks4yj4.us-east-2.rds.amazonaws.com:3306/prase?useSSL=false</hibernate.connection.url>
                <hibernate.connection.username>prasePrdLinux</hibernate.connection.username>
                <hibernate.connection.password>V4M0N054LV</hibernate.connection.password>
                <log4j2.path>/var/log/tomcat/cardriver.log</log4j2.path>
            </properties>
        </profile>
        <profile>
            <id>Amazon-Pruebas</id>
            <properties>
                <hibernate.connection.url>jdbc:mysql://prase.cbpvcsnjuldl.us-east-2.rds.amazonaws.com:3306/prase?useSSL=false</hibernate.connection.url>
                <hibernate.connection.username>crovPrdLinux</hibernate.connection.username>
                <hibernate.connection.password>V4M0N054LV</hibernate.connection.password>
                <log4j2.path>/var/log/tomcat/cardriver.log</log4j2.path>
            </properties>
        </profile>
    </profiles>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <compilerArguments>
                        <endorseddirs>${endorsed.dir}</endorseddirs>
                    </compilerArguments>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.3</version>
                <configuration>
                    <webResources>
                        <resource>
                            <directory>src/main/webapp/META-INF</directory>
                            <filtering>true</filtering>
                            <targetPath>META-INF</targetPath>
                        </resource>
                    </webResources>
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>2.6</version>
                <executions>
                    <execution>
                        <phase>validate</phase>
                        <goals>
                            <goal>copy</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${endorsed.dir}</outputDirectory>
                            <silent>true</silent>
                            <artifactItems>
                                <artifactItem>
                                    <groupId>javax</groupId>
                                    <artifactId>javaee-api</artifactId>
                                    <version>8.0</version>
                                    <type>jar</type>
                                </artifactItem>
                            </artifactItems>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.12.4</version>
                <configuration>
                    <skipTests>true</skipTests>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
