Skip to content

Commit cbc9205

Browse files
chore(deps): Update build deps and github actions (#69)
* chore(deps): Update build deps and github actions * fix: resolve gradle URL deprecations --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: zml <[email protected]>
1 parent 3ba9288 commit cbc9205

File tree

7 files changed

+77
-30
lines changed

7 files changed

+77
-30
lines changed

gradle/libs.versions.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ version = "1.0"
33

44
[versions]
55
indra = "3.1.3"
6-
pluginPublish = "1.2.0"
7-
spotless = "6.19.0"
6+
pluginPublish = "1.2.1"
7+
spotless = "6.21.0"
88
junit = "5.9.3"
99
mammoth = "1.3.1"
1010

gradle/wrapper/gradle-wrapper.jar

346 Bytes
Binary file not shown.

gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-bin.zip
44
networkTimeout=10000
55
validateDistributionUrl=true
66
zipStoreBase=GRADLE_USER_HOME

gradlew

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,8 @@ done
8383
# This is normally unused
8484
# shellcheck disable=SC2034
8585
APP_BASE_NAME=${0##*/}
86-
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
86+
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
87+
APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit
8788

8889
# Use the maximum available, or set MAX_FD != -1 to use that value.
8990
MAX_FD=maximum

plugin-development/src/main/java/org/spongepowered/gradle/plugin/config/PluginLinksConfiguration.java

Lines changed: 56 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -24,56 +24,96 @@
2424
*/
2525
package org.spongepowered.gradle.plugin.config;
2626

27+
import org.gradle.api.GradleException;
2728
import org.gradle.api.model.ObjectFactory;
2829
import org.gradle.api.provider.Property;
30+
import org.gradle.api.provider.Provider;
2931
import org.gradle.api.tasks.Input;
32+
import org.gradle.api.tasks.Internal;
3033
import org.gradle.api.tasks.Optional;
3134

32-
import java.net.MalformedURLException;
35+
import java.net.URI;
36+
import java.net.URISyntaxException;
3337
import java.net.URL;
3438

3539
import javax.inject.Inject;
3640

3741
public class PluginLinksConfiguration {
3842

39-
private final Property<URL> homepage;
40-
private final Property<URL> source;
41-
private final Property<URL> issues;
43+
private final Property<URI> homepage;
44+
private final Property<URI> source;
45+
private final Property<URI> issues;
46+
47+
private final Property<URL> legacyHomepage;
48+
private final Property<URL> legacySource;
49+
private final Property<URL> legacyIssues;
4250

4351
@Inject
4452
public PluginLinksConfiguration(final ObjectFactory factory) {
45-
this.homepage = factory.property(URL.class);
46-
this.source = factory.property(URL.class);
47-
this.issues = factory.property(URL.class);
53+
this.legacyHomepage = factory.property(URL.class);
54+
this.legacySource = factory.property(URL.class);
55+
this.legacyIssues = factory.property(URL.class);
56+
57+
this.homepage = factory.property(URI.class).convention(urlToUri(this.legacyHomepage));
58+
this.source = factory.property(URI.class).convention(urlToUri(this.legacySource));
59+
this.issues = factory.property(URI.class).convention(urlToUri(this.legacyIssues));
60+
}
61+
62+
private Provider<URI> urlToUri(final Property<URL> url) {
63+
return url.map(old -> {
64+
try {
65+
return old.toURI();
66+
} catch (final URISyntaxException ex) {
67+
throw new GradleException("Failed to convert the provided URL to a URI, please set the URI directly", ex);
68+
}
69+
});
4870
}
4971

5072
@Input
5173
@Optional
52-
public Property<URL> getHomepage() {
74+
public Property<URI> getHomepageLink() {
5375
return this.homepage;
5476
}
5577

56-
public void homepage(final String homepage) throws MalformedURLException {
57-
this.homepage.set(new URL(homepage));
78+
@Deprecated
79+
@Internal
80+
public Property<URL> getHomepage() {
81+
return this.legacyHomepage;
82+
}
83+
84+
public void homepage(final String homepage) throws URISyntaxException {
85+
this.homepage.set(new URI(homepage));
5886
}
5987

6088
@Input
6189
@Optional
62-
public Property<URL> getSource() {
90+
public Property<URI> getSourceLink() {
6391
return this.source;
6492
}
6593

66-
public void source(final String source) throws MalformedURLException {
67-
this.source.set(new URL(source));
94+
@Internal
95+
@Deprecated
96+
public Property<URL> getSource() {
97+
return this.legacySource;
98+
}
99+
100+
public void source(final String source) throws URISyntaxException {
101+
this.source.set(new URI(source));
68102
}
69103

70104
@Input
71105
@Optional
72-
public Property<URL> getIssues() {
106+
public Property<URI> getIssuesLink() {
73107
return this.issues;
74108
}
75109

76-
public void issues(final String issues) throws MalformedURLException {
77-
this.issues.set(new URL(issues));
110+
@Deprecated
111+
@Internal
112+
public Property<URL> getIssues() {
113+
return this.legacyIssues;
114+
}
115+
116+
public void issues(final String issues) throws URISyntaxException {
117+
this.issues.set(new URI(issues));
78118
}
79119
}

plugin-development/src/main/java/org/spongepowered/gradle/plugin/task/WritePluginMetadataTask.java

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import com.google.gson.Gson;
2828
import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
2929
import org.gradle.api.DefaultTask;
30+
import org.gradle.api.GradleException;
3031
import org.gradle.api.InvalidUserDataException;
3132
import org.gradle.api.file.DirectoryProperty;
3233
import org.gradle.api.provider.Property;
@@ -54,6 +55,7 @@
5455
import org.spongepowered.plugin.metadata.builtin.model.StandardPluginLinks;
5556

5657
import java.io.IOException;
58+
import java.net.MalformedURLException;
5759
import java.nio.file.Files;
5860
import java.nio.file.Path;
5961

@@ -122,16 +124,20 @@ private <T extends StandardInheritable.AbstractBuilder<?, T>> T populateBuilder(
122124

123125
final StandardPluginLinks.Builder linksBuilder = StandardPluginLinks.builder();
124126
final PluginLinksConfiguration linksConfiguration = src.getLinks();
125-
if (linksConfiguration.getHomepage().isPresent()) {
126-
linksBuilder.homepage(linksConfiguration.getHomepage().get());
127-
}
128-
if (linksConfiguration.getSource().isPresent()) {
129-
linksBuilder.source(linksConfiguration.getSource().get());
130-
}
131-
if (linksConfiguration.getIssues().isPresent()) {
132-
linksBuilder.issues(linksConfiguration.getIssues().get());
127+
try {
128+
if (linksConfiguration.getHomepageLink().isPresent()) {
129+
linksBuilder.homepage(linksConfiguration.getHomepageLink().get().toURL());
130+
}
131+
if (linksConfiguration.getSourceLink().isPresent()) {
132+
linksBuilder.source(linksConfiguration.getSourceLink().get().toURL());
133+
}
134+
if (linksConfiguration.getIssuesLink().isPresent()) {
135+
linksBuilder.issues(linksConfiguration.getIssuesLink().get().toURL());
136+
}
137+
builder.links(linksBuilder.build());
138+
} catch (final MalformedURLException ex) {
139+
throw new GradleException("Failed to convert URIs back to URLs for writing to plugin meta file");
133140
}
134-
builder.links(linksBuilder.build());
135141

136142
// TODO: validate paths here?
137143
final StandardPluginBranding.Builder brandingBuilder = StandardPluginBranding.builder();

settings.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ pluginManagement {
77
}
88

99
plugins {
10-
id("org.gradle.toolchains.foojay-resolver-convention") version "0.5.0"
10+
id("org.gradle.toolchains.foojay-resolver-convention") version "0.7.0"
1111
}
1212

1313
dependencyResolutionManagement {

0 commit comments

Comments
 (0)