Skip to content

Commit 08f48d8

Browse files
committed
Build ourselves using GU3 and GV3
GradleUtils 3.0.0-beta.10 Git Version plugins 3.0.0-beta.9
1 parent ec260c0 commit 08f48d8

File tree

2 files changed

+47
-13
lines changed

2 files changed

+47
-13
lines changed

build.gradle

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,18 @@
11
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
22
import org.gradle.api.attributes.plugin.GradlePluginApiVersion
3+
import net.minecraftforge.gradleutils.GradleUtilsExtension
34

45
plugins {
56
id 'java-gradle-plugin'
67
id 'groovy'
78
id 'idea'
89
id 'eclipse'
910
id 'maven-publish'
11+
id 'io.freefair.javadoc-links'
1012
alias libs.plugins.licenser
11-
alias libs.plugins.gradleutils
12-
alias libs.plugins.javadoc.links
13+
id 'net.minecraftforge.gradleutils'
14+
alias libs.plugins.gitversion
15+
alias libs.plugins.changelog
1316
alias libs.plugins.plugin.publish
1417
alias libs.plugins.shadow
1518
}
@@ -22,6 +25,10 @@ version = gitversion.tagOffset
2225

2326
println "Version: $version"
2427

28+
// This plugin being applied to settings.gradle first also affects linting in the build.gradle
29+
// https://youtrack.jetbrains.com/issue/IDEA-332061/Gradle-Missing-Code-Completion-Suggestions-for-Settings-Plugins-in-Groovy-DSL
30+
final gradleutils = extensions.getByType(GradleUtilsExtension.ForProject)
31+
2532
java {
2633
toolchain.languageVersion = JavaLanguageVersion.of(17)
2734
withSourcesJar()
@@ -38,20 +45,18 @@ configurations {
3845
// This was added in Gradle 7, gives consumers useful errors if they are on an old version
3946
def applyGradleVersionAttribute = { Configuration configuration ->
4047
configuration.attributes {
41-
attribute(GradlePluginApiVersion.GRADLE_PLUGIN_API_VERSION_ATTRIBUTE, objects.named(GradlePluginApiVersion, libs.versions.gradle.get()))
48+
attribute(GradlePluginApiVersion.GRADLE_PLUGIN_API_VERSION_ATTRIBUTE, objects.named(GradlePluginApiVersion, libs.versions.gradle.asProvider().get()))
4249
}
4350
}
4451

45-
// TODO [GradleUtils] Re-enable this after first publish of GradleUtils 3.0.0
46-
// named('apiElements', applyGradleVersionAttribute)
47-
// named('runtimeElements', applyGradleVersionAttribute)
48-
// named('shadowRuntimeElements', applyGradleVersionAttribute)
52+
named('apiElements', applyGradleVersionAttribute)
53+
named('runtimeElements', applyGradleVersionAttribute)
54+
named('shadowRuntimeElements', applyGradleVersionAttribute)
4955
}
5056

5157
dependencies {
5258
// Gradle API
53-
compileOnly libs.gradle
54-
compileOnly libs.nulls
59+
compileOnly libs.bundles.gradle
5560

5661
// JavaDoc Links Plugin
5762
compileOnly libs.gradle.javadoc.links
@@ -135,7 +140,7 @@ publishing {
135140
name = projectDisplayName
136141
description = project.description
137142

138-
gradleutils.pom.setGitHubDetails(pom)
143+
gradleutils.pom.addRemoteDetails(pom)
139144

140145
licenses {
141146
license gradleutils.pom.licenses.LGPLv2_1

settings.gradle

Lines changed: 32 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,51 @@
1+
import net.minecraftforge.gradleutils.GradleUtilsExtension
2+
3+
pluginManagement {
4+
repositories {
5+
//mavenLocal()
6+
mavenCentral()
7+
gradlePluginPortal()
8+
maven { url = 'https://maven.minecraftforge.net/' }
9+
}
10+
}
11+
112
plugins {
13+
// https://plugins.gradle.org/plugin/org.gradle.toolchains.foojay-resolver-convention
14+
// Java toolchain provisioner to download JDKs for tasks that need them.
215
id 'org.gradle.toolchains.foojay-resolver-convention' version '1.0.0'
16+
17+
// https://plugins.gradle.org/plugin/io.freefair.javadoc-links
18+
// Enhanced Javadoc links in projects.
19+
// GradleUtils 3 adds a service that implements an interface from this plugin.
20+
// It is added to the classpath here but not yet applied.
21+
id 'io.freefair.javadoc-links' version '8.14' apply false
22+
23+
// https://plugins.gradle.org/plugin/net.minecraftforge.gradleutils
24+
// Gradle utilities for Minecraft Forge projects.
25+
id 'net.minecraftforge.gradleutils' version '3.0.0-beta.10'
326
}
427

28+
// Known bug with Groovy DSL in IntelliJ, it's never getting fixed
29+
// https://youtrack.jetbrains.com/issue/IDEA-332061/Gradle-Missing-Code-Completion-Suggestions-for-Settings-Plugins-in-Groovy-DSL
30+
final gradleutils = extensions.getByType(GradleUtilsExtension)
31+
532
rootProject.name = 'gradleutils'
633

734
dependencyResolutionManagement {
835
repositories {
936
//mavenLocal()
1037
mavenCentral()
11-
maven { url = 'https://maven.minecraftforge.net/' }
38+
maven gradleutils.forgeMaven
1239
maven { url = 'https://maven.moddinglegacy.com' } // Gradle API
1340
}
1441

1542
versionCatalogs.register('libs') {
43+
version 'gradle-gitversion', '3.0.0-beta.9'
1644
version 'gradle-javadoc-links', '8.14'
1745

1846
plugin 'licenser', 'net.minecraftforge.licenser' version '1.2.0' // https://plugins.gradle.org/plugin/net.minecraftforge.licenser
19-
plugin 'gradleutils', 'net.minecraftforge.gradleutils' version '2.6.0' // https://plugins.gradle.org/plugin/net.minecraftforge.gradleutils
20-
plugin 'javadoc-links', 'io.freefair.javadoc-links' versionRef 'gradle-javadoc-links' // https://plugins.gradle.org/plugin/io.freefair.javadoc-links
47+
plugin 'gitversion', 'net.minecraftforge.gitversion' versionRef 'gradle-gitversion' // https://plugins.gradle.org/plugin/net.minecraftforge.gitversion
48+
plugin 'changelog', 'net.minecraftforge.changelog' versionRef 'gradle-gitversion' // https://plugins.gradle.org/plugin/net.minecraftforge.changelog
2149
plugin 'plugin-publish', 'com.gradle.plugin-publish' version '1.3.1' // https://plugins.gradle.org/plugin/com.gradle.plugin-publish
2250
plugin 'shadow', 'com.gradleup.shadow' version '9.0.0-rc3' // https://plugins.gradle.org/plugin/com.gradleup.shadow
2351

@@ -28,6 +56,7 @@ dependencyResolutionManagement {
2856
version 'gradle', '9.0.0'
2957
library 'gradle', 'name.remal.gradle-api', 'gradle-api' versionRef 'gradle'
3058
library 'nulls', 'org.jetbrains', 'annotations' version '26.0.2'
59+
bundle 'gradle', ['gradle', 'nulls']
3160

3261
// JavaDoc Links Plugin
3362
library 'gradle-javadoc-links', 'io.freefair.javadoc-links', 'io.freefair.javadoc-links.gradle.plugin' versionRef 'gradle-javadoc-links'

0 commit comments

Comments
 (0)