plugins { id 'java' id 'java-library' id 'maven-publish' id 'java-gradle-plugin' } group = 'org.stianloader' archivesBaseName = 'interjava' def baseVersion = '0.1.0' targetCompatibility = compileJava.targetCompatibility = '1.8' sourceCompatibility = compileJava.sourceCompatibility = '1.8' repositories { mavenCentral() maven { name = "wagyourtail" url = "https://maven.wagyourtail.xyz/releases" } } dependencies { api "xyz.wagyourtail.jvmdowngrader:jvmdowngrader:0.1.3" // Replacement classes for java APIs used by in the downgrading process jvmdowngrader runtimeOnly "xyz.wagyourtail.jvmdowngrader:jvmdowngrader-java-api:0.1.3" // https://mvnrepository.com/artifact/org.ow2.asm/asm // (Transitive dependency of jvmdowngrader) api "org.ow2.asm:asm:9.7" api "org.ow2.asm:asm-tree:9.7" api "org.ow2.asm:asm-util:9.7" // https://mvnrepository.com/artifact/com.github.ben-manes.caffeine/caffeine // Updating hint: Caffeine 3.X.X requires J11+. Only upgrade if you know what you are doing implementation 'com.github.ben-manes.caffeine:caffeine:2.9.3' } gradlePlugin { // Define the plugin plugins { interjava { id = project.group + '.' + project.archivesBaseName version = baseVersion implementationClass = 'org.stianloader.interjava.Interjava' } } } task sourcesJar(type: Jar, dependsOn: classes) { archiveClassifier = 'sources' from sourceSets.main.allSource } task javadocJar(type: Jar, dependsOn: javadoc) { archiveClassifier = 'javadoc' from javadoc.destinationDir } publishing { publications { plugin(MavenPublication) { publication -> groupId project.group artifactId project.archivesBaseName version baseVersion from components['java'] //artifact sourcesJar //artifact javadocJar } } repositories { if (System.getProperty('publishRepo') != null) { maven { url System.getProperty('publishRepo') allowInsecureProtocol = true } } else { mavenLocal() } } }