plugins { id 'idea' id 'java-library' } group 'schule.ngb' version '0.0.34-SNAPSHOT' java { withSourcesJar() withJavadocJar() } compileJava { options.release = 11 } repositories { mavenCentral() } dependencies { runtimeOnly 'com.googlecode.soundlibs:jlayer:1.0.1.4' runtimeOnly 'com.googlecode.soundlibs:tritonus-share:0.3.7.4' runtimeOnly 'com.googlecode.soundlibs:mp3spi:1.9.5.4' compileOnlyApi 'colt:colt:1.2.0' //api 'colt:colt:1.2.0' //api 'net.sourceforge.parallelcolt:parallelcolt:0.10.1' testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1' testImplementation 'org.junit.jupiter:junit-jupiter-params:5.8.1' testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1' } jar { manifest { attributes 'Class-Path': '.' } } tasks.register('jarMP3SPI', Jar) { group "build" description "Build jar with MP3SPI included" archiveClassifier = 'mp3spi' duplicatesStrategy = 'exclude' // archivesBaseName = 'zeichenmaschine-mp3spi' from { configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } } with jar } task buildAll { group "build" description "Build all jar packages" dependsOn 'jar' dependsOn 'jarMP3SPI' dependsOn 'sourcesJar' dependsOn 'javadocJar' } javadoc { options { encoding = "UTF-8" overview = "src/resources/java/overview.html" // title = "Die Zeichenmaschine" // options.links 'https://docs.oracle.com/javase/8/docs/api/' // options.links 'https://docs.oracle.com/javaee/7/api' options.links 'https://docs.oracle.com/en/java/javase/11/docs/api' } options.addStringOption("charset", "UTF-8") } task mkdocs(type: Exec) { group "documentation" description "Build MKDocs site" workingDir "${projectDir}" commandLine ".venv/bin/python", "-m", "mkdocs", "build" } task buildDocs { group "documentation" description "Run all documentation tasks" dependsOn 'javadoc' dependsOn 'javadocJar' dependsOn 'mkdocs' } test { useJUnitPlatform() }