In un progetto applicativo gestito dal gestore di build Gradle
è più piacevole avere la visibilità su tutte le cartelle
partecipante allo sviluppo dell’applicazione,
come delle cartelle di risorse che non sono
nei percorsi per convenzione.
Per esempio voglio che la cartella src/jbake,
sia visibile come ‘resource folder’,
è possibile farlo entrando nella configurazione del progetto,
nei wizard dell’IDE. Tuttavia questa opzione non viene salvata al successivo ricaricamento
del progetto Gradle nell’IDE. Per apportare questa configurazione in modo permanente
la soluzione consiste nel sovrascrivere la configurazione dei percorsi delle sorgenti
nel file di configurazione build.gradle come alle linee 18, 19, 20 e 21 :
build.gradle

plugins {
    id "java"
    id "groovy"
    id "org.jbake.site" version "5.0.0"
    id "org.ajoberstar.git-publish" version "2.1.1"
}
repositories {
    mavenCentral()
    jcenter()
}
group project_group
version project_version
sourceSets {
    main {
        java { srcDirs = [] }
        groovy { srcDirs =["src/main/java", "src/main/groovy"] }
        resources {
            srcDirs =[
                    "src/main/resources",
                    "src/jbake"//in order to get site src content in the IDE
            ]
        }
    }
    test {
        java { srcDirs = [] }
        groovy { srcDirs =["src/test/java", "src/test/groovy"] }
    }
}
test {
    useJUnitPlatform()
}
configurations {
    ivy
}
dependencies {
    ivy "org.apache.ivy:ivy:$ivy_version"
    implementation "org.codehaus.groovy:groovy-all:$groovy_version"
    implementation "org.asciidoctor:asciidoctor-java-integration:$asciidoctor_java_integration_version"
    implementation "org.freemarker:freemarker:$freemarker_version"
    testImplementation "org.junit.jupiter:junit-jupiter-api:$junit5_version"
    testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:$junit5_version"
}
gitPublish {
    repoUri = github_pages_blog_repository
    branch = git_branch
    contents {
        from(file(jbake_content_from)) {
            into jbake_content_to
        }
    }
}
tasks.withType(GroovyCompile) {
    groovyClasspath += configurations.ivy
}

Articoli correlati