plugins {
id 'java'
id 'org.springframework.boot' version '3.5.5'
id 'io.spring.dependency-management' version '1.1.7'
}
group = 'ru.mcs'
version = '0.0.1-SNAPSHOT'
description = 'Генеологическое древо'
java {
toolchain {
languageVersion = JavaLanguageVersion.of(24)
}
}
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
repositories {
mavenCentral()
// Добавляем репозитории для JasperReports и iText
maven { url "https://jaspersoft.jfrog.io/jaspersoft/third-party-ce-artifacts/" }
maven { url "https://repository.jboss.org/nexus/content/groups/public/" }
maven { url "https://repository.jboss.org/nexus/content/repositories/thirdparty-releases/" }
}
dependencies {
// Spring Boot starters
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-validation'
// Базы данных
runtimeOnly 'com.h2database:h2'
runtimeOnly 'org.postgresql:postgresql'
// Новая версия JasperReports с другим экспортером PDF
implementation("net.sf.jasperreports:jasperreports:6.21.5")
// Шрифты для PDF
implementation 'org.apache.xmlgraphics:batik-bridge:1.16'
implementation 'org.apache.xmlgraphics:batik-extension:1.16'
implementation 'org.apache.xmlgraphics:batik-gvt:1.16'
implementation 'org.apache.xmlgraphics:batik-svg-dom:1.16'
implementation 'guru.nidi:graphviz-java:0.18.1'
implementation 'com.eclipsesource.j2v8:j2v8_win32_x86_64:4.6.0'
// Шрифты DejaVu (рекомендуемые для русского)
// implementation 'com.github.olivierlemasle:java-dejavu:2.3.0'
// Или альтернативные шрифты
// implementation 'org.webjars.npm:font-awesome:6.4.0'
// implementation 'net.sf.jasperreports:jasperreports-fonts:6.20.0'
implementation("net.sf.jasperreports:jasperreports-fonts:7.0.3")
// Инструменты разработки
developmentOnly 'org.springframework.boot:spring-boot-devtools'
// developmentOnly 'org.springframework.boot:spring-boot-docker-compose'
// lombok
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
// Тестирование
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.springframework.security:spring-security-test'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
}
tasks.named('test') {
useJUnitPlatform()
}