mirror of
https://github.com/Wurst-Imperium/Wurst7.git
synced 2024-09-19 17:02:13 +02:00
f53cbff5b6
Specifically: CVE-2022-42003, CVE-2021-46877, CVE-2022-42004, and CVE-2020-36518, all caused by com.fasterxml.jackson.core:jackson-databind version 2.13.0. These vulnerabilities don't affect end users of Wurst. Only developers were potentially affected. Then again, the attack vectors for these CVEs aren't super relevant when compiling Wurst. So, do update your forks, but don't worry too much.
137 lines
4.2 KiB
Groovy
137 lines
4.2 KiB
Groovy
buildscript {
|
|
dependencies {
|
|
classpath 'org.kohsuke:github-api:1.321'
|
|
}
|
|
}
|
|
|
|
plugins {
|
|
id 'fabric-loom' version '1.6-SNAPSHOT'
|
|
id 'maven-publish'
|
|
id 'com.diffplug.spotless' version '6.23.3'
|
|
}
|
|
|
|
def ENV = System.getenv()
|
|
|
|
sourceCompatibility = JavaVersion.VERSION_17
|
|
targetCompatibility = JavaVersion.VERSION_17
|
|
|
|
archivesBaseName = project.archives_base_name
|
|
version = project.mod_version
|
|
group = project.maven_group
|
|
|
|
repositories {
|
|
// Add repositories to retrieve artifacts from in here.
|
|
// You should only use this when depending on other mods because
|
|
// Loom adds the essential maven repositories to download Minecraft and libraries from automatically.
|
|
// See https://docs.gradle.org/current/userguide/declaring_repositories.html
|
|
// for more information about repositories.
|
|
}
|
|
|
|
dependencies {
|
|
// To change the versions see the gradle.properties file
|
|
minecraft "com.mojang:minecraft:${project.minecraft_version}"
|
|
mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
|
|
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
|
|
|
|
// Fabric API. This is technically optional, but you probably want it anyway.
|
|
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
|
|
|
|
// net.wurstclient.ai.PathPos extends net.minecraft.util.math.BlockPos,
|
|
// which uses javax.annotation.concurrent.Immutable, which is part of
|
|
// the JSR305 library.
|
|
//
|
|
// In other words, Wurst won't compile without this library,
|
|
// even though it's Minecraft that actually uses it.
|
|
modImplementation 'com.google.code.findbugs:jsr305:3.0.2'
|
|
}
|
|
|
|
loom {
|
|
accessWidenerPath = file("src/main/resources/wurst.accesswidener")
|
|
}
|
|
|
|
processResources {
|
|
inputs.property "version", project.version
|
|
|
|
filesMatching("fabric.mod.json") {
|
|
expand "version": project.version
|
|
}
|
|
}
|
|
|
|
tasks.withType(JavaCompile).configureEach {
|
|
// Minecraft 1.18 (1.18-pre2) upwards uses Java 17.
|
|
it.options.release = 17
|
|
}
|
|
|
|
java {
|
|
// Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task
|
|
// if it is present.
|
|
// If you remove this line, sources will not be generated.
|
|
withSourcesJar()
|
|
}
|
|
|
|
jar {
|
|
from("LICENSE") {
|
|
rename { "${it}_${project.archivesBaseName}"}
|
|
}
|
|
}
|
|
|
|
spotless {
|
|
java {
|
|
removeUnusedImports()
|
|
indentWithTabs()
|
|
trimTrailingWhitespace()
|
|
eclipse().configFile(file("codestyle/formatter.xml"))
|
|
lineEndings('WINDOWS')
|
|
}
|
|
}
|
|
|
|
// configure the maven publication
|
|
publishing {
|
|
publications {
|
|
create("mavenJava", MavenPublication) {
|
|
from components.java
|
|
}
|
|
}
|
|
|
|
// See https://docs.gradle.org/current/userguide/publishing_maven.html for information on how to set up publishing.
|
|
repositories {
|
|
// Add repositories to publish to here.
|
|
// Notice: This block does NOT have the same function as the block in the top level.
|
|
// The repositories here will be used for publishing your artifact, not for
|
|
// retrieving dependencies.
|
|
}
|
|
}
|
|
|
|
task moveDevLibs(dependsOn: [remapJar, remapSourcesJar]) {
|
|
doLast {
|
|
ant.move(file:"${project.buildDir}/devlibs/${archivesBaseName}-${version}-dev.jar", tofile:"${project.buildDir}/libs/${archivesBaseName}-${version}-dev.jar")
|
|
ant.move(file:"${project.buildDir}/devlibs/${archivesBaseName}-${version}-sources.jar", tofile:"${project.buildDir}/libs/${archivesBaseName}-${version}-sources-dev.jar")
|
|
}
|
|
}
|
|
|
|
import org.kohsuke.github.GHReleaseBuilder
|
|
import org.kohsuke.github.GitHub
|
|
|
|
task github(dependsOn: moveDevLibs) {
|
|
onlyIf {
|
|
ENV.GITHUB_TOKEN
|
|
}
|
|
|
|
doLast {
|
|
def github = GitHub.connectUsingOAuth(ENV.GITHUB_TOKEN as String)
|
|
def repository = github.getRepository("Wurst-Imperium/Wurst-MCX2")
|
|
def ghVersion = version.substring(0, version.indexOf("-"))
|
|
|
|
def ghRelease = repository.getReleaseByTagName(ghVersion as String)
|
|
if(ghRelease == null) {
|
|
def releaseBuilder = new GHReleaseBuilder(repository, ghVersion as String)
|
|
ghRelease = releaseBuilder.create()
|
|
}
|
|
|
|
ghRelease.uploadAsset(remapJar.archiveFile.get().getAsFile(), "application/java-archive")
|
|
ghRelease.uploadAsset(remapSourcesJar.archiveFile.get().getAsFile(), "application/java-archive")
|
|
ghRelease.uploadAsset(new File("${project.buildDir}/libs/${archivesBaseName}-${version}-dev.jar"), "application/java-archive")
|
|
ghRelease.uploadAsset(new File("${project.buildDir}/libs/${archivesBaseName}-${version}-sources-dev.jar"), "application/java-archive")
|
|
}
|
|
}
|