repositories { mavenLocal() mavenCentral() maven() { url = uri("https://artifactory-oss.prod.netflix.net/artifactory/maven-oss-candidates") } } ext { springCloudVersion = "2023.0.3" } dependencies { // Spring Boot Starters initial project implementation 'org.springframework.boot:spring-boot-starter-web' // implementation 'org.springframework.cloud:spring-cloud-starter-config' // implementation 'org.springframework.cloud:spring-cloud-starter-bootstrap' // implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client' implementation ('org.springframework.boot:spring-boot-starter-data-mongodb') { because('Starter para integrar com o MongoDB') } implementation ('org.springframework.boot:spring-boot-starter-validation') { because('Starter para validação de dados') } implementation ('org.springframework.cloud:spring-cloud-starter-config') { because('Starter para configuracao de ambiente') } // Biblioteca de codigo comum implementation ('br.com.rayankonecny:hd-commons-lib:1.0.0') { because('Lib para compartilhar código comum entre os projetos') } // Spring Security implementation ('org.springframework.boot:spring-boot-starter-security') { because('Starter para integrar com o Spring Security') } // Json Web Token implementation ('io.jsonwebtoken:jjwt:0.12.6') { because('Dependencia para gerar a validar JWT') } // Java Architecture for XML Binding implementation ('javax.xml.bind:jaxb-api:2.4.0-b180725.0427') { because('JAXB API') } // Swagger / OpenAPI (compatível com Spring Boot 3.3.x) implementation ('org.springdoc:springdoc-openapi-starter-webmvc-ui:2.3.0') { because('Starter para integrar com o SpringDoc OpenAPI e adicionar documentacao') } // Lombok for code generation (at compile time) compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' implementation 'org.projectlombok:lombok-mapstruct-binding:0.2.0' // Lombok para TESTES (ESSENCIAL) testCompileOnly 'org.projectlombok:lombok' testAnnotationProcessor 'org.projectlombok:lombok' // MapStruct for object mapping (at compile time) implementation 'org.mapstruct:mapstruct:1.5.3.Final' annotationProcessor 'org.mapstruct:mapstruct-processor:1.5.3.Final' // Spring Security dependencies for authentication and authorization implementation 'org.springframework.security:spring-security-crypto:6.4.7' // Testing dependencies testImplementation 'org.springframework.boot:spring-boot-starter-test' // Mockito for mocking in tests testImplementation 'org.mockito:mockito-core:5.12.0' // Podam for data mocking in tests testImplementation 'uk.co.jemos.podam:podam:8.0.2.RELEASE' } dependencyManagement { imports { mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}" } }