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

group = 'com.ffii'
version = '0.0.1-SNAPSHOT'

java {
	sourceCompatibility = '17'
}

repositories {
	mavenCentral()
}

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
	implementation 'org.springframework.boot:spring-boot-starter-data-ldap'
	implementation 'org.springframework.boot:spring-boot-starter-mail'
	implementation 'org.springframework.boot:spring-boot-starter-security'
	implementation 'org.springframework.boot:spring-boot-starter-web'
	implementation 'org.springframework.boot:spring-boot-starter-validation'
	implementation 'org.springframework.boot:spring-boot-starter-log4j2'	
	implementation 'org.springframework.security:spring-security-ldap'
	implementation 'org.liquibase:liquibase-core'
	
	implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.12.0'
	implementation group: 'org.apache.poi', name: 'poi', version: '5.2.3'
	implementation group: 'org.apache.poi', name: 'poi-ooxml', version: '5.2.3'
	implementation group: 'org.apache.pdfbox', name: 'pdfbox', version: '3.0.0'

	implementation group: 'jakarta.persistence', name: 'jakarta.persistence-api', version: '3.1.0'
	implementation group: 'jakarta.annotation', name: 'jakarta.annotation-api', version: '2.1.1'
	implementation group: 'jakarta.validation', name: 'jakarta.validation-api', version: '3.0.2'
	implementation group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: '2.15.2'
	implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.15.2'

	implementation group: 'io.jsonwebtoken', name: 'jjwt-api', version: '0.11.5'
	implementation group: 'io.jsonwebtoken', name: 'jjwt-impl', version: '0.11.5'
	implementation group: 'io.jsonwebtoken', name: 'jjwt-jackson', version: '0.11.5'
	implementation group: 'org.bytedeco', name: 'ffmpeg-platform', version: '5.1.2-1.5.8'

	implementation group: 'org.bytedeco', name: 'javacv', version: '1.5.8'

	implementation group: 'org.freemarker', name: 'freemarker', version: '2.3.32'
	compileOnly group: 'jakarta.servlet', name: 'jakarta.servlet-api', version: '6.0.0'

	implementation group: 'org.apache.poi', name: 'poi', version: '5.2.2'
	implementation group: 'org.apache.poi', name: 'poi-ooxml', version: '5.2.2'

	implementation group: 'org.docx4j', name: 'docx4j-core', version: '11.4.11'
	implementation group: 'org.docx4j', name: 'docx4j-JAXB-ReferenceImpl', version: '11.4.11'

	implementation group: 'com.google.code.gson', name: 'gson', version: '2.10.1'

	implementation 'com.itextpdf:itext7-core:7.2.5' // Changed from 7.x.x to a specific version
    implementation 'com.itextpdf:layout:7.2.5'     // Match the core version
	implementation 'com.itextpdf:forms:7.2.5'
	implementation 'com.itextpdf:kernel:7.2.5'
    implementation 'com.itextpdf:io:7.2.5'

	
	implementation 'org.springframework.boot:spring-boot-starter-oauth2-resource-server'
	implementation 'org.springframework.security:spring-security-oauth2-jose'
	implementation 'com.azure.spring:spring-cloud-azure-starter-active-directory:5.12.0'
	
	runtimeOnly 'com.mysql:mysql-connector-j'
	runtimeOnly 'com.unboundid:unboundid-ldapsdk:6.0.9'

	testImplementation 'org.springframework.boot:spring-boot-starter-test'
	testImplementation 'org.springframework.security:spring-security-test'
	
}

configurations {
    all {
        exclude group: 'org.springframework.boot', module: 'spring-boot-starter-logging'
    }
}
