<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.sonatype.oss</groupId>
        <artifactId>oss-parent</artifactId>
        <version>7</version>
    </parent>

    <groupId>br.com.jarch</groupId>
    <artifactId>jarch-framework</artifactId>
    <name>jarch-framework</name>
    <version>18.4.0</version>
    <packaging>jar</packaging>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <hibernate-orm-version>5.2.5.Final</hibernate-orm-version>
        <hibernate-jpamodelgen-version>5.2.5.Final</hibernate-jpamodelgen-version>
        <camunda-version>7.7.0</camunda-version>
        <opensagres-version>2.0.0</opensagres-version>
        <poi-version>3.12</poi-version>
    </properties>

    <build>
        <finalName>jarch-framework</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.7.0</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <annotationProcessors>
                        <proc>com.arch.apt.interceptor.JArchLogicCrudProcessor</proc>
                        <proc>com.arch.apt.interceptor.JArchLogicCrudsProcessor</proc>
                        <proc>com.arch.apt.interceptor.JArchLogicMasterDetailProcessor</proc>
                        <proc>com.arch.apt.interceptor.JArchLogicMasterDetailsProcessor</proc>
                        <proc>com.arch.apt.interceptor.JArchLogicMasterSubDetailProcessor</proc>
                        <proc>com.arch.apt.interceptor.JArchLogicMasterSubDetailsProcessor</proc>
                        <proc>com.arch.apt.interceptor.ArchApplicationScopedProcessor</proc>
                        <proc>com.arch.apt.interceptor.ArchViewScopedProcessor</proc>
                        <proc>com.arch.apt.interceptor.ArchRequestScopedProcessor</proc>
                        <proc>com.arch.apt.interceptor.ArchSessionScopedProcessor</proc>
                        <proc>com.arch.apt.interceptor.ColumnDataTableProcessor</proc>
                        <proc>com.arch.apt.interceptor.ColumnDataTablesProcessor</proc>
                        <proc>com.arch.apt.interceptor.ExclusiveProcessor</proc>
                        <proc>com.arch.apt.interceptor.ExclusivesProcessor</proc>
                        <proc>com.arch.apt.interceptor.FacesConverterProcessor</proc>
                        <proc>com.arch.apt.interceptor.EntityProcessor</proc>
                        <proc>com.arch.apt.interceptor.IManagerProcessor</proc>
                        <proc>com.arch.apt.interceptor.JoinColumnProcessor</proc>
                        <proc>com.arch.apt.interceptor.JoinColumnsProcessor</proc>
                        <proc>com.arch.apt.interceptor.JsfApplicationScopedProcessor</proc>
                        <proc>com.arch.apt.interceptor.JsfNoCdiProcessor</proc>
                        <proc>com.arch.apt.interceptor.JsfRequestScopedProcessor</proc>
                        <proc>com.arch.apt.interceptor.JsfSessionScopedProcessor</proc>
                        <proc>com.arch.apt.interceptor.LookupProcessor</proc>
                        <proc>com.arch.apt.interceptor.ManagerProcessor</proc>
                        <proc>com.arch.apt.interceptor.ManyToOneProcessor</proc>
                        <proc>com.arch.apt.interceptor.ManyToManyProcessor</proc>
                        <proc>com.arch.apt.interceptor.NamedProcessor</proc>
                        <proc>com.arch.apt.interceptor.OneToOneProcessor</proc>
                        <proc>com.arch.apt.interceptor.OneToManyProcessor</proc>
                        <proc>com.arch.apt.interceptor.OrderByProcessor</proc>
                        <proc>com.arch.apt.interceptor.RequiredProcessor</proc>
                        <proc>com.arch.apt.interceptor.SearchTabsProcessor</proc>
                        <proc>com.arch.apt.interceptor.SearchTabProcessor</proc>
                        <proc>com.arch.apt.interceptor.SearchFieldsProcessor</proc>
                        <proc>com.arch.apt.interceptor.SearchFieldProcessor</proc>
                        <proc>com.arch.apt.interceptor.SearchFieldComboboxesProcessor</proc>
                        <proc>com.arch.apt.interceptor.SearchFieldComboboxProcessor</proc>
                        <proc>com.arch.apt.interceptor.SearchFieldComboboxCommandJpasProcessor</proc>
                        <proc>com.arch.apt.interceptor.SearchFieldComboboxCommandJpaProcessor</proc>
                        <proc>com.arch.apt.interceptor.SearchFieldCheckboxesProcessor</proc>
                        <proc>com.arch.apt.interceptor.SearchFieldCheckboxProcessor</proc>
                        <proc>com.arch.apt.interceptor.SequenceGeneratorProcessor</proc>
                        <proc>com.arch.apt.interceptor.TaskBeanProcessor</proc>
                        <proc>com.arch.apt.interceptor.ViewScopedProcessor</proc>
                    </annotationProcessors>
                    <compilerArgument>-proc:none</compilerArgument>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>3.0.1</version>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>3.0.0</version>
                <executions>
                    <execution>
                        <id>attach-javadocs</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <additionalJOption>-Xdoclint:none</additionalJOption>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>3.0.2</version>
                <configuration>
                    <archive>
                        <manifestEntries>
                            <Dependencies>org.dom4j export</Dependencies>
                            <Main-Class>com.arch.agent.ClientMain</Main-Class>
                            <Premain-Class>com.arch.agent.SimplesAgent</Premain-Class>
                            <Agent-Class>com.arch.agent.SimplesAgent</Agent-Class>
                            <Can-Redefine-Classes>true</Can-Redefine-Classes>
                            <Can-Retransform-Classes>true</Can-Retransform-Classes>
                            <Can-Set-Native-Method-Prefix>true</Can-Set-Native-Method-Prefix>
                        </manifestEntries>
                    </archive>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.camunda.bpm</groupId>
                <artifactId>camunda-bom</artifactId>
                <version>${camunda-version}</version>
                <scope>import</scope>
                <type>pom</type>
            </dependency>

            <dependency>
                <groupId>br.com.jarch</groupId>
                <artifactId>jarch-bom</artifactId>
                <version>18.4.0</version>
                <scope>import</scope>
                <type>pom</type>
            </dependency>
        </dependencies>
    </dependencyManagement>

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

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

        <dependency>
            <groupId>net.sf.jasperreports</groupId>
            <artifactId>jasperreports</artifactId>
        </dependency>

        <dependency>
            <groupId>net.sf.jasperreports</groupId>
            <artifactId>jasperreports-fonts</artifactId>
        </dependency>

        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
        </dependency>

        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-jpamodelgen</artifactId>
        </dependency>

        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-envers</artifactId>
        </dependency>

        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itext-pdfa</artifactId>
        </dependency>

        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-collections4</artifactId>
        </dependency>

        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
        </dependency>

        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
        </dependency>

        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-scratchpad</artifactId>
        </dependency>

        <dependency>
            <groupId>org.tmatesoft.svnkit</groupId>
            <artifactId>svnkit</artifactId>
        </dependency>

        <dependency>
            <groupId>org.camunda.bpm</groupId>
            <artifactId>camunda-engine</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>javax.mail</groupId>
                    <artifactId>mail</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
                <!--<exclusion>-->
                <!--<groupId>org.springframework</groupId>-->
                <!--<artifactId>spring-asm</artifactId>-->
                <!--</exclusion>-->
            </exclusions>
        </dependency>

        <dependency>
            <groupId>org.camunda.bpm</groupId>
            <artifactId>camunda-engine-cdi</artifactId>
        </dependency>

        <dependency>
            <groupId>org.camunda.bpm.javaee</groupId>
            <artifactId>camunda-ejb-client</artifactId>
        </dependency>

        <dependency>
            <groupId>org.webjars</groupId>
            <artifactId>bootstrap</artifactId>
        </dependency>

        <dependency>
            <groupId>org.webjars</groupId>
            <artifactId>bpmn-js</artifactId>
        </dependency>

        <dependency>
            <groupId>xerces</groupId>
            <artifactId>xercesImpl</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>javazoom</groupId>
            <artifactId>jlayer</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.codehaus.jackson</groupId>
            <artifactId>jackson-mapper-asl</artifactId>
            <scope>provided</scope>
        </dependency>

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

        <!-- OPENSAGRES -->
        <dependency>
            <groupId>fr.opensagres.xdocreport</groupId>
            <artifactId>fr.opensagres.xdocreport.template.freemarker</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>fr.opensagres.xdocreport</groupId>
            <artifactId>fr.opensagres.xdocreport.document.docx</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>fr.opensagres.xdocreport</groupId>
            <artifactId>fr.opensagres.xdocreport.converter.docx.xwpf</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>fr.opensagres.xdocreport</groupId>
            <artifactId>org.apache.poi.xwpf.converter.pdf</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>fr.opensagres.xdocreport</groupId>
            <artifactId>org.odftoolkit.odfdom.converter.pdf</artifactId>
            <scope>provided</scope>
            <exclusions>
                <exclusion>
                    <groupId>*</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>fr.opensagres.xdocreport</groupId>
            <artifactId>fr.opensagres.xdocreport.itext.extension</artifactId>
            <scope>provided</scope>
            <exclusions>
                <exclusion>
                    <groupId>*</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>org.docx4j</groupId>
            <artifactId>docx4j</artifactId>
            <scope>provided</scope>
            <exclusions>
                <exclusion>
                    <groupId>*</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>org.apache.xmlgraphics</groupId>
            <artifactId>batik-util</artifactId>
            <scope>provided</scope>
        </dependency>

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

        <dependency>
            <groupId>net.sf.barcode4j</groupId>
            <artifactId>barcode4j-light</artifactId>
        </dependency>

        <dependency>
            <groupId>net.glxn</groupId>
            <artifactId>qrgen</artifactId>
        </dependency>

        <dependency>
            <groupId>com.lowagie</groupId>
            <artifactId>itext</artifactId>
        </dependency>

        <dependency>
            <groupId>com.hazelcast</groupId>
            <artifactId>hazelcast</artifactId>
        </dependency>

        <dependency>
            <groupId>net.sf.ehcache</groupId>
            <artifactId>ehcache</artifactId>
        </dependency>

        <dependency>
            <groupId>rome</groupId>
            <artifactId>rome</artifactId>
        </dependency>

        <dependency>
            <groupId>org.atmosphere</groupId>
            <artifactId>atmosphere-runtime</artifactId>
        </dependency>

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

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

        <dependency>
            <groupId>org.jboss.arquillian.junit</groupId>
            <artifactId>arquillian-junit-container</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.jboss.shrinkwrap</groupId>
            <artifactId>shrinkwrap-api</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.jboss.shrinkwrap.resolver</groupId>
            <artifactId>shrinkwrap-resolver-api</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.jboss.shrinkwrap.resolver</groupId>
            <artifactId>shrinkwrap-resolver-spi</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.jboss.shrinkwrap.resolver</groupId>
            <artifactId>shrinkwrap-resolver-api-maven</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.jboss.shrinkwrap.resolver</groupId>
            <artifactId>shrinkwrap-resolver-spi-maven</artifactId>
            <version>3.1.3</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.jboss.shrinkwrap.resolver</groupId>
            <artifactId>shrinkwrap-resolver-impl-maven</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.jboss.shrinkwrap.resolver</groupId>
            <artifactId>shrinkwrap-resolver-impl-maven-archive</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-api</artifactId>
            <scope>compile</scope>
        </dependency>

        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-firefox-driver</artifactId>
            <scope>compile</scope>
        </dependency>

        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-chrome-driver</artifactId>
            <scope>compile</scope>
        </dependency>

        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-opera-driver</artifactId>
            <scope>compile</scope>
        </dependency>

        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <scope>compile</scope>
        </dependency>

        <dependency>
            <groupId>ar.com.fdvs</groupId>
            <artifactId>DynamicJasper</artifactId>
        </dependency>

        <dependency>
            <groupId>ar.com.fdvs</groupId>
            <artifactId>DynamicJasper-core-fonts</artifactId>
        </dependency>
    </dependencies>

    <scm>
        <tag>jarch-bom-18.4.0</tag>
    </scm>
</project>
