401 lines
17 KiB
XML
401 lines
17 KiB
XML
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
<modelVersion>4.0.0</modelVersion>
|
|
|
|
<groupId>br.com.cybercore.signer</groupId>
|
|
<artifactId>cybercore-signer-parent</artifactId>
|
|
<version>0.1.0-SNAPSHOT</version>
|
|
<packaging>pom</packaging>
|
|
|
|
<name>CyberCore Signer</name>
|
|
<description>Agente desktop de assinatura digital (A1/A3) para aplicações web autorizadas.</description>
|
|
<url>https://cybercore.com.br</url>
|
|
<inceptionYear>2026</inceptionYear>
|
|
|
|
<organization>
|
|
<name>CyberCore</name>
|
|
<url>https://cybercore.com.br</url>
|
|
</organization>
|
|
|
|
<licenses>
|
|
<license>
|
|
<name>Proprietária - CyberCore. Todos os direitos reservados.</name>
|
|
<distribution>manual</distribution>
|
|
</license>
|
|
</licenses>
|
|
|
|
<modules>
|
|
<module>modules/cybercore-core</module>
|
|
<module>modules/cybercore-ui</module>
|
|
<module>modules/cybercore-app</module>
|
|
</modules>
|
|
|
|
<properties>
|
|
<!-- Plataforma -->
|
|
<java.release>25</java.release>
|
|
<maven.compiler.release>${java.release}</maven.compiler.release>
|
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
|
<!-- Builds reprodutíveis: atualizado no release -->
|
|
<project.build.outputTimestamp>2026-10-08T00:00:00Z</project.build.outputTimestamp>
|
|
|
|
<!-- Produto -->
|
|
<cybercore.product.name>CyberCore Signer</cybercore.product.name>
|
|
<cybercore.protocol.version>1</cybercore.protocol.version>
|
|
<!--
|
|
Sabor do build. "production" por padrão (seguro).
|
|
O perfil "dev" altera para "development", único caso em que o modo
|
|
DESENVOLVIMENTO pode ser ativado em tempo de execução (flag dash-dash-dev).
|
|
-->
|
|
<cybercore.build.flavor>production</cybercore.build.flavor>
|
|
|
|
<!-- Dependências -->
|
|
<javafx.version>25.0.4</javafx.version>
|
|
<slf4j.version>2.0.20</slf4j.version>
|
|
<logback.version>1.5.18</logback.version>
|
|
<junit.version>6.1.3</junit.version>
|
|
<assertj.version>3.27.7</assertj.version>
|
|
<mockito.version>5.24.0</mockito.version>
|
|
<archunit.version>1.5.1</archunit.version>
|
|
<jackson.version>2.18.2</jackson.version>
|
|
<pdfbox.version>3.0.4</pdfbox.version>
|
|
<bouncycastle.version>1.80</bouncycastle.version>
|
|
|
|
<!-- Plugins -->
|
|
<maven-clean-plugin.version>3.5.0</maven-clean-plugin.version>
|
|
<maven-resources-plugin.version>3.5.0</maven-resources-plugin.version>
|
|
<maven-compiler-plugin.version>3.15.0</maven-compiler-plugin.version>
|
|
<maven-surefire-plugin.version>3.5.6</maven-surefire-plugin.version>
|
|
<maven-jar-plugin.version>3.5.1</maven-jar-plugin.version>
|
|
<maven-install-plugin.version>3.2.0</maven-install-plugin.version>
|
|
<maven-deploy-plugin.version>3.2.0</maven-deploy-plugin.version>
|
|
<maven-site-plugin.version>3.22.0</maven-site-plugin.version>
|
|
<maven-enforcer-plugin.version>3.6.3</maven-enforcer-plugin.version>
|
|
<maven-dependency-plugin.version>3.11.0</maven-dependency-plugin.version>
|
|
<maven-wrapper-plugin.version>3.3.4</maven-wrapper-plugin.version>
|
|
<jacoco-maven-plugin.version>0.8.15</jacoco-maven-plugin.version>
|
|
<spotbugs-maven-plugin.version>4.10.4.1</spotbugs-maven-plugin.version>
|
|
<findsecbugs-plugin.version>1.14.0</findsecbugs-plugin.version>
|
|
<javafx-maven-plugin.version>0.0.8</javafx-maven-plugin.version>
|
|
|
|
<!-- Qualidade -->
|
|
<spotbugs.skip>false</spotbugs.skip>
|
|
<jacoco.skip>false</jacoco.skip>
|
|
</properties>
|
|
|
|
<dependencyManagement>
|
|
<dependencies>
|
|
<!-- Módulos internos -->
|
|
<dependency>
|
|
<groupId>br.com.cybercore.signer</groupId>
|
|
<artifactId>cybercore-core</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>br.com.cybercore.signer</groupId>
|
|
<artifactId>cybercore-ui</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
|
|
<!-- JavaFX -->
|
|
<dependency>
|
|
<groupId>org.openjfx</groupId>
|
|
<artifactId>javafx-base</artifactId>
|
|
<version>${javafx.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.openjfx</groupId>
|
|
<artifactId>javafx-graphics</artifactId>
|
|
<version>${javafx.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.openjfx</groupId>
|
|
<artifactId>javafx-controls</artifactId>
|
|
<version>${javafx.version}</version>
|
|
</dependency>
|
|
|
|
<!-- Logging -->
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-api</artifactId>
|
|
<version>${slf4j.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>ch.qos.logback</groupId>
|
|
<artifactId>logback-classic</artifactId>
|
|
<version>${logback.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>ch.qos.logback</groupId>
|
|
<artifactId>logback-core</artifactId>
|
|
<version>${logback.version}</version>
|
|
</dependency>
|
|
|
|
<!-- Testes -->
|
|
<dependency>
|
|
<groupId>org.junit</groupId>
|
|
<artifactId>junit-bom</artifactId>
|
|
<version>${junit.version}</version>
|
|
<type>pom</type>
|
|
<scope>import</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.assertj</groupId>
|
|
<artifactId>assertj-core</artifactId>
|
|
<version>${assertj.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.mockito</groupId>
|
|
<artifactId>mockito-core</artifactId>
|
|
<version>${mockito.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.tngtech.archunit</groupId>
|
|
<artifactId>archunit-junit5</artifactId>
|
|
<version>${archunit.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.fasterxml.jackson</groupId>
|
|
<artifactId>jackson-bom</artifactId>
|
|
<version>${jackson.version}</version>
|
|
<type>pom</type>
|
|
<scope>import</scope>
|
|
</dependency>
|
|
|
|
<!-- Manipulação e Assinatura de PDF (PAdES) e CMS -->
|
|
<dependency>
|
|
<groupId>org.apache.pdfbox</groupId>
|
|
<artifactId>pdfbox</artifactId>
|
|
<version>${pdfbox.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.bouncycastle</groupId>
|
|
<artifactId>bcpkix-jdk18on</artifactId>
|
|
<version>${bouncycastle.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.bouncycastle</groupId>
|
|
<artifactId>bcprov-jdk18on</artifactId>
|
|
<version>${bouncycastle.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.bouncycastle</groupId>
|
|
<artifactId>bcutil-jdk18on</artifactId>
|
|
<version>${bouncycastle.version}</version>
|
|
</dependency>
|
|
</dependencies>
|
|
</dependencyManagement>
|
|
|
|
<!-- Dependências de teste comuns a todos os módulos -->
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.junit.jupiter</groupId>
|
|
<artifactId>junit-jupiter</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.assertj</groupId>
|
|
<artifactId>assertj-core</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<build>
|
|
<pluginManagement>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-clean-plugin</artifactId>
|
|
<version>${maven-clean-plugin.version}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-resources-plugin</artifactId>
|
|
<version>${maven-resources-plugin.version}</version>
|
|
<configuration>
|
|
<propertiesEncoding>UTF-8</propertiesEncoding>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<version>${maven-compiler-plugin.version}</version>
|
|
<configuration>
|
|
<release>${java.release}</release>
|
|
<showWarnings>true</showWarnings>
|
|
<failOnWarning>true</failOnWarning>
|
|
<compilerArgs>
|
|
<arg>-Xlint:all,-processing,-requires-automatic</arg>
|
|
<arg>-parameters</arg>
|
|
</compilerArgs>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<version>${maven-surefire-plugin.version}</version>
|
|
<configuration>
|
|
<!-- @{argLine} é preenchido pelo JaCoCo -->
|
|
<argLine>@{argLine} -Dfile.encoding=UTF-8</argLine>
|
|
<trimStackTrace>false</trimStackTrace>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<version>${maven-jar-plugin.version}</version>
|
|
<configuration>
|
|
<archive>
|
|
<manifest>
|
|
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
|
|
</manifest>
|
|
<manifestEntries>
|
|
<Implementation-Vendor>CyberCore</Implementation-Vendor>
|
|
</manifestEntries>
|
|
</archive>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-install-plugin</artifactId>
|
|
<version>${maven-install-plugin.version}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-deploy-plugin</artifactId>
|
|
<version>${maven-deploy-plugin.version}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-site-plugin</artifactId>
|
|
<version>${maven-site-plugin.version}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-dependency-plugin</artifactId>
|
|
<version>${maven-dependency-plugin.version}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-wrapper-plugin</artifactId>
|
|
<version>${maven-wrapper-plugin.version}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-enforcer-plugin</artifactId>
|
|
<version>${maven-enforcer-plugin.version}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.jacoco</groupId>
|
|
<artifactId>jacoco-maven-plugin</artifactId>
|
|
<version>${jacoco-maven-plugin.version}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>com.github.spotbugs</groupId>
|
|
<artifactId>spotbugs-maven-plugin</artifactId>
|
|
<version>${spotbugs-maven-plugin.version}</version>
|
|
<configuration>
|
|
<effort>Max</effort>
|
|
<threshold>Medium</threshold>
|
|
<failOnError>true</failOnError>
|
|
<excludeFilterFile>${maven.multiModuleProjectDirectory}/config/spotbugs/exclude.xml</excludeFilterFile>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>com.h3xstream.findsecbugs</groupId>
|
|
<artifactId>findsecbugs-plugin</artifactId>
|
|
<version>${findsecbugs-plugin.version}</version>
|
|
</plugin>
|
|
</plugins>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.openjfx</groupId>
|
|
<artifactId>javafx-maven-plugin</artifactId>
|
|
<version>${javafx-maven-plugin.version}</version>
|
|
</plugin>
|
|
</plugins>
|
|
</pluginManagement>
|
|
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-enforcer-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>enforce-build-environment</id>
|
|
<goals>
|
|
<goal>enforce</goal>
|
|
</goals>
|
|
<configuration>
|
|
<rules>
|
|
<requireJavaVersion>
|
|
<version>[25,)</version>
|
|
<message>CyberCore Signer exige JDK 25 LTS ou superior.</message>
|
|
</requireJavaVersion>
|
|
<requireMavenVersion>
|
|
<version>[3.9.0,)</version>
|
|
</requireMavenVersion>
|
|
<dependencyConvergence/>
|
|
<banDuplicatePomDependencyVersions/>
|
|
<requirePluginVersions/>
|
|
</rules>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.jacoco</groupId>
|
|
<artifactId>jacoco-maven-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>prepare-agent</id>
|
|
<goals>
|
|
<goal>prepare-agent</goal>
|
|
</goals>
|
|
</execution>
|
|
<execution>
|
|
<id>report</id>
|
|
<phase>verify</phase>
|
|
<goals>
|
|
<goal>report</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>com.github.spotbugs</groupId>
|
|
<artifactId>spotbugs-maven-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>spotbugs-check</id>
|
|
<phase>verify</phase>
|
|
<goals>
|
|
<goal>check</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
|
|
<profiles>
|
|
<profile>
|
|
<!-- Build de DESENVOLVIMENTO: habilita o modo dev (flag dash-dash-dev). Nunca usar em releases. -->
|
|
<id>dev</id>
|
|
<properties>
|
|
<cybercore.build.flavor>development</cybercore.build.flavor>
|
|
</properties>
|
|
</profile>
|
|
<profile>
|
|
<!-- Execução rápida local: pula análise estática e cobertura -->
|
|
<id>fast</id>
|
|
<properties>
|
|
<spotbugs.skip>true</spotbugs.skip>
|
|
<jacoco.skip>true</jacoco.skip>
|
|
</properties>
|
|
</profile>
|
|
</profiles>
|
|
</project>
|