From 71369020423e0ce10f7ab49191059dbfb0172f86 Mon Sep 17 00:00:00 2001 From: Ross Allan Date: Fri, 2 Sep 2016 11:47:16 +0100 Subject: [PATCH] Update for MC 1.10.2 --- .editorconfig | 12 ++ .gitattributes | 4 +- README.md | 25 +--- build.gradle | 137 +++++++++--------- gradle/wrapper/gradle-wrapper.jar | Bin 51017 -> 52818 bytes gradle/wrapper/gradle-wrapper.properties | 4 +- gradlew | 57 ++++---- gradlew.bat | 14 +- .../me/nallar/logspammustdie/CoreMod.java | 8 +- src/main/resources/mcmod.info | 2 +- 10 files changed, 130 insertions(+), 133 deletions(-) create mode 100644 .editorconfig diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..b9301aa --- /dev/null +++ b/.editorconfig @@ -0,0 +1,12 @@ +# EditorConfig is awesome: http://EditorConfig.org + +# top-most EditorConfig file +root = true + +# Unix-style newlines with a newline ending every file +[*] +end_of_line = lf +insert_final_newline = true +charset = utf-8 +indent_style = tab +indent_size = 4 diff --git a/.gitattributes b/.gitattributes index 9776ec7..ce1fc81 100755 --- a/.gitattributes +++ b/.gitattributes @@ -2,6 +2,8 @@ # and leave all files detected as binary untouched. * text=auto eol=lf +*.bat text eol=crlf + # # The above will handle all files NOT found below # @@ -35,4 +37,4 @@ *.jpeg binary *.png binary *.so binary -*.war binary \ No newline at end of file +*.war binary diff --git a/README.md b/README.md index 8e4b4b5..6112609 100755 --- a/README.md +++ b/README.md @@ -13,9 +13,8 @@ Compiling --------- LogSpamMustDie is built using Gradle. -* Install the java development kit -* Run `./gradlew setupDevWorkspace jar` - +* Install JDK 8 +* Run `./gradlew setupDevWorkspace jar` Coding and Pull Request Formatting ---------------------------------- @@ -25,23 +24,3 @@ Coding and Pull Request Formatting * Pull requests must be formatted properly. Please follow the above conventions if you want your pull requests accepted. - -Donations ----------------------------------- - -Bitcoin: [1BUjvwxxGH23Fkj7vdGtbrgLEF91u8npQu](bitcoin:1BUjvwxxGH23Fkj7vdGtbrgLEF91u8npQu) - -Paypal: rossallan3+pp@googlemail.com - -Contributors ----------------------------------- - -* [nallar](https://github.com/nallar/ "Ross Allan") -* Everyone who's helped with testing and reporting bugs :) - -Acknowledgements ----------------------------------- - -YourKit is kindly supporting open source projects with its full-featured Java Profiler. YourKit, LLC is the creator of innovative and intelligent tools for profiling Java and .NET applications. Take a look at YourKit's leading software products: [YourKit Java Profiler](http://www.yourkit.com/java/profiler/index.jsp) and [YourKit .NET Profiler](http://www.yourkit.com/.net/profiler/index.jsp). - -[Jenkins]: http://nallar.me/buildservice diff --git a/build.gradle b/build.gradle index 3f742a8..9df9ef8 100755 --- a/build.gradle +++ b/build.gradle @@ -1,105 +1,106 @@ buildscript { repositories { - mavenCentral() + jcenter() maven { - name = "forge" - url = "http://files.minecraftforge.net/maven" + name = "nallar" + url = "https://repo.nallar.me/" } maven { - name = "sonatype" - url = "https://oss.sonatype.org/content/repositories/snapshots/" + name = "forge" + url = "http://files.minecraftforge.net/maven" } } dependencies { - classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT' + classpath 'net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT' } } +apply plugin: 'net.minecraftforge.gradle.forge' +apply plugin: 'idea' -apply plugin: 'forge' - -// Extended project information -ext.projectName = 'LogSpamMustDie' -ext.inceptionYear = '2014' -ext.packaging = 'jar' -ext.url = 'http://nallar.me/minecraft' -ext.description = 'Log Spam Must Die' -ext.organization = 'nallar.me' -ext.mcVersion = '1.7.10' -ext.forgeVersion = "10.13.0.1208" -ext.fullForgeVersion = mcVersion + "-" + forgeVersion - -minecraft { - version = fullForgeVersion - runDir = "eclipse/assets" +configurations { + bundledLibs + compile { + extendsFrom bundledLibs + } } -sourceCompatibility = '1.6' -targetCompatibility = '1.6' - -version = mcVersion + '-SNAPSHOT' -group = 'me.nallar' -archivesBaseName = 'logspammustdie' +ext.mcVersion = "1.10.2" +ext.runMcVersion = "1.10.2" +ext.forgeVersion = "12.18.1.2076" +ext.forgeMappings = "snapshot_20160518" +group = "me.nallar.modpatcherexample" // http://maven.apache.org/guides/mini/guide-naming-conventions.html +archivesBaseName = "LogSpamMustDie" + +def calculateVersion() { + def ver = project.runMcVersion + if (System.env.BUILD_NUMBER != null) + return ver + "-jenkins." + System.env.BUILD_NUMBER + if (project.hasProperty("release")) + return ver + '-' + project.release + return ver + "-dev" +} -// Define variables -ext.buildNumber = project.hasProperty("buildNumber") ? buildNumber : '0' -ext.ciSystem = project.hasProperty("ciSystem") ? ciSystem : 'unknown' -ext.commit = project.hasProperty("commit") ? commit : 'unknown' +version = calculateVersion() repositories { - mavenCentral() - maven { url 'http://repo.nallar.me/' } + maven { url = 'https://repo.nallar.me/' } } -configurations { - all { - resolutionStrategy.cacheChangingModulesFor 0, 'seconds' - } - provided - compile.extendsFrom provided +configurations.all { + resolutionStrategy.cacheChangingModulesFor 10, 'seconds' } dependencies { - provided 'com.google.guava:guava:18.0' - compile group:'me.nallar', name:'modpatcher', version:'1.7.10-SNAPSHOT', changing: true + bundledLibs "me.nallar:ModPatcher:$mcVersion-SNAPSHOT:api" + compile 'org.projectlombok:lombok:1.16.6' } -jar { - duplicatesStrategy = 'exclude' - from((configurations.runtime - configurations.provided).filter{it.exists()}.collect { it.isDirectory() ? it : zipTree(it) }) { - exclude "META-INF/**" - exclude "mcmod.info" +tasks.withType(JavaCompile) { + sourceCompatibility = 7 + targetCompatibility = 7 + options.with { + encoding = 'UTF-8' + compilerArgs << "-Xlint:all" << '-Xlint:-path' << '-Xlint:-processing' } } +minecraft { + version = "${project.mcVersion}-${project.forgeVersion}" + runDir = "run" + mappings = project.forgeMappings + + replace "@MOD_VERSION@", project.version + replace "@MC_VERSION@", runMcVersion +} + processResources { // this will ensure that this task is redone when the versions change. inputs.property "version", project.version inputs.property "mcversion", project.minecraft.version - // replace stuff in mcmod.info, nothing else - from(sourceSets.main.resources.srcDirs) { - include 'mcmod.info' + filesMatching("mcmod.info") { + expand 'version': project.version, 'mcversion': runMcVersion + } + filesMatching("modpatcher.version") { + expand 'version': project.version + } +} - // replace version and mcversion - expand 'version': project.version, 'mcversion': project.minecraft.version, 'name': project.projectName +jar { + from(configurations.bundledLibs.collect { it.isDirectory() ? it : zipTree(it) }) { + exclude "META-INF/**" } - // copy everything else, thats not the mcmod.info - from(sourceSets.main.resources.srcDirs) { exclude 'mcmod.info' } + manifest.mainAttributes("FMLCorePlugin": "me.nallar.logspammustdie.CoreMod") } -// Source compiler configuration -tasks.withType(JavaCompile) { - options.compilerArgs += [ '-Xlint:all', '-Xlint:-path' ] - options.deprecation = true - options.encoding = 'utf8' +wrapper { + gradleVersion = "3.0" + def jvmOpts = "-Xmx2G" + inputs.property("jvmOpts", jvmOpts) + doLast { + def optsEnvVar = "DEFAULT_JVM_OPTS" + scriptFile.write scriptFile.text.replace("$optsEnvVar=\"\"", "$optsEnvVar=\"$jvmOpts\"") + batchScript.write batchScript.text.replace("set $optsEnvVar=", "set $optsEnvVar=$jvmOpts") + } } - -jar.manifest.mainAttributes( - "Built-By": System.properties['user.name'], - "Created-By": System.properties['java.vm.version'] + " (" + System.properties['java.vm.vendor'] + ")", - "Implementation-Title": name, - "Implementation-Version": version + "+" + ciSystem + "-b" + buildNumber + ".git-" + commit, - "Implementation-Vendor": url, - "FMLCorePlugin": "me.nallar.logspammustdie.CoreMod" -) diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index b7612167031001b7b84baf2a959e8ea8ad03c011..deedc7fa5e6310eac3148a7dd0b1f069b07364cb 100755 GIT binary patch delta 29565 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 delta 27992 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 Gm;VQ480oG6 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 074291a..f25b739 100755 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Thu Sep 11 03:36:50 BST 2014 +#Fri Sep 02 11:18:03 BST 2016 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-3.0-bin.zip diff --git a/gradlew b/gradlew index 91a7e26..6c28bcb 100755 --- a/gradlew +++ b/gradlew @@ -6,12 +6,30 @@ ## ############################################################################## -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null APP_NAME="Gradle" APP_BASE_NAME=`basename "$0"` +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="-Xmx2G" + # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" @@ -30,6 +48,7 @@ die ( ) { cygwin=false msys=false darwin=false +nonstop=false case "`uname`" in CYGWIN* ) cygwin=true @@ -40,31 +59,11 @@ case "`uname`" in MINGW* ) msys=true ;; + NONSTOP* ) + nonstop=true + ;; esac -# For Cygwin, ensure paths are in UNIX format before anything is touched. -if $cygwin ; then - [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` -fi - -# Attempt to set APP_HOME -# Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi -done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >&- -APP_HOME="`pwd -P`" -cd "$SAVED" >&- - CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar # Determine the Java command to use to start the JVM. @@ -90,7 +89,7 @@ location of your Java installation." fi # Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then MAX_FD_LIMIT=`ulimit -H -n` if [ $? -eq 0 ] ; then if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then @@ -114,6 +113,7 @@ fi if $cygwin ; then APP_HOME=`cygpath --path --mixed "$APP_HOME"` CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` # We build the pattern for arguments to be converted via cygpath ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` @@ -161,4 +161,9 @@ function splitJvmOpts() { eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [[ "$(uname)" == "Darwin" ]] && [[ "$HOME" == "$PWD" ]]; then + cd "$(dirname "$0")" +fi + exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/gradlew.bat b/gradlew.bat index 8a0b282..b14806a 100755 --- a/gradlew.bat +++ b/gradlew.bat @@ -8,14 +8,14 @@ @rem Set local scope for the variables with windows NT shell if "%OS%"=="Windows_NT" setlocal -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= - set DIRNAME=%~dp0 if "%DIRNAME%" == "" set DIRNAME=. set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS=-Xmx2G + @rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome @@ -46,10 +46,9 @@ echo location of your Java installation. goto fail :init -@rem Get command-line arguments, handling Windowz variants +@rem Get command-line arguments, handling Windows variants if not "%OS%" == "Windows_NT" goto win9xME_args -if "%@eval[2+2]" == "4" goto 4NT_args :win9xME_args @rem Slurp the command line arguments. @@ -60,11 +59,6 @@ set _SKIP=2 if "x%~1" == "x" goto execute set CMD_LINE_ARGS=%* -goto execute - -:4NT_args -@rem Get arguments from the 4NT Shell from JP Software -set CMD_LINE_ARGS=%$ :execute @rem Setup the command line diff --git a/src/main/java/me/nallar/logspammustdie/CoreMod.java b/src/main/java/me/nallar/logspammustdie/CoreMod.java index ae3a7b1..1a2df68 100755 --- a/src/main/java/me/nallar/logspammustdie/CoreMod.java +++ b/src/main/java/me/nallar/logspammustdie/CoreMod.java @@ -1,12 +1,16 @@ package me.nallar.logspammustdie; -import cpw.mods.fml.relauncher.IFMLLoadingPlugin; import me.nallar.modpatcher.ModPatcher; +import net.minecraftforge.fml.relauncher.IFMLLoadingPlugin; import java.util.*; @IFMLLoadingPlugin.SortingIndex(1001) // Magic value, after deobf transformer. public class CoreMod implements IFMLLoadingPlugin { + static { + ModPatcher.requireVersion("1.10.2.1"); + } + @Override public String[] getASMTransformerClass() { return new String[0]; @@ -24,7 +28,7 @@ public String getSetupClass() { @Override public void injectData(Map stringObjectMap) { - ModPatcher.addPatchesFromInputStream(CoreMod.class.getResourceAsStream("/modpatcher.xml")); + ModPatcher.loadPatches(CoreMod.class.getResourceAsStream("/modpatcher.xml")); } @Override diff --git a/src/main/resources/mcmod.info b/src/main/resources/mcmod.info index 0234be5..7b491ee 100755 --- a/src/main/resources/mcmod.info +++ b/src/main/resources/mcmod.info @@ -1,7 +1,7 @@ { "modListVersion": 2, "modList": [{ - "modid": "mod_${name}", + "modid": "LogSpamMustDie", "name": "Log Spam Must Die", "description": "Example Mod Patcher coremod which removes annoying log spam", "version": "${version}",