Newer
Older
genealogy / build.gradle
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()
}