allprojects { apply plugin: 'java-library' apply plugin: 'maven-publish' compileJava.options.encoding = 'UTF-8' compileTestJava.options.encoding = 'UTF-8' sourceCompatibility = 1.8 targetCompatibility = 1.8 version 'v0.22.1' group 'com.github.TeamNewPipe' repositories { mavenCentral() maven { url "https://jitpack.io" } } afterEvaluate { publishing { publications { mavenJava(MavenPublication) { from components.java } } } } ext { nanojsonVersion = "1d9e1aea9049fc9f85e68b43ba39fe7be1c1f751" spotbugsVersion = "4.7.1" junitVersion = "5.9.0" checkstyleVersion = "9.3" // do not use latest version (10.0) as it requires compile JDK 11 } } dependencies { api project(':extractor') implementation project(':timeago-parser') } subprojects { task sourcesJar(type: Jar, dependsOn: classes) { archiveClassifier.set('sources') from sourceSets.main.allSource } tasks.withType(Test) { testLogging { events "skipped", "failed" showStandardStreams = true exceptionFormat = 'full' } } artifacts { archives sourcesJar } } // https://discuss.gradle.org/t/best-approach-gradle-multi-module-project-generate-just-one-global-javadoc/18657/21 task aggregatedJavadocs(type: Javadoc, group: 'Documentation') { destinationDir = file("$buildDir/docs/javadoc") title = "$project.name $version" // options.memberLevel = JavadocMemberLevel.PRIVATE options.links 'https://docs.oracle.com/javase/8/docs/api/' options.encoding 'UTF-8' // Fixes unknown tag @implNote; the other two were added precautionary options.tags = [ "apiNote:a:API Note:", "implSpec:a:Implementation Requirements:", "implNote:a:Implementation Note:" ] subprojects.each { project -> project.tasks.withType(Javadoc).each { javadocTask -> source += javadocTask.source classpath += javadocTask.classpath excludes += javadocTask.excludes includes += javadocTask.includes } } }