- `1.0.18` Provide the first 1024 byte of the HTTP response body in case of a download error (#57) - `1.0.17` Support "*" entries in the Artifact Manifest for includeBuild dependency substitution (#53) This is needed to make NFRT use Gradle supplied dependencies even if the version numbers mismatch (i.e. in includeBuild scenarios). - `1.0.16` Add information to the maven pom (#54) This is usually useless but renovate can link to the repo when it detects the source url in the pom so it's useful to quickly navigate to the project and look at the commit history when bumping NFRT via renovate. - `1.0.15` Fix --neoform argument requirements (#52) Remove --neoform-file again. Instead use the existing ArtifactManager methods that allow --neoforge / --neoform to be file paths. - `1.0.14` Allow local NeoForm files to be used (#49) Adds a `--neoform-file=` option to pass NFRT a local NeoForm archive instead of a GAV. Very useful for local testing with custom NeoForm archives. - `1.0.13` Fix the logic of running internal tools using the host JRE being inverted (#48) This works exactly opposite to what was intended. Internal tools like JST/DiffPatch should run with NFRTs JRE, even if we're running MCP for Java 1.8, while the tools from that MCP config should run with Java 1.8. The toggle currently does the exact opposite of that. - `1.0.12` Add support for stripping Jar signatures when recompiling/remapping Forge (#47) In "legacy" mode, we don't copy over the modding platform Jar unmodified, instead we remap and recompile the source files while copying over resources. This breaks the Jar signatures contained in the MANIFEST.MF, so we need to do the following: - Don't copy signature related resources (META-INF/*.{SF,RSA,EC,DSA}) - Filter out any digests from the MANIFEST.MF we copy (since the SHA-256 values will obviously differ after remapping/recompiling) - While we're at it, don't try to copy the bogus MANIFEST.MF from the source artifact - `1.0.11` Fix use of fabricmc lib where it shouldn't have been used. (#46) - `1.0.10` Migrate to GradleUp shadow - `1.0.9` Legacy Support (#36) - NFRT needs the ability to supply a specific JDK home for recompilation and supplying the JRE libraries for Vineflower / Remapping. (It runs under 21 itself but the 1.20.1 decompiler crashes with J21 libs) - Patches in 1.20.1 had a different prefix (not a/, b/), so I added the required support for specifying the patch prefix. 1.12 specified the different prefixes in its "userdev" config, so support for that is just added. - Properly process the NeoForm/MCP java version in the recompile options (was harcoded to 21 before) - NFRT gains support to remap the sources from SRG->Mojang via the Regular Expression based remapper - Add a task that generates mappings in different formats and directions (named <-> intermediary, TSRG/SRG/CSV) for use in pre 1.20.1 toolchains - Support for a few nitpicky changes in the Userdev JSON --------- Co-authored-by: Matyrobbrt - `1.0.8` Add support for the natives/classifier concepts in Minecraft version manifests (#45) These were used in 1.18 and below to reference natives instead of rules. - `1.0.7` Fix 404 from local Maven repo skipping remaining repos (#44) - `1.0.6` Fix asset index caching (#43) We need to override `checksum()` and `checksumAlgorithm()` for the downloader to reuse a local file. - `1.0.5` Update dependency net.neoforged.jst:jst-cli-bundle to v1.0.66 (#42) Fix a stub generation concurrency bug. - `1.0.4` Add system to specify extra results (#39) I am using NFRT in a non-moddevgradle context, and would like to be able to get the results of some additional steps out of it. Hardcoding all the steps someone might want to use doesn't seem practical, so instead I figured it'd be more sensible to have a system to specify extra steps whose outputs should be available as results. - `1.0.3` Update dependency net.neoforged.jst:jst-cli-bundle to v1.0.64 (#41) - `1.0.2` Update dependency org.eclipse.jdt:ecj to v3.38.0 (#40) - `1.0.1` Update dependency net.neoforged.jst:jst-cli-bundle to v1.0.63 (#38) - `1.0.0` Cleanup old lock files regularly (#37) - `0.1.73` Enhanced asset download support (#25) - Add support for copying Assets from an existing Launcher - Add support for writing the Neoform asset JSON reference format - Add support for specifying the asset download directory - `0.1.72` Added FTB App Paths for Linux and Mac OS (#35) - `0.1.71` Add detection of MC launcher installations and reuse libraries stored there (#27) - `0.1.70` Expose rename step output as a result (#34) - `0.1.69` Fix usage of source-path for ECJ (#33) - `0.1.68` Add the executed command to the console log-file and improve tailing short files (#31) - `0.1.67` Fix interface injection parameter and output if no data is given (#32) - `0.1.66` Implement interface injection (#30) See https://github.com/neoforged/JavaSourceTransformer/pull/33 Adds a new `--interface-injection-data` parameter used to specify the location of interface injection data files. --------- Co-authored-by: Sebastian Hartte - `0.1.65` Write the asset properties file using ISO-8859-1 encoding as this is standardized (#29) While UTF-8 is nicer, we should stick to the default. That default is ISO-88591 when using the OutputStream overloads of `store`. - `0.1.64` Fix toggle-options not working correctly when no true/false argument was supplied (#26) I.e. `--color` should enable color, but it doesn't when no `fallbackValue=true` is set. With `negatable=true`, this enables `--color` and `--no-color` to work as expected. - `0.1.63` Update plugin net.neoforged.gradleutils to v3.0.0 (#23) - `0.1.62` Update dependency gradle to v8.8 (#24) - `0.1.61` Update dependency net.neoforged.jst:jst-cli-bundle to v1.0.50 (#22) - `0.1.60` Configure Renovate [skip ci] (#20) - `0.1.59` Add an option to validate ATs (#18) This PR adds a `--validate-access-transformers` option that, when enabled, will make JST fatally error when ATs do not have a valid target. - `0.1.58` Adds support for automatic Parchment conflict resolution (#17) See https://github.com/neoforged/JavaSourceTransformer/pull/19 - `0.1.57` Externalize tool versions (#16) - `0.1.56` Bump JST to 1.0.42 (#15) - `0.1.55` Implement longer waits (5s instead of 10ms) when we get permission denied on Windows (#14) Make it less likely to fail when IJ locks our Minecraft artifact files. - `0.1.54` Added a test run for 1.19.2 - `0.1.53` Support user-supplied access transformers when only using NeoForm (#13) To fix https://github.com/neoforged/ModDevGradle/issues/38 - `0.1.52` Print pid and thread-id in verbose-mode. (#12) - `0.1.51` React better to access denied exceptions when obtaining lock files. (#11) - `0.1.50` No it doesn't [no ci] - `0.1.49` Remove duplicate publication. Gradle already creates one. - `0.1.48` Do not cache launcher manifests too eagerly. - `0.1.47` Rename output for combined sources+classes jar to match NeoForge - `0.1.46` Link to releases. - `0.1.45` Flip logic for --no-emoji and disable emojis by default on Windows for now until Gradle fixes their stuff. (#10) https://github.com/neoforged/ModDevGradle/issues/8 - `0.1.44` Improve Graph Export - `0.1.43` Rename ApplySourceAccessTransformersAction to ApplySourceTransformAction and allow the parser classpath to be extended - `0.1.42` When verbose mode is enabled, properly quote printed command line arguments to make re-running the command as-is easier - `0.1.41` Ensure the sources with patches+parchment are zipped (#9) - `0.1.40` Modify the NeoForge flow to produce separate artifacts and merge classes in after recompile (#7) Fixes [#11](https://github.com/neoforged/ModDevGradle/issues/11) - `0.1.39` Fix nullability issues when reporting cache misses. - `0.1.38` Fix disabling of cache use and storage - `0.1.37` Normalize maven coordinate extensions "jar"->"" to improve artifact manifest hit-rate. - `0.1.36` Improve logging in cases of misses - `0.1.35` Forgot places to warn about downloads - `0.1.34` Add an option to warn about misses in the artifact manifest - `0.1.33` Fix cleanup when directories are missing - `0.1.32` Added --no-color and --no-emoji Support - `0.1.31` Properly work with paths that are across drives. - `0.1.30` Seemingly the ECJ option RELEASE is not the same as --release - `0.1.29` Use "--release" semantics for ECJ too. - `0.1.28` Consider options in the cache key - `0.1.27` Make javac target release 21 - `0.1.26` Retry downloads on all IOExceptions - `0.1.25` Adjust compiler-options to be more in-line with what Gradle passes - `0.1.24` Adjust compiler-options to be more in-line with what Gradle passes - `0.1.23` Add compiler-type to cache key - `0.1.22` Limit retry attempts to 5. - `0.1.21` Add GOAWAY handling - `0.1.20` Implement retry-support and handling of 429 - `0.1.19` Handle artifact IDs as either paths or actual coordinates. - `0.1.18` Add Parchment support - `0.1.17` Add an experimental mergeWithSources result to try new avenus for IJ integration - `0.1.16` Only show recompile ERRORs unless in verbose mode - `0.1.15` Remove the use of AnsiColors that conflict with dark themes. - `0.1.14` Move all logging to a centralized class. - `0.1.13` Rename StringUtils -> StringUtil [no ci] - `0.1.12` Document artifact manifest [no ci] - `0.1.11` Readme cleanup, change cache directory. - `0.1.10` Implement better lock spinner Implement not replacing a result-file if it already matches - `0.1.9` Document download-assets [skip ci] - `0.1.8` Added an example [no-ci] - `0.1.7` Added description of the run command. - `0.1.6` Add automated cache maintenance on run. - `0.1.5` Started implementation of a cache-cleanup command. - `0.1.4` Added publishing repositories - `0.1.3` Added workflows - `0.1.2` Remove previous workflow - `0.1.1` Added gradleutils - `0.1.0` Continue renaming to NFRT