plugins { id 'java-library' } tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } apply plugin: 'java' apply plugin: 'eclipse' repositories { jcenter() flatDir { dirs 'libs' } } sourceCompatibility = targetCompatibility = compileJava.sourceCompatibility = compileJava.targetCompatibility = '1.8' javadoc { options.tags = [ "implSpec", "note" ] } eclipse { classpath { downloadJavadoc = true downloadSources = true file { whenMerged { //Enforce a custom container and allowing access to the sun.misc package which is nessesary for EnumMaps entries.find{ it.kind == 'con' && it.path.startsWith('org.eclipse.jdt')}.path = 'org.eclipse.jdt.launching.JRE_CONTAINER'; } } } } compileJava { options.compilerArgs << '-XDignore.symbol.file' options.fork = true // may not needed on 1.8 options.forkOptions.executable = 'javac' // may not needed on 1.8 } sourceSets { builder } configurations { builderCompile.extendsFrom compile } dependencies { compile 'SimpleCodeGenerator:Simple Code Generator:1.0.1' testImplementation 'junit:junit:4.12' } task generateSource(type: JavaExec) { group = 'internal' description = 'Builds the sourcecode' classpath = sourceSets.builder.runtimeClasspath main = 'speiger.src.builder.PrimitiveCollectionsBuilder' } task javadocJar(type: Jar) { from javadoc classifier = 'javadoc' } task srcJar(type: Jar) { from sourceSets.main.allSource classifier = 'sources' } javadoc.failOnError = false //javadoc.options.showAll() javadoc.options.quiet() artifacts { // archives javadocJar archives srcJar } test { useJUnit() }