plugins { id 'java' id 'com.gradleup.shadow' version '9.0.0-beta7' } group = 'me.zacharias' version = '1.0-SNAPSHOT' allprojects { apply plugin: 'maven-publish' repositories { mavenCentral() } } subprojects { apply plugin: 'java' apply plugin: 'com.gradleup.shadow' dependencies { implementation("org.json:json:20250107") implementation("org.jetbrains:annotations:23.1.0") testImplementation 'org.junit.jupiter:junit-jupiter:5.10.0' } test { useJUnitPlatform() } task sourcesJar(type: Jar, dependsOn: classes) { archiveClassifier = 'sources' from sourceSets.main.allSource } task javadocJar(type: Jar, dependsOn: javadoc) { archiveClassifier = 'javadoc' from javadoc.destinationDir } artifacts { archives sourcesJar archives javadocJar } // Make Javadoc generation non-fatal to avoid publish failures on bad Javadoc tasks.withType(Javadoc).configureEach { options.addBooleanOption('Xdoclint:none', true) failOnError = false } // Configure local Maven publishing for modules that have a Java component afterEvaluate { proj -> if (components.findByName("java") != null) { publishing { publications { mavenJava(MavenPublication) { from components.java if (tasks.findByName('sourcesJar')) artifact tasks.sourcesJar if (tasks.findByName('javadocJar')) artifact tasks.javadocJar pom { name = proj.name description = "${proj.name} module of AI-test" } } } repositories { mavenLocal() } } } } }