plugins { id 'java' id 'maven-publish' } group 'org.stianloader' version '1.0.0' repositories { mavenCentral() } dependencies { // Intellij annotations compileOnly 'org.jetbrains:annotations:24.1.0' // ASM implementation 'org.ow2.asm:asm-tree:9.7' implementation 'org.ow2.asm:asm:9.7' implementation 'org.ow2.asm:asm-util:9.7' } java { toolchain { languageVersion = JavaLanguageVersion.of(17) } toolchain { languageVersion = JavaLanguageVersion.of(8) } } compileJava { javaCompiler = javaToolchains.compilerFor { languageVersion = JavaLanguageVersion.of(8) } sourceCompatibility = '1.7' targetCompatibility = '1.7' } jar { into('META-INF/LICENSES/' + archivesBaseName) { from project.rootProject.file("LICENSE") } } task sourcesJar(type: Jar, dependsOn: classes) { archiveClassifier = 'sources' from sourceSets.main.allSource into('META-INF/LICENSES/' + archivesBaseName) { from project.rootProject.file("LICENSE") } } javadoc { javadocTool = javaToolchains.javadocToolFor{ languageVersion = JavaLanguageVersion.of(17) } } task javadocJar(type: Jar, dependsOn: javadoc) { archiveClassifier = 'javadoc' from javadoc.destinationDir } publishing { publications { plugin(MavenPublication) { publication -> groupId project.group artifactId project.archivesBaseName version version from components['java'] artifact sourcesJar } } repositories { if (System.getProperty('publishRepo') != null) { maven { url System.getProperty('publishRepo') allowInsecureProtocol = true } } else { mavenLocal() } } }