master Changelog 0.4 === - 0.4.8 Add default known directories to JDK locater. - 0.4.7 Bump Java Provisioner to help debug errors with nested exceptions - 0.4.6 Bump Java Provisioner, which now includes more locations to search. - 0.4.5 Log errors when JDK provisioning fails - 0.4.4 Don't fail entire process of extra step fails to serialize - 0.4.3 Allow MCPConfigRepo to output extra for MavenTask Usage: `--artifact net.minecraft:client-extra` - 0.4.2 Allow MavenTask to output a repo with only pom/module Experimental. MCPConfig only for now. - 0.4.1 Add API variant using scoped dependencies - 0.4.0 0.4 - Java 25, Complex OS Rules, Log Cache Misses, and Java Provisioner 2.0 (#6) 0.3 === - 0.3.27 Log better errors when we can't provision java, bump provisioner to be less strict. - 0.3.26 Bump Provisioner - 0.3.25 Experimental support for using project repositories for maven artifacts This allows the Mavenizer to "download" local Forge builds from local file repositories. This CLI flag is EXPERIMENTAL and can change at any point in the near future. I'm pushing this commit early in order to test some essential changes in ForgeGradle 7. - 0.3.24 Only inject javadocs into vanilla classes. - 0.3.23 Fix parchment's classes.csv using incorrect class names. - 0.3.22 Fix javadocs injection - 0.3.21 Add experimental "output-files" flag to MCPTask `--output-files` expects a file for where the JSON file with paths to extra files will be placed. Extra files, for now, includes raw jars, version manifest/json, mappings, libraries.txt. These are all things that Mavenizer does so that ForgeDev doesn't have to do them. **This is EXPERIMENTAL and the flag will likely be removed soon!** This is only up for testing purposes right now, as I try and figure out a way to make ForgeDev 7 do less work. - 0.3.20 Update buildscript - 0.3.19 Add Automatic Module Name (#5) Add Automatic Module Name, due to having a "-" means the JDK cant come up with it itself. - 0.3.18 Fix variant cache using incorrect file. - 0.3.17 Auxiliary artifacts variant-aware resolution opt-out To fix an issue with auxiliary artifact variant selection (it doesn't work), a new flag `--global-auxiliary-variants` can be enabled to overwrite any previous source JAR variants in the output. - Fixes Parchment sources not including remapped parameter names. - See [gradle/gradle#35065](). - 0.3.16 Fix Parchment unnamed parameters Parchment parameters can have a null (or potentially even blank) name for a parameter, while still having a javadoc description. To account for this, use the SRG name if the name is null or blank. - 0.3.15 Write POM files for mappings-only dependency Gradle can go kill itself - 0.3.14 write pom files for non-primary mappings if they don't already exist. - 0.3.13 Add mcp-data task - 0.3.12 Add --mappings-data artifact to output just the mappings.csv zip file. - 0.3.11 Very small (I promise) task refactor This includes a small part of the canned task caching PR, which is the interface change to Task and making RenameTask, InjectTask, etc. use it. Also enforces dependencies be declared with Task#deps instead of just providing a List or Set. - 0.3.10 Revert "Add support for complex rules in version.json" This reverts commit 99a1b10c0d0c73f13d7124057723410b0ff78c20. - 0.3.9 Add support for complex rules in version.json Fixes older versions where windows/linux used a bumped version of a library while macos used an old version - 0.3.8 Added `--raw` flag to MCPTask to output the raw jar Combine with `--searge` for the SRG jar. This may or may not be removed at a later date depending on how ForgeDev turns out. - 0.3.7 Added mappings argument for MavenTask This effectively deprecates the parchment argument. Mappings are formatted as channel:version, defaulting to just channel if no version is specified (i.e. notch, official:1.21.5). MavenTask uses "official" by default. - 0.3.6 Use bundle lib's path instead of artifact local path - 0.3.5 Output notch and srg obf variants with mcp repo - 0.3.4 Fix clean server failing on listLibraries - 0.3.3 Add optional mappings to MCPTask Must be enabled with the `--mappings` flag. Also added the `--parchment` flag because dear god, we need parameter names in ForgeDev soon. - 0.3.2 Added parchment support - 0.3.1 Update File Utils to fix Windows zip creation - 0.3.0 Use full name (Mavenizer) in artifact name Also, added a GitHub workflow for moving to MinecraftForge/MinecraftMavenizer 0.2 === - 0.2.10 Fix POM file only including natives - 0.2.9 Fix more incorrect outputs, slight code cleanup - 0.2.8 Fix Forge POM not including MC dependencies - 0.2.7 Move client-extra generation and add POM files - 0.2.6 Fix out-of-date listLibraries ocassionally causing crashes - 0.2.5 Manually specify artifact ID instead of using project name - 0.2.4 Cleanup JarVersionInfo - 0.2.3 Add AccessTransformer and SideAnnotationStripper support to mcp entry point. - 0.2.2 Add basic multi-entrypoint system, old system requires --maven argument now Add --mcp entry point to generate 'clean' sources from a MCPConfig pipeline. - 0.2.1 Added framework for mappings Added mappings zip and client extra dependencies Moved management of actual output files outside their generation. Fixed some caching issues (Don't use the output file as an input to the cache, and be sure to save the cache file Code cleanup - 0.2.0 0.2 - Jonathan's work on CleanDev and extra functionality. 0.1 === - 0.1.4 Javac now dumps all args to dedicated file Also includes the following enhancements: - Get our own version from jar - Fixed jar not building out of the box - Some small logging changes - 0.1.3 Partial workaround for Windows file deletion issue (see #2) - 0.1.2 Fix duplicating entries on Jar creation - 0.1.1 Don't output command arguments twice - 0.1.0 0.1: Phase 1 - Functional Maven Generation This commit is the first phase of the toolchain rewrite project. The second phase is integration into new ForgeGradle. See the README.md for more information (still incomplete). Please note that the code is still not very clean. However, it is functional and does what it needs to do. We can clean it up over time and there may still be some existing pain points, but the fundemental functionality of MinecraftMaven is now complete and implemented. 0.0 === - 0.0.1 Fix not using downloaded JDK - 0.0.0 Initial Commit