SpringBoot (12) Summing up (II): settings.gradle, build.gradle

 1. settings.gradle file

The only info is the project name

rootProject.name = 'WebProp42'


2. build.gradle

the important things to note are:

The important thing is that the Initializer generates the skeleton .

You can use server and client (webjars) dependencies.


Here is my particular  file:

#================================================================

plugins {
    id 'java'
    id 'org.springframework.boot' version '3.0.6'
    id 'io.spring.dependency-management' version '1.1.0'
}

group = 'ximo'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '17'

configurations {
    compileOnly {
        extendsFrom annotationProcessor
    }
}

repositories {
    mavenCentral()
    maven {
        url "https://build.shibboleth.net/nexus/content/repositories/releases/"
    }
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-security'
    implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.boot:spring-boot-starter-websocket'
    implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity6'
    implementation 'org.thymeleaf.extras:thymeleaf-extras-java8time:3.0.4.RELEASE'
    
    compileOnly 'org.projectlombok:lombok'
    //developmentOnly 'org.springframework.boot:spring-boot-devtools'
    annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'
    annotationProcessor 'org.projectlombok:lombok'
    
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
    testImplementation 'org.springframework.security:spring-security-test'
    
    //JPA Postgres
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    runtimeOnly 'org.postgresql:postgresql'
    
    //Hibernate Validator & envers
    implementation 'org.hibernate.validator:hibernate-validator'
    implementation 'org.hibernate.orm:hibernate-envers'
    
    
    
    //==========================================================
    // Additional dependencies 
    //==========================================================
    implementation 'org.apache.commons:commons-lang3:3.12.0'
    implementation 'commons-beanutils:commons-beanutils:1.9.4'
    implementation 'org.apache.commons:commons-text:1.10.0'
    
    implementation 'org.apache.pdfbox:pdfbox:2.0.28'
    implementation 'org.apache.pdfbox:xmpbox:2.0.28'
    
    implementation 'org.apache.poi:poi-ooxml:5.2.3'
    
    implementation 'org.apache.cxf:cxf-core:4.0.1'
    implementation 'org.apache.cxf:cxf-rt-ws-security:4.0.1'
    implementation 'org.apache.cxf:cxf-rt-frontend-jaxws:4.0.1'
    implementation 'org.apache.cxf:cxf-rt-transports-http:4.0.1'
    
    implementation 'org.apache.cxf:cxf-rt-features-logging:4.0.1'
    
    implementation 'com.sun.xml.ws:jaxws-ri:4.0.1'
    
    //implementation 'com.google.code.gson:gson:2.10.1'
    
    //Jackson
    implementation 'com.fasterxml.jackson.core:jackson-core:2.15.0'
    implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.15.0'
    implementation 'com.fasterxml.jackson.module:jackson-module-jakarta-xmlbind-annotations:2.15.0'
    
    //Afirma depenedencies
    implementation 'com.madgag.spongycastle:core:1.58.0.0'
    implementation 'com.madgag.spongycastle:prov:1.58.0.0'
    implementation 'com.madgag.spongycastle:bcpkix-jdk15on:1.58.0.0'
    implementation 'com.dmurph:JGoogleAnalyticsTracker:1.2.0'
    implementation 'org.java-websocket:Java-WebSocket:1.5.3'
    implementation 'javax.json:javax.json-api:1.1.4'
    implementation 'org.glassfish:javax.json:1.1.4'
    implementation 'javax.help:javahelp:2.0.05'
    implementation 'com.github.markusbernhardt:proxy-vole:1.0.5'
    implementation 'net.java.dev.jna:jna:5.13.0'
    implementation 'com.github.jai-imageio:jai-imageio-jpeg2000:1.4.0'
    implementation 'es.uji.crypto.xades:jxades:0.2.2'
    implementation 'com.io7m.xom:xom:1.2.10'
    
    // PDF Tables
    implementation 'com.github.dhorions:boxable:1.7.0'
    
    implementation files(
        "$rootDir/../mynewtargets/support-libraries/afirma-lib-itext-1.0.4.jar",
        "$rootDir/../mynewtargets/support-libraries/afirma-lib-itext-android-1.0.4.jar",
        "$rootDir/../mynewtargets/support-libraries/afirma-lib-jmimemagic-1.0.4.jar",
        "$rootDir/../mynewtargets/support-libraries/afirma-lib-juniversalchardet-1.0.4.jar",
        "$rootDir/../mynewtargets/support-libraries/afirma-lib-oro-1.0.4.jar",
    
        "$rootDir/../mynewtargets/ajuntament/sourcejar/jmulticard-1.7.jar",
        "$rootDir/../mynewtargets/ajuntament/sourcejar/jmulticard-jse-1.7.jar",
        "$rootDir/../mynewtargets/ajuntament/sourcejar/jmulticard-jsr268-1.7.jar",
        "$rootDir/../mynewtargets/ajuntament/sourcejar/jmulticard-ui-1.7.jar",
    
    
        //"$rootDir/../mynewtargets/afirma-client/afirma-simple-1.8.jar",
        "$rootDir/../mynewtargets/afirma-client/sourcejar/afirma-core-1.8.jar",
        "$rootDir/../mynewtargets/afirma-client/sourcejar/afirma-core-keystores-1.8.jar",
        "$rootDir/../mynewtargets/afirma-client/sourcejar/afirma-core-massive-1.8.jar",
        "$rootDir/../mynewtargets/afirma-client/sourcejar/afirma-crypto-batch-client-1.8.jar",
        "$rootDir/../mynewtargets/afirma-client/sourcejar/afirma-crypto-cades-1.8.jar",
        "$rootDir/../mynewtargets/afirma-client/sourcejar/afirma-crypto-cades-multi-1.8.jar",
        "$rootDir/../mynewtargets/afirma-client/sourcejar/afirma-crypto-cadestri-client-1.8.jar",
        "$rootDir/../mynewtargets/afirma-client/sourcejar/afirma-crypto-cms-1.8.jar",
        "$rootDir/../mynewtargets/afirma-client/sourcejar/afirma-crypto-core-pkcs7-1.8.jar",
        "$rootDir/../mynewtargets/afirma-client/sourcejar/afirma-crypto-core-pkcs7-tsp-1.8.jar",
        "$rootDir/../mynewtargets/afirma-client/sourcejar/afirma-crypto-core-xml-1.8.jar",
        "$rootDir/../mynewtargets/afirma-client/sourcejar/afirma-crypto-odf-1.8.jar",
        "$rootDir/../mynewtargets/afirma-client/sourcejar/afirma-crypto-ooxml-1.8.jar",
        "$rootDir/../mynewtargets/afirma-client/sourcejar/afirma-crypto-padestri-client-1.8.jar",
        "$rootDir/../mynewtargets/afirma-client/sourcejar/afirma-crypto-pdf-1.8.jar",
        "$rootDir/../mynewtargets/afirma-client/sourcejar/afirma-crypto-pdf-common-1.8.jar",
        "$rootDir/../mynewtargets/afirma-client/sourcejar/afirma-crypto-validation-1.8.jar",
        "$rootDir/../mynewtargets/afirma-client/sourcejar/afirma-crypto-xades-1.8.jar",
        "$rootDir/../mynewtargets/afirma-client/sourcejar/afirma-crypto-xadestri-client-1.8.jar",
        "$rootDir/../mynewtargets/afirma-client/sourcejar/afirma-crypto-xmlsignature-1.8.jar",
        "$rootDir/../mynewtargets/afirma-client/sourcejar/afirma-keystores-filters-1.8.jar",
        "$rootDir/../mynewtargets/afirma-client/sourcejar/afirma-keystores-mozilla-1.8.jar",
        "$rootDir/../mynewtargets/afirma-client/sourcejar/afirma-server-triphase-signer-cache-1.8.jar",
        "$rootDir/../mynewtargets/afirma-client/sourcejar/afirma-server-triphase-signer-core-1.8.jar",
        "$rootDir/../mynewtargets/afirma-client/sourcejar/afirma-server-triphase-signer-document-1.8.jar",
        "$rootDir/../mynewtargets/afirma-client/sourcejar/afirma-simple-1.8.jar",
        "$rootDir/../mynewtargets/afirma-client/sourcejar/afirma-ui-core-jse-1.8.jar",
        "$rootDir/../mynewtargets/afirma-client/sourcejar/afirma-ui-core-jse-keystores-1.8.jar",
        "$rootDir/../mynewtargets/afirma-client/sourcejar/afirma-ui-simpleafirma-plugin-hash-1.8.jar",
        "$rootDir/../mynewtargets/afirma-client/sourcejar/afirma-ui-simpleafirma-plugins-1.8.jar",
        "$rootDir/../mynewtargets/afirma-client/sourcejar/afirma-ui-simpleafirma-plugins-manager-1.8.jar",
        "$rootDir/../mynewtargets/afirma-client/sourcejar/afirma-ui-simpleafirma-plugin-validatecerts-1.8.jar",
        
        //"$rootDir/../mynewtargets/ajuntament/afirma-crypto-xades-1.7.2.jar",
        //"$rootDir/../mynewtargets/ajuntament/d05-autofirma-simple-4.0-all.jar"
        //"$rootDir/../mynewtargets/ajuntament/uber/d05-autofirma-simple-4.0-uber.jar"
        //"$rootDir/../mynewtargets/ajuntament/d05-autofirma-simple-4.0-all.jar",
    )
    
    //==========================================================
    // Web Client dependencies
    //==========================================================
    implementation 'org.webjars:webjars-locator-core'
    implementation 'org.webjars:sockjs-client:1.5.1'
    implementation 'org.webjars:stomp-websocket:2.3.4'
    implementation 'org.webjars:bootstrap:5.3.0'
    implementation 'org.webjars:popper.js:2.9.3'
    //implementation 'org.webjars:jquery:3.6.4'
    //implementation 'org.webjars:ag-grid:12.0.2'
    implementation 'org.webjars.npm:ag-grid-community:28.1.1'
}

//OJO per a eliminar duplicats provocats per d05-autofirma-simple-4.0-all.jar
//@see
tasks.named('bootJar') {
    duplicatesStrategy = DuplicatesStrategy.EXCLUDE
}


tasks.named('test') {
    useJUnitPlatform()
}

#================================================================



Comentarios

Entradas populares de este blog

SpringBoot (14) Let's start (2/10). Defining users

SpringBoot (6) Spring Data JPA (1)