From d7315f04ba95c6565f1f87dac58027e3e7e98b7e Mon Sep 17 00:00:00 2001 From: stfwi Date: Sun, 10 Feb 2019 16:48:46 +0100 Subject: [PATCH] Initial gitignore and gradle files. --- .gitignore | 31 +++++ build.gradle | 76 +++++++++++ gradle.properties | 14 ++ gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 53319 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 164 +++++++++++++++++++++++ gradlew.bat | 90 +++++++++++++ license | 2 +- 8 files changed, 382 insertions(+), 1 deletion(-) create mode 100644 .gitignore create mode 100644 build.gradle create mode 100644 gradle.properties create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100644 gradlew create mode 100644 gradlew.bat diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..bc342eb --- /dev/null +++ b/.gitignore @@ -0,0 +1,31 @@ +bin +*.launch +.settings +.metadata +.classpath +.project +out +*.ipr +*.iws +*.iml +.idea +build +.gradle +*.tmp +*.log +*.jks +eclipse +run +tests +/dist +signing.* +src/main/java/archive +src/main/resources/assets/minecraft +.vscode +/classes +/dev +/tmp +/archive +/assets-src +.gimp +*.xcf diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..8d52f57 --- /dev/null +++ b/build.gradle @@ -0,0 +1,76 @@ +// @file build.gradle +// Engineer's decor mod gradle build relay (mc1.12.2) +// +buildscript { + repositories { + jcenter() + maven { url = "http://files.minecraftforge.net/maven" } + } + dependencies { + classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT' + } +} +apply plugin: 'net.minecraftforge.gradle.forge' +sourceCompatibility = targetCompatibility = '1.8' +compileJava { // Need this here so eclipse task generates correctly. + sourceCompatibility = targetCompatibility = '1.8' +} + +//----------------------------------------------------------------------------- +version = "${version_engineersdecor}" +group = "wile.engineersdecor" +archivesBaseName = "engineersdecor-${version_minecraft}" + +def signing = { -> + def sp = new Properties() + if(file("signing.properties").exists()) file("signing.properties").withInputStream { sp.load(it) } + return sp +}() + +def git_version = { -> + def stdout = new ByteArrayOutputStream() + exec { + commandLine 'git', 'log', '-1', '--format=%h' + standardOutput = stdout + } + return stdout.toString().trim() +}() + +minecraft { + version = "${version_minecraft}-${version_forge}" + runDir = "run" + mappings = "stable_39" + replace '@MOD_BUILDID@', "#${git_version}" + replace '@MOD_SIGNSHA1@', signing.getProperty('fingerprint_sha1') + replace '@MOD_VERSION@', "${version_engineersdecor}" + replace '@MOD_MCVERSION@', "${version_minecraft}" + replaceIn "ModEngineersDecor.java" +} + +dependencies { +} + +processResources { + inputs.property "version", project.version + inputs.property "mcversion", project.minecraft.version + from(sourceSets.main.resources.srcDirs) { + include 'mcmod.info' + expand 'version':project.version, 'mcversion':project.minecraft.version + } + from(sourceSets.main.resources.srcDirs) { + exclude 'mcmod.info' + } +} + +task signJar(type: SignJar, dependsOn: reobfJar) { + onlyIf { signing.getProperty("keystore_file"); } + keyStore = signing.getProperty("keystore_file") + alias = signing.getProperty("keystore_alias") + storePass = signing.getProperty("keystore_pass") + keyPass = signing.getProperty("keystore_keypass") + inputFile = jar.archivePath + outputFile = jar.archivePath +} +build.dependsOn signJar + +// EOF diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..ce61bf7 --- /dev/null +++ b/gradle.properties @@ -0,0 +1,14 @@ +# @file gradle.properties +org.gradle.daemon=false +org.gradle.jvmargs=-Xmx8G +version_minecraft=1.12.2 +version_forge=14.23.5.2768 +version_engineersdecor=1.0.0-b1 +# +# jar signing data loaded from signing.properties in the project root. +# +#signing.keystore_file= +#signing.keystore_alias= +#signing.keystore_pass= +#signing.keystore_keypass= +#fingerprint_sha1.fp_sha1= diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..d3b83982b9b1bccad955349d702be9b884c6e049 GIT binary patch literal 53319 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 literal 0 HcmV?d00001 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..bac49df --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Sun Nov 25 15:35:29 CET 2018 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-bin.zip diff --git a/gradlew b/gradlew new file mode 100644 index 0000000..27309d9 --- /dev/null +++ b/gradlew @@ -0,0 +1,164 @@ +#!/usr/bin/env bash + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# 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="" + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn ( ) { + echo "$*" +} + +die ( ) { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +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 + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +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` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules +function splitJvmOpts() { + JVM_OPTS=("$@") +} +eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS +JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" + +exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..f6d5974 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,90 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +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= + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@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. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +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 + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/license b/license index 37ec652..e86a396 100644 --- a/license +++ b/license @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2018-2018 Stefan Wilhelm (wile) +Copyright (c) 2018-2019 Stefan Wilhelm (wile) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal