main Changelog 2.6 === - 2.6.0 Remove annoyances, fix remaining compatibility issues (#25) Remaining incompatibilites (won't be fixed) - Dependence on Java 17 Buildscript changes - Updated Gradle to 8.14 - Removed `buildSrc` - GradleUtils is now built against a redistributed Gradle API 7.3 dependency - Updated the Shadow plugin to 9.0.0-beta13 - Force Gradle daemon's JVM version to 17 to fix issues with Groovydoc task Code changes - Yet another big cleanup - Removed PromoteArtifact task (was marked as experimental, will be re-added in 3.0) - Updated Git Version - Removed annoyances within PomUtils - Restored backwards compatibility with Gradle 7.3 2.5 === - 2.5.1 Disable configuration cache until Gradle 9.0 Gradle's configuration cache comes with too many bugs to be worth the trouble. I will continue to make GradleUtils (along with our other plugins such as Licenser, ForgeGradle 7, etc.) compatible with it. - 2.5.0 Cleanup and Git Version Plugin API change - Small buildscript cleanup. - The `GitVersionExtension` class is now the public facing API for Git Version in the Gradle plugin. - Use `gitversion.tagOffset` instead of `gitversion.version.tagOffset`. - Many parts of Git Version API such as getting a directory now use Gradle's `DirectoryProperty` when applicable. - If configuration cache is not requested, Git Version will not disable reading from the system's Git config. - PomUtils cleanup. - `Developers` renamed to `developers` (now lowercase) to match `licenses`. The uppercase field will be removed in GU 3.0. - Licenses now use the SPDX identifier as the name and `repo` as the distribution, as recommended by the [reference spec](https://maven.apache.org/pom.html#Licenses). - All-around code cleanup. - Documentation is not a focus this time. 2.4 === - 2.4.19 Fix issues with artifact promotion task - 2.4.18 Make all log messages single-line - 2.4.17 Allow specific promotion type (either 'latest' or 'recommended') Also, fix webhook secret being used for username and password. Oops. - 2.4.16 Fix compile error + missing licenses - 2.4.15 Experimental artifact promotion task As part of my efforts to consolidate SharedActions, I've created this new experimental task to handle artifact promotion. It requies the same environment variables as before, but it is not automated. To use this, simply use `gradleutils.pom.promote()` inside of your maven publication. ```gradle publications.register('pluginMaven', MavenPublication) { gradleutils.pom.promote it changelog.publish it // ... ``` - 2.4.14 Fix log messages having insane indentations - 2.4.13 Update Git Version to 0.4.2 for suffix support - 2.4.12 Re-add deleted Changelog extension methods from 2.2 - Instead of #fromTag and #fromCommit, use #from - Instead of #disableAutomaticPublicationRegistration, use 'publishAll = false' - 2.4.11 Failhard in CI if the remote URL cannot be found - 2.4.10 Do not use Problems API, addresses #21 - 2.4.9 Remove debug code :P - 2.4.8 Stop publishing Git Version plugin For now, the Git Version part of GradleUtils can stay contained within GU itself until 3.0. When Git Version's Gradle plugin is split off into MinecraftForge/GitVersion, it will probably start from version 3.0 itself to accommodate for the fact that there are already versions 2.4.x of it. - 2.4.7 Fix setGitHubDetails incorrectly using the repo name as the org name Also, improve debugging issues related to PomUtils - 2.4.6 Update Git Version to 0.3.0 Fixes some issues dealing with tagged commits in subprojects. - 2.4.5 Fix generated changelogs using inverted markdown parameter - 2.4.4 Change default Gradle tasks to 'check publish' This is for the Gradle workflow. Adding 'check' before 'publish' allows the CI to check for things like licenses and unit tests (if applicable via the test task). - 2.4.3 Include project name in workflow name for generator Also, update Git Version to 0.2.12 - 2.4.2 Do not throw if GitHub details cannot be set - 2.4.1 Do not include SLF4J in fatjar - 2.4.0 Move all Git-related operations to GitVersion GradleUtils 2.3 was 90% JGit and Git-related operations, which are all now housed in the framework-agnostic GitVersion. Projects that do not opt-in to using GitVersion or having subprojects are not affected. There are a small amount of binary breaking changes in this update, but it should not affect Gradle buildscripts (the primary consumer of this) as they are dynamically compiled and can use Groovy's funky syntax to get what they need. 2.3 === - 2.3.6 Added null check when getting the base merge commit (#16) - 2.3.5 Bump toolchain to J11 because JGit 6.7 requires it - 2.3.4 Update gradle to 8.5 - 2.3.3 Fix issue with configuration cache and jgit - 2.3.2 Add some tags - 2.3.1 Publish to plugin portal Update/Shade JGit - 2.3.0 Pull Changelog into its own plugin, if you want to use it without the rest of the utils. Use recommended method of sharing task outputs between sub-projects. https://docs.gradle.org/current/samples/sample_cross_project_output_sharing.html 2.2 === - 2.2.0 Fix duplication of sources Cleanup build script Change published artifact to: net.minecraft:gradleutils Out maven repo is pretty dirty with case sensitive versions of this project, but this follows our expected standards. Remove TeamCity related things Add getPom() to the gradleutils extension to allow easier access. 2.1 === - 2.1.3 Add GradleUtils.minecraftLibsMaven (#15) - 2.1.2 Add LGPL3 and change MIT license link - 2.1.1 Remove teamcity config - 2.1.0 GradleUtils v2.1 Gradle 8.4 Improved IDE support and performance PomUtils for more concise poms when configuring maven publishing GitHub Actions CI SPDX licence headers 2.0 === - 2.0.12 Add GitHub Actions tasks, some clean-up and optimisations (#13) Add `ghActionsProjectVersion` task Add `ghActionsProjectInfoJson` task Example output string in the GH Actions env: `[{"group":"net.minecraftforge","version":"1.1.14","name":"MergeTool"}]` - 2.0.11 Add JDK and Gradle version parameters (#12) - 2.0.10 Create the changelog tasks at evaluation, register publications if request after evaluation. Should fix consumers that reference the changelog task - 2.0.9 Allow for the manual registration of publications which need to publish a changelog (#11) Allow for disabling the automatic changelog generation on all publications Update to Gradle 7.4.2 - 2.0.8 Fix changelog generation going through all commits (#10) - 2.0.7 Run changelog task setup after projectsEvaluated - 2.0.6 Fix a cornercase where the changelog generation fails if it originates from the first commit in a branch. (#9) - 2.0.5 Update the TC template to have a secondary build target. (#7) * Update the TC template to have a secondary build target. * Update the included TC Configuration. * Update the branches which are excluded from secondary branch building. * Match own configuration to the one included. * And update to the latest version of the CI template. * Implement fixes required to run default runtime tasks against a none maven-publish target. - 2.0.4 Add support for multiple organisations to the template generator. (#6) * Add support for multiple organisations to the template generator. * Setup git branch before configuring the build system - 2.0.3 Since seems to be exclusionary, so include the parent commit if it exists, since that'll be the one with the tag, when starting from a tag. - 2.0.2 OK, JGit isn't as poopy, but you need to force the ref through the refdb to get it "realized" if it's an annotated tag - 2.0.1 Handle annotated tags better? JGit is poopy. - 2.0.0 Enable the new TC pipeline. (#5) * Lazily implement task registration. Closes #4. Thanks Sci. Enable new CI pipeline. Log if fallback operations happen. Use the same Maven Extraction logic for groups. Exclude gradle plugin markers. Remove old TC Setup. Update to match the new TC configuration. * Remove Jenkinsfile. * Configure the CI tasks. * Write to the log if the variable is missing. * Using lifecycle logging. * Fix the derp. GU can not use the GU plugin directly. * Fix the derp. GU can not use the GU plugin directly. * Pin the docker version and set the JDk version to 8. Clean up a Typo for the URL lookup. 1.0 === - 1.0.23 Add support to generate the TeamCity project directory. (#3) * Add support for generating a default TeamCity project. * Disable the auto commit to test this properly. * Fix the delete check operating on the project directory and not on its teamcity subdirectory. * Enable direct commit on the projects own task. All ids have been successfully updated. * Remove auto commit functionality. It does not feel very clean. * Add TeamCity project. * Document the task. * A tiny bit more documentation. * Update the zip to match the new configuration names. * Change the naming scheme, because I derped. * Publishing to the correct URL and setting the correct template for TC. * Remove old TC setup. * Setup the new teamcity project. * Undo the change to the URL generated for publishing. - 1.0.22 TeamCity change in 'MinecraftForge / GradleUtils' project: runners of 'Build' build configuration were updated - 1.0.21 TeamCity change in 'MinecraftForge / GradleUtils' project: 'https://github.com/MinecraftForge/GradleUtils.git' VCS root was removed - 1.0.20 TeamCity change in 'MinecraftForge / GradleUtils' project: 'https://github.com/MinecraftForge/GradleUtils.git' VCS root was created - 1.0.19 Update build.gradle - 1.0.18 TeamCity change in 'MinecraftForge / GradleUtils' project: triggers of 'Build' build configuration were updated - 1.0.17 TeamCity change in 'MinecraftForge / GradleUtils' project: Versioned settings configuration updated - 1.0.16 TeamCity change in 'MinecraftForge / GradleUtils' project: Cleanup old configuration files - 1.0.15 TeamCity change in 'MinecraftForge / GradleUtils' project: Versioned settings configuration updated - 1.0.14 Fix J8 incompatibility (#2) - 1.0.13 Implement changelog generation. (#1) - 1.0.12 Update Gradle wrapper to 7.2 Fix an invalid comment because @zml told me to - 1.0.11 Remove `v` from start of tags in version info - 1.0.10 Add methods for getting a forge maven closure - 1.0.9 Allow tag filtering - 1.0.8 Remove null values from gitInfo map Gradle throws an obscure error if a map value is null in a MapProperty - 1.0.7 Publish plugin markers and use Gradle 7.1 Updated licenser to 0.6.1 Moved group id to `net.minecraftforge.gradleutils` for new publishings Use `gradlePlugin` extension - 1.0.6 Sanitize PR branches - 1.0.5 Sanitize branch names - 1.0.4 Add new helper methods and branch filtering - 1.0.3 Remove null check - 1.0.2 Turn into a plugin - 1.0.1 Make gradlew executable - 1.0.0 Initial git info work Add Jenkinsfile and use Gradle 7.0.2 Licenser currently doesn't have a functional release for Gradle 7.1 1.0-pre ======= - 1.0-pre-1 Initial commit