plugins {
    id 'java'
    id "io.freefair.lombok" version "9.2.0"
    id "run.halo.plugin.devtools" version "0.6.2"
}

group 'top.nxxy335.commentaiautopilot'
version project.property('version')

repositories {
    mavenCentral()
}

dependencies {
    implementation platform('run.halo.tools.platform:plugin:2.25.0')
    compileOnly 'run.halo.app:api'
    compileOnly files('libs/ai-foundation-api.jar')
    implementation 'org.jsoup:jsoup:1.18.1'

    testImplementation 'run.halo.app:api'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
    testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
}

test {
    useJUnitPlatform()
}

java {
    toolchain {
        languageVersion = JavaLanguageVersion.of(21)
    }
}

tasks.withType(JavaCompile).configureEach {
    options.encoding = "UTF-8"
    options.release = 21
}

tasks.register('processUiResources', Copy) {
    from project(':ui').layout.buildDirectory.dir('dist')
    into layout.buildDirectory.dir('resources/main/ui')
    dependsOn project(':ui').tasks.named('assemble')
    shouldRunAfter tasks.named('processResources')
}

tasks.named('classes') {
    dependsOn tasks.named('processUiResources')
}

tasks.named('generatePluginComponentsIdx') {
    notCompatibleWithConfigurationCache('This task invokes "Task.project" at execution time, which is not supported with configuration cache.')
}

halo {
    version = '2.25'
}

