apply plugin: 'application' apply plugin: 'maven-publish' group 'org.innercore.zotecoreloader' version 'beta-1.1.0' application { mainClass = 'com.reider745.Main' } repositories { mavenCentral() maven { url 'https://repo.lanink.com/repository/maven-public/' } maven { url 'https://repo.opencollab.dev/maven-releases/' } maven { url 'https://repo.opencollab.dev/maven-snapshots/' } } dependencies { // https://repo.lanink.cn/#browse/browse:maven-public:cn/nukkit/Nukkit/MOT-SNAPSHOT /*implementation (group: 'cn.nukkit', name: 'Nukkit', version: 'MOT-20240213.074103-139') { exclude group: 'org.apache.logging.log4j', module: 'log4j-slf4j-impl' }*/ // https://mvnrepository.com/artifact/org.jetbrains/annotations implementation 'org.jetbrains:annotations:26.0.1' // https://central.sonatype.com/artifact/com.google.code.gson/gson/versions implementation group: 'com.google.code.gson', name: 'gson', version: '2.7' // https://central.sonatype.com/artifact/org.mozilla/rhino/versions // implementation group: 'org.mozilla', name: 'rhino', version: '1.7.14' // https://central.sonatype.com/artifact/org.json/json/versions implementation group: 'org.json', name: 'json', version: '20231013' compileOnly("org.projectlombok:lombok:1.18.44") annotationProcessor("org.projectlombok:lombok:1.18.44") implementation fileTree (dir: 'iclibs', include: '*.jar') implementation fileTree (dir: 'iclibs/dex2jar', include: '*.jar') } def targetJavaVersion = 17 java { def javaVersion = JavaVersion.toVersion(targetJavaVersion) if (JavaVersion.current() < javaVersion) { toolchain.languageVersion = JavaLanguageVersion.of(targetJavaVersion) } withSourcesJar() } jar { duplicatesStrategy 'exclude' manifest { attributes 'Main-Class': application.mainClass } from configurations.compileClasspath.collect { it.isDirectory() ? it : zipTree(it) } } run { workingDir 'target' standardInput System.in } task rebuildAndroidStubs(type: JavaExec, dependsOn: classes) { javaLauncher = javaToolchains.launcherFor { def javaVersion = JavaVersion.toVersion(targetJavaVersion) if (JavaVersion.current() < javaVersion) { languageVersion = JavaLanguageVersion.of(targetJavaVersion) } } classpath = sourceSets.main.runtimeClasspath mainClass = 'com.reider745.api.hooks.instrument.RebuildJavadoc' args '.todo/android.jar', 'iclibs/android.jar', 'proxy' } task rebuildZoteStubs(type: JavaExec, dependsOn: jar) { javaLauncher = javaToolchains.launcherFor { def javaVersion = JavaVersion.toVersion(targetJavaVersion) if (JavaVersion.current() < javaVersion) { languageVersion = JavaLanguageVersion.of(targetJavaVersion) } } classpath = sourceSets.main.runtimeClasspath mainClass = 'com.reider745.api.hooks.RebuildJavadoc' args "build/libs/${project.name}-${project.version}.jar", ".todo/${project.name}-${project.version}.jar" } tasks.jar { archiveFileName.set("${project.name}-${project.version}.jar") } publishing { publications { maven(MavenPublication) { from components.java } } repositories { maven { name = "innercore-releases" url = uri("https://maven.inner-core.org/releases") credentials { username = System.getenv("MAVEN_USERNAME") password = System.getenv("MAVEN_PASSWORD") } } } }