diff --git a/NOTICE b/NOTICE index ef9fa2d4..6a3a3eb4 100644 --- a/NOTICE +++ b/NOTICE @@ -19,6 +19,7 @@ This project includes: Angus Activation Registries under EDL 1.0 AntLR Parser Generator under BSD License Apache Commons Codec under Apache License, Version 2.0 + Apache Commons Compress under Apache License, Version 2.0 Apache Commons Lang under Apache License, Version 2.0 Apache Log4j API under Apache License, Version 2.0 Apache Log4j to SLF4J Adapter under Apache License, Version 2.0 @@ -26,6 +27,7 @@ This project includes: ASM based accessors helper used by json-smart under The Apache Software License, Version 2.0 AspectJ Weaver under Eclipse Public License - v 2.0 AssertJ fluent assertions under Apache License, Version 2.0 + Bean Validation API under Apache License 2.0 Bouncy Castle ASN.1 Extension and Utility APIs under Bouncy Castle Licence Bouncy Castle PKIX, CMS, EAC, TSP, PKCS, OCSP, CMP, and CRMF APIs under Bouncy Castle Licence Bouncy Castle Provider under Bouncy Castle Licence @@ -38,11 +40,15 @@ This project includes: Eclipse Compiler for Java(TM) under Eclipse Public License - v 2.0 error-prone annotations under Apache 2.0 esco-glc under Apache License, Version 2.0 + Evo Inflector under Apache License, Version 2.0 + Faux Pas under MIT License FindBugs-jsr305 under The Apache Software License, Version 2.0 Guava InternalFutureFailureAccess and InternalFutures under The Apache Software License, Version 2.0 Guava ListenableFuture only under The Apache Software License, Version 2.0 Guava: Google Core Libraries for Java under Apache License, Version 2.0 + H2 Database Engine under MPL 2.0 or EPL 1.0 Hamcrest under BSD License 3 + HdrHistogram under Public Domain, per Creative Commons CC0 or BSD-2-Clause Hibernate Commons Annotations under GNU Library General Public License v2.1 or later Hibernate ORM - hibernate-core under GNU Library General Public License v2.1 or later Hibernate Validator Engine under Apache License 2.0 @@ -55,6 +61,8 @@ This project includes: Jackson-annotations under The Apache Software License, Version 2.0 Jackson-core under The Apache Software License, Version 2.0 jackson-databind under The Apache Software License, Version 2.0 + Jackson-dataformat-YAML under The Apache Software License, Version 2.0 + jackson-datatype-problem under MIT License Jackson-module-parameter-names under The Apache Software License, Version 2.0 Jakarta Activation under EDL 1.0 Jakarta Activation API jar under EDL 1.0 @@ -76,6 +84,7 @@ This project includes: JSON library from Android SDK under Apache License 2.0 JSON Small and Fast Parser under The Apache Software License, Version 2.0 JSONassert under The Apache Software License, Version 2.0 + JsonNullable Jackson module under Apache License 2.0 JUL to SLF4J bridge under MIT License JUnit Jupiter (Aggregator) under Eclipse Public License v2.0 JUnit Jupiter API under Eclipse Public License v2.0 @@ -84,10 +93,13 @@ This project includes: JUnit Platform Commons under Eclipse Public License v2.0 JUnit Platform Engine API under Eclipse Public License v2.0 lang under The Apache Software License, Version 2.0 + LatencyUtils under Public Domain, per Creative Commons CC0 Logback Classic Module under Eclipse Public License - v 1.0 or GNU Lesser General Public License Logback Core Module under Eclipse Public License - v 1.0 or GNU Lesser General Public License mariadb-java-client under LGPL-2.1 + micrometer-core under The Apache Software License, Version 2.0 mockito-core under The MIT License + mockito-inline under The MIT License mockito-junit-jupiter under The MIT License MySQL Connector/J under The GNU General Public License, v2 with Universal FOSS Exception, v1.0 Objenesis under Apache License, Version 2.0 @@ -96,6 +108,10 @@ This project includes: org.apiguardian:apiguardian-api under The Apache License, Version 2.0 org.opentest4j:opentest4j under The Apache License, Version 2.0 org.xmlunit:xmlunit-core under The Apache Software License, Version 2.0 + problem under MIT License + problem-spring-common under MIT License + problem-spring-web under MIT License + problem-violations under MIT License project ':json-path' under The Apache Software License, Version 2.0 Project Lombok under The MIT License Querydsl - APT support under Apache License, Version 2.0 @@ -114,17 +130,27 @@ This project includes: Spring Data Core under Apache License, Version 2.0 Spring Data JPA under Apache License, Version 2.0 Spring Data LDAP under Apache License, Version 2.0 + Spring Data REST - Core under Apache License, Version 2.0 Spring Expression Language (SpEL) under Apache License, Version 2.0 + Spring HATEOAS under Apache License, Version 2.0 Spring JDBC under Apache License, Version 2.0 Spring Object/Relational Mapping under Apache License, Version 2.0 + Spring Plugin - Core under Apache License, Version 2.0 Spring TestContext Framework under Apache License, Version 2.0 Spring Transaction under Apache License, Version 2.0 Spring Web under Apache License, Version 2.0 Spring Web MVC under Apache License, Version 2.0 spring-boot under Apache License, Version 2.0 + spring-boot-actuator under Apache License, Version 2.0 + spring-boot-actuator-autoconfigure under Apache License, Version 2.0 spring-boot-autoconfigure under Apache License, Version 2.0 + spring-boot-configuration-metadata under Apache License, Version 2.0 + spring-boot-configuration-processor under Apache License, Version 2.0 spring-boot-devtools under Apache License, Version 2.0 + spring-boot-loader-tools under Apache License, Version 2.0 + spring-boot-properties-migrator under Apache License, Version 2.0 spring-boot-starter under Apache License, Version 2.0 + spring-boot-starter-actuator under Apache License, Version 2.0 spring-boot-starter-aop under Apache License, Version 2.0 spring-boot-starter-data-jpa under Apache License, Version 2.0 spring-boot-starter-data-ldap under Apache License, Version 2.0 @@ -134,6 +160,7 @@ This project includes: spring-boot-starter-security under Apache License, Version 2.0 spring-boot-starter-test under Apache License, Version 2.0 spring-boot-starter-tomcat under Apache License, Version 2.0 + spring-boot-starter-validation under Apache License, Version 2.0 spring-boot-starter-web under Apache License, Version 2.0 spring-boot-test under Apache License, Version 2.0 spring-boot-test-autoconfigure under Apache License, Version 2.0 @@ -144,9 +171,19 @@ This project includes: spring-security-crypto under Apache License, Version 2.0 spring-security-test under Apache License, Version 2.0 spring-security-web under Apache License, Version 2.0 + springdoc-openapi-common under The Apache License, Version 2.0 + springdoc-openapi-data-rest under The Apache License, Version 2.0 + springdoc-openapi-hateoas under The Apache License, Version 2.0 + springdoc-openapi-ui under The Apache License, Version 2.0 + springdoc-openapi-webmvc-core under The Apache License, Version 2.0 + Swagger UI under Apache 2.0 + swagger-annotations under Apache License 2.0 + swagger-core under Apache License 2.0 + swagger-models under Apache License 2.0 tomcat-embed-core under Apache License, Version 2.0 tomcat-embed-el under Apache License, Version 2.0 tomcat-embed-websocket under Apache License, Version 2.0 TXW2 Runtime under Eclipse Distribution License - v 1.0 waffle-jna under MIT + webjars-locator-core under MIT diff --git a/pom.xml b/pom.xml index c63ada9a..c612263f 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ org.springframework.boot spring-boot-starter-parent 2.7.17 - + fr.recia.glc @@ -18,149 +18,290 @@ esco-glc API de Gestion Locale des Comptes + + scm:git:ssh://git@github.com:GIP-RECIA/GLC.git + scm:git:ssh://git@github.com:GIP-RECIA/GLC.git + HEAD + https://github.com/GIP-RECIA/GLC.git + + + + + esco-releases + https://nexus.recia.dev/content/repositories/releases/ + + + esco-snapshots + https://nexus.recia.dev/content/repositories/snapshots/ + + + + 11 11 + 1.6.15 - org.springframework.boot - spring-boot-starter-data-jpa + com.fasterxml.jackson.core + jackson-databind - org.springframework.boot - spring-boot-starter-security + com.github.seancfoley + ipaddress + 5.4.0 - org.springframework.boot - spring-boot-starter-web + com.google.guava + guava + 32.1.3-jre + - org.springframework.security - spring-security-cas + com.h2database + h2 + test - org.springframework.boot - spring-boot-starter-data-ldap + com.mysql + mysql-connector-j + runtime - - org.springframework.boot - spring-boot-devtools + com.querydsl + querydsl-apt + provided + + + com.querydsl + querydsl-core + + + com.querydsl + querydsl-jpa + + + joda-time + joda-time + 2.12.5 + + + org.apache.commons + commons-lang3 + + + org.assertj + assertj-core + test + + + org.esco.admingroup + admingrouplib + 11.0.0 + + + org.hibernate.validator + hibernate-validator + + + org.mariadb.jdbc + mariadb-java-client runtime - true - + + org.mockito + mockito-inline + test + + + org.openapitools + jackson-databind-nullable + 0.2.6 + org.projectlombok lombok true + + org.springdoc + springdoc-openapi-data-rest + ${springdoc-api.version} + + + org.springdoc + springdoc-openapi-ui + ${springdoc-api.version} + + + org.springdoc + springdoc-openapi-webmvc-core + ${springdoc-api.version} + org.springframework.boot - spring-boot-starter-tomcat + spring-boot-configuration-processor provided org.springframework.boot - spring-boot-starter-test - test + spring-boot-devtools + runtime + true - org.springframework.security - spring-security-test - test + org.springframework.boot + spring-boot-loader-tools - - org.apache.commons - commons-lang3 + org.springframework.boot + spring-boot-starter-actuator - - com.fasterxml.jackson.core - jackson-databind + org.springframework.boot + spring-boot-starter-data-jpa - - com.github.seancfoley - ipaddress - 5.4.0 + org.springframework.boot + spring-boot-starter-data-ldap - - - - - - - com.mysql - mysql-connector-j - runtime + org.springframework.boot + spring-boot-starter-logging - org.mariadb.jdbc - mariadb-java-client - runtime + org.springframework.boot + spring-boot-starter-security - - org.hibernate.validator - hibernate-validator + org.springframework.boot + spring-boot-starter-test + test + + + com.vaadin.external.google + android-json + + - - com.querydsl - querydsl-apt - ${querydsl.version} - - provided + org.springframework.boot + spring-boot-starter-validation - com.querydsl - querydsl-jpa - ${querydsl.version} - + org.springframework.boot + spring-boot-starter-web - - org.esco.admingroup - admingrouplib - 11.0.0 + org.springframework.security + spring-security-cas + + + velocity + velocity + + - - com.google.guava - guava - 32.1.3-jre + org.springframework.security + spring-security-test + test - - joda-time - joda-time - 2.12.5 + org.zalando + problem-spring-web + 0.27.0 + + + spring-snapshots + https://repo.spring.io/snapshot + + + spring-milestones + https://repo.spring.io/milestone + + + - src/main/resources true + src/main/resources + + **/*.xml + **/*.yml + version.properties + + + + false + src/main/resources + + **/*.xml + + + + + + org.openapitools + openapi-generator-maven-plugin + 6.6.0 + + + + generate + + + ${project.basedir}/src/main/resources/swagger/api.yml + spring + fr.recia.glc.web.rest + fr.recia.glc.services.rest.dto + ApiUtil.java + Problem=org.zalando.problem.Problem + false + + true + esco-glc + + + + + + + - org.springframework.boot - spring-boot-maven-plugin + com.github.ekryd.sortpom + sortpom-maven-plugin + 3.3.0 - - - org.projectlombok - lombok - - + true + 4 + groupId,artifactId + groupId,artifactId + true + false + + + + sort + + verify + + com.mycila @@ -184,17 +325,6 @@ - - org.jasig.maven - notice-maven-plugin - 2.0.0 - - etc/NOTICE.template - - etc/license-mappings.xml - - - com.mysema.maven apt-maven-plugin @@ -212,17 +342,72 @@ + + io.gatling + gatling-maven-plugin + 4.6.0 + + src/test/gatling/conf + src/test/gatling/data + target/gatling/results + src/test/gatling/bodies + src/test/gatling/simulations + + * + + + + org.apache.maven.plugins + maven-compiler-plugin + + ${java.version} + ${java.version} + + -Xlint:all + + + org.apache.maven.plugins - maven-clean-plugin - 3.3.2 + maven-enforcer-plugin + ${maven-enforcer-plugin.version} - - - .tmp - - + + + check.java.version + You must set the property `check.java.version` + [\d.-_]* + + + You are running an older version of Maven. GLC requires at least Maven 3.0 + [3.0.0,) + + + You are running an older version of Java ${java.version}. GLC requires at least JDK + ${check.java.version} + + [${check.java.version}.0,) + + + + + enforce-versions + + enforce + + + + + 3.6.0 + + + + + org.apache.maven.plugins @@ -238,6 +423,17 @@ deploy + + org.apache.maven.plugins + maven-surefire-plugin + 3.1.2 + + @{argLine} -Xmx4096m + + alphabetical + false + + org.apache.maven.plugins maven-war-plugin @@ -247,16 +443,14 @@ true - - WEB-INF/lib/tomcat-*.jar, + WEB-INF/lib/tomcat-*.jar, WEB-INF/lib-provided, WEB-INF/classes/config/application-*.yml, scripts/**, assets/**, index.html, - - org/, + org/, public/, src/, @@ -267,27 +461,67 @@ + + org.jacoco + jacoco-maven-plugin + 0.8.11 + + file + true + + + + jacoco-initialize + + prepare-agent + + + ${basedir}/target/coverage-reports/jacoco-unit.exec + + + + jacoco-site + + report + + verify + + ${basedir}/target/coverage-reports/jacoco-unit.exec + + + + + + org.jasig.maven + notice-maven-plugin + 2.0.0 + + etc/NOTICE.template + + etc/license-mappings.xml + + + + + org.sonarsource.scanner.maven + sonar-maven-plugin + 3.10.0.2594 + + + org.springframework.boot + spring-boot-maven-plugin + + + + org.projectlombok + lombok + + + + - - scm:git:ssh://git@github.com:GIP-RECIA/GLC.git - scm:git:ssh://git@github.com:GIP-RECIA/GLC.git - HEAD - https://github.com/GIP-RECIA/GLC.git - - - - - esco-releases - https://nexus.recia.dev/content/repositories/releases/ - - - esco-snapshots - https://nexus.recia.dev/content/repositories/snapshots/ - - - dev @@ -297,24 +531,136 @@ dev + + + org.springframework.boot + spring-boot-properties-migrator + runtime + + + org.springframework.boot + spring-boot-starter-tomcat + ${project.parent.version} + + + + + + + org.openapitools + openapi-generator-maven-plugin + + + org.springframework.boot + spring-boot-maven-plugin + + + -Djava.rmi.server.hostname=localhost -Xdebug -Duser.timezone="Europe/Paris" + -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 -Xms2G -Xmx3G + + + + + test test + + + org.springframework.boot + spring-boot-properties-migrator + provided + + + org.springframework.boot + spring-boot-starter-tomcat + ${project.parent.version} + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + -Djava.rmi.server.hostname=localhost -Xdebug -Duser.timezone="Europe/Paris" + -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 -Xms2G -Xmx3G + + + + + - prod + ci - prod + test + + + org.springframework.boot + spring-boot-properties-migrator + provided + + + org.springframework.boot + spring-boot-starter-tomcat + ${project.parent.version} + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + -Djava.rmi.server.hostname=localhost -Xdebug -Duser.timezone="Europe/Paris" + -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 -Xms2G -Xmx3G + + + + + - ci + prod - test + prod + + + org.springframework.boot + spring-boot-starter-tomcat + ${project.parent.version} + provided + + + + + + org.apache.maven.plugins + maven-clean-plugin + 3.3.2 + + + + .tmp + + + + + + diff --git a/src/main/resources/swagger/api.yml b/src/main/resources/swagger/api.yml new file mode 100644 index 00000000..4bfd2770 --- /dev/null +++ b/src/main/resources/swagger/api.yml @@ -0,0 +1,27 @@ +# API-first development with OpenAPI +# This file will be used at compile time to generate Spring-MVC endpoint stubs using openapi-generator +openapi: '3.0.1' +info: + title: 'GLC' + version: 0.0.1 +servers: + - url: http://localhost:8090/api + description: Development server + - url: https://localhost:8090/api + description: Development server with TLS Profile +paths: {} +components: + responses: + Problem: + description: error occurred - see status code and problem object for more information. + content: + 'application/problem+json': + schema: + $ref: 'https://opensource.zalando.com/problem/schema.yaml#/Problem' + + securitySchemes: + BasicAuth: + type: http + scheme: basic +security: + - BasicAuth: [ jhipster, email, profile ]