- `7.0.142` [HotFix] Create consistent lists of dependency ids for generating jsons (#204) - `7.0.141` Fix unpackSourcePatches and generate binary patches (#199) Co-authored-by: Marc Hermans - `7.0.140` [Feature] Introduce the possibility to manual group sourcesets together (#200) - `7.0.139` [Feature]: Add support for DevLogin (#192) - `7.0.138` [Feature]: Improved testing (#194) - `7.0.137` [Feature]: Improved caching (#191) - `7.0.136` Use unique contexts for installer library lookup (#190) - `7.0.135` [Feature]: Add JUnit Support V2 (#183) Co-authored-by: Matyrobbrt Co-authored-by: shartte - `7.0.134` [Hotfix]: Fix the lookup of delegated runs on none neogradle projects (#185) - `7.0.133` [Fix] Update JST and add back support for MultiSourceSet setups (#180) - `7.0.132` Implement a clean up of the ivy repository (#179) - `7.0.131` Fix issues with a split-horizon dependency lookup (#178) - `7.0.130` [Tech-Debt] Resolve the issue where Mixin Extras does not appear on the CP (#176) - `7.0.129` [Tech-Debt] Switch to using full named configurations. (#173) - `7.0.128` [Tech-Debt] Reduce complexity on Dependency Replacement and fix Bugs (#171) - `7.0.127` Create Conventions subsystem (#170) - `7.0.126` Update AccessTransformer DSL to use new Dependencies DSL to match DependencyHandler (#168) - `7.0.125` Implement ATs with JST and enable incremental compilation (#147) - `7.0.124` Fix/multi project leaking (#167) - `7.0.123` Add system for publishing and consuming ATs (#146) Co-authored-by: Marc Hermans - `7.0.122` Add setConfigurations for jarJar (#145) Co-authored-by: Marc Hermans - `7.0.121` Implement native support for version catalogues (#158) - `7.0.120` Slight simplification of dep replacement (#164) - `7.0.119` Fix installer profile being wrongly cached (#163) - `7.0.118` Avoid deleting dummy repository files unless needed (#161) - `7.0.117` Fix installer URLs without a trailing slash (#159) * Fix installer URLs without a leading slash `URI#resolve` is stupid. * I meant trailing trust me - `7.0.116` Fix long-form Vineflower log and thread arguments not getting recognized (#157) - `7.0.115` Fix injection logic not taking into accounts that trees might need to be offset by a prefix. (#156) - `7.0.114` Fix handling of multiple AccessTransformers in the same project (#155) - `7.0.113` Merge pull request #154 * Remove MCP_MAPPINGS from the generated Neoforge run types - `7.0.112` Update gradle version and bump wrapper (#152) - `7.0.111` Fix unused mcp_mappings placeholder causing problems (#153) Previously we set the unused mcp_mappings placeholder to a file that doesn't exist. Gradle now checks the file we try to resolve actually exists and crashes. - `7.0.110` Implement delayed resolve of dev config artifacts. (#140) - `7.0.109` Make jarJar configuration not consumable (#149) - `7.0.108` Use correct installer library repository urls (#143) * Use correct installer library repository urls * Remove println - `7.0.107` Split PR publishing and tests This way, PR publishing can work when tests fail - `7.0.106` Merge pull request #131 * Initial jarJar refactor * Add missing file * Reimplement missing extension methods * Expose remaining public method * More improvements * Fix path in generated metadata * Undo needless change to DynamicProjectExtension.java * Merge branch 'NG_7.0' into jarjar-conf-cache * Minor fixes and deprecate pin and ranged * Specialize DependencyManagementObject#dependency to match gradle's De… * Fix minor issues with jarJar and begin adding docs * Change system to support library feature variants * Fix some potential attribute edge cases * Allow jarJar-ing of non-module artifacts with capabilities * Use module name detection that prioritizes capabilities - `7.0.105` Improve error message for userdev dependencies (#139) - `7.0.104` Fix AT artifact (#138) - `7.0.103` Bump AT (#137) - `7.0.102` Depend on GDI via capability (#135) - `7.0.101` Publish with gradle API attribute (#134) - `7.0.100` Make CoordinateCollector deterministic (#133) - `7.0.99` Fix config cache errors (#132) * Fix config cache errors * Fix failing functional tests - `7.0.98` Fix TokenizedTaks passing Objects directly to ReplaceTokens (#130) - `7.0.97` Close output stream after writing files in CopyingFileTreeVisitor (#128) - `7.0.96` Make NeoFormRuntimeSpecification#getNeoFormVersion work with suffixed neoform versions (#124) - `7.0.95` Fix regression in behavior of NeoFormRuntimeSpecification#getNeoFormVersion (#123) - `7.0.94` Prepare for configuration cache (#118) - `7.0.93` Fix creation of eclipse process resources task (#116) * Update IdeRunIntegrationManager.java * .. - `7.0.92` Add sync tasks for eclipse resources (#108) * Add sync tasks for eclipse resources Update IdeRunIntegrationManager.java * Add comment to edge case * Add to debug task, not exactly correct, but should work ~= logically same as fg solution - `7.0.91` Test with `getDependencies` only. (#115) - `7.0.90` Release with actions (#113) - `7.0.89` Raise fuzzy patching quality to 90% (#114) - `7.0.88` Allow NG7 plugins to be used as siblings (#112) * Support Parchment and Sibling projects. * Fix an issue with the step selection. - `7.0.87` Resolve NeoForm & NeoForge ZIP-Archives Earlier to Access Configs in Specifications (#86) Refactor NeoForm & NeoForge archive handling such that the archives are resolved earlier. That allows simplification of the runtime specifications by resolving the configuration files in the archives when the specifications are built. - `7.0.86` Match NEOFORGE_SPEC value to Specification-Version (#111) - `7.0.85` Do not capture standard out/error (#110) - `7.0.84` Don't automatically configure when using a Provider (#104) - `7.0.83` Document RunnableSourceSet (#102) - `7.0.82` Fix empty configurations adding empty string to BSL ignore list (#101) - `7.0.81` Bump installertools to fix installer Java 8 compatibility - `7.0.80` Configure installer to hide the extract option (#95) - `7.0.79` Use more of our forks (#94) - `7.0.78` Use our fork of the installer (#92) - `7.0.77` Add recompile-input as task dependency to apply parchment to fix it reusing old outputs when updating NeoForge (#91) - `7.0.76` Update JST to fix Parchment for long/double Parameters (#89) - `7.0.75` Fix comment-style in gradle script example (#88) - `7.0.74` Parchment Prototype (#83) * Added support for applying Parchment parameter name mappings and Javadoc * Docs * Docs change --------- Co-authored-by: Matyrobbrt <65940752+Matyrobbrt@users.noreply.github.com> - `7.0.73` PR publishing infrastructure (#87) * PR publishing infrastructure * Update build.gradle - `7.0.72` Important branding :-) (#85) - `7.0.71` Fix extended-from Configurations not ending up in the Minecraft Classpath (#82) ClasspathSerializer for some reason doesn't seem to consider configuration inheritance. Manually add the super-configurations to the input-files instead (mirroring what is done for additional userdev dependencies) - `7.0.70` Use a Configuration to model the additional dependencies of each run (#81) * Use a Configuration to model the additional dependencies of each run, since configurations seem to be better at tracking task dependencies. * Remove unused files. - `7.0.69` Various Task Improvements (Patch, Strip, Recompile) (#75) * Apply patches directly from the archive and not the unpacked NeoForm directory. End-Goal: Don't unpack NeoForm. * Make strip use try-with-resources. * Move doLast into the task action of RecompileSources. * Disable Caching for ArtifactFromOutput, since all it does is copy a file, which is the same as the cache restore would do. - `7.0.68` Remove runtime data in an effort to reduce task inputs to only the relevant ones. (#76) - `7.0.67` Generate configuration closures for ATs (#80) - `7.0.66` Nuke unused args (#79) - `7.0.65` Fix PotentiallySignJar since Gradle hard-casts to a concrete PatternSet (#77) - `7.0.64` Bump training-wheels dependency. (#73) - `7.0.63` Add the ability to customize recompile settings (#72) * Add the ability to customize recompile settings. * Remove outdated setMemoryMaximumSize from RecompileSourceJar since it'll always be overridden. - `7.0.62` Streamline Inject Tasks for Neoforge in Userdev (#71) * Add the ability to the runtime builder to customize individual tasks in addition to manipulating the task tree. * Enhance the InjectCode task to handle multiple injection source simultaneously, each with their own filters. Use that new task to merge the injections from NeoForm and NeoForge userdev into a single task. - `7.0.61` Fix JSON serialization not closing the InputStream in some cases, as well as not setting the UTF-8 character set explicitly (and thus falling back to the default platform encoding). (#69) - `7.0.60` Replace spaces in ideBeforeRun task names (intellij doesn't like them) - `7.0.59` Fix the run gradle task not correctly accounting for processResources tasks of dependent sourcesets - `7.0.58` Always download Launcher Manifest, but do it conditionally (#67) * Fixes #66 by using upToDateWhen to indicate the launcher manifest download task is never up-to-date. To mitigate the re-download, use If-Modified-Since in all HTTP download requests if the target file already exists. * Create the download directory if it doesn't exist. - `7.0.57` Add `userdevCompileOnly` configuration and allow JarJar usage in the platform `universalJar` (#60) - `7.0.56` Transform decompile step into a task that is customizable via specific settings (#46) Example: ```gradle subsystems { decompiler { maxMemory = "2g" maxThreads = 4 logLevel = DecompilerLogLevel.TRACE jvmArgs = ["-verbose:gc'] } } ``` - `7.0.55` Link to NeoForged project page instead of maven. (#63) - `7.0.54` Remote the `ignoreList` regex (#62) The regex attempts to remove version information from the jar, so that it would go from `artifact-name-.jar` to `artifact-name` in the BSL ignore list. But the full name will work as well. See https://github.com/McModLauncher/bootstraplauncher/blob/d1e91742561c9ea37c035c0fec2bd756967a1395/src/main/java/cpw/mods/bootstraplauncher/BootstrapLauncher.java#L70. And in fact the full name is already being used by fml-core and fml-events (jar names `core-.jar` and `events-.jar`) because `core` is too generic of a prefix to be excluding, and same for `event`. It was buggy when paired with versions with classifiers, and is simply not needed. No implementations of maven downloaders will rename the file. So just remove the core/events special cases and the regex altogether. - `7.0.53` Add `jarJar` task to `assemble` dependencies (#61) - `7.0.52` Switch to Gradles approach for serializing System properties (which expects the user to escape quotes themselves). Escape VM arguments passed to Eclipse. (#59) - `7.0.51` Use the full project path to decide whether dynamic project management should apply the platform plugin. (#58) - `7.0.50` Fix spaces in Gradle user home breaking IntelliJ run configurations. (#57) - `7.0.49` Fix TeamCity issue tracker link in TC - `7.0.48` Implement support for dynamic runtime dependencies (#52) * Implement dependency handling for runtime only dependencies. * Fix several issues caused by the latest changes. - `7.0.47` Refactor how and when runs apply the config from their run type to ensure it is always applied before configuring the run. (#55) - `7.0.46` Check hashes in ListLibraries (#53) - Use DownloadFileAction to download files, rather than doing it directly. - Check the hash when extracting from a bundle. - `7.0.45` Update GDI (#51) - `7.0.44` Fail fast when a dependency replacement handler throws an unhandled exception. (#49) - `7.0.43` Pre-create the idePostSync Task in IntelliJ to prevent it not existing from masking the actual project sync error. (#48) - `7.0.42` Switch to the NeoForged GDI artifact (#47) - `7.0.41` Fix multiple AT files not working when final file name matches (#41) - `7.0.40` Update neoforge jar path to remove the MC version prefix (#40) - `7.0.39` Fix patch generation using system line separator causing all patches to diff on windows (#39) - `7.0.38` Remove TC CI checks (#36) - `7.0.37` Added a GHA Pull-Request Workflow (#35) There is also a separate test-reporting workflow to allow the reporting of JUnit test results as a Github check, even if the build is running without write-permission (i.e. the PR is made from a fork). - `7.0.36` Fixed another spot where memory size was being computed. (#33) Pass heap size as megabyte, since Groovy seems to be fussy about other formats. Use integer division to prevent String.format from throwing due to invalid type conversion. - `7.0.35` Add useful links to README.md (#32) Add links to the docs, MDK and the NF maven to see the latest available versions of NG. - `7.0.34` Assign memory to fork options for recompile and execute. Should fix several OOM related issues with the recompile and decompile cycle. - `7.0.33` Fix an issue where libraries and assets write to the same directory - `7.0.32` Centrally cache services - `7.0.31` Implement internal cache directory. - `7.0.30` Centrally cache the libraries needed. - `7.0.29` Fix gradle being stupid when generating set properties. Closes: #29 - `7.0.28` Merge pull request #21 * Switch back to using the renamed jar as the base for joined binpatch … - `7.0.27` Merge pull request #28 * Add installer logo property to installer task - `7.0.26` Fix an issue where the file cache provider was using @Nested preventing optimizations on modern gradle. - `7.0.25` Introduce central caching of assets. Prepare for central caching of other easy cacheable resources. Disable caching of run tasks Do not make eclipse wait for termination Closes: #24 Closes: #22 Closes: #15 Closes: #14 - `7.0.24` Merge branch 'feature/mixins' into NG_7.0 - `7.0.21` Fix module path quoting. - `7.0.20` Also run asset download for data generators. - `7.0.19` Only run with assets and natives on client like runs. - `7.0.18` Only download assets on runs. - `7.0.17` Better implement quoting around interpolation data. - `7.0.16` Fix a corner case where there is a sourceset in a run that has no runtimes available. - `7.0.15` Additionally configure build dependencies. - `7.0.14` Fix a missing short-circuit handling of the ProjectHolder. - `7.0.13` Add support for using SourceSets which are not related to NeoGradle applied projects. Closes: #26 - `7.0.14` Add support for the new Mixin argument. - `7.0.13` Add support for per Run and per Jar task configs. Closes: #14 - `7.0.12` Automatically generate auto headers. Closes: #17 - `7.0.11` Only apply IDE plugins when they are not applied yet. Closes #19 - `7.0.10` Compile java for all related sourcesets before running the game. - `7.0.9` Always surround interpolated values with quotes. Closes: #20 - `7.0.8` Break on successful download - `7.0.7` Merge pull request #16 from Technici4n/retries-assets Retry on asset download failure - `7.0.6` Retry on asset download failure - `7.0.5` Use the source configuration as the target of the task execution dependency - `7.0.4` Use the raw jar providing task directly in the target dependency and not in a wrapper. - `7.0.3` Add classpath data properly since we now do funny things with configurations. - `7.0.2` Fix publishing of maven artifacts and plugin coordinates. - `7.0.1` Fix the tests not working due to the new replacement logic supporting more than one configuration. - `7.0.0` Implement proper clean up of ng_dummy_ng dependencies Add GU 3.x Add versioning