Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
76 changes: 39 additions & 37 deletions gradle/verification-keyring.keys
Original file line number Diff line number Diff line change
Expand Up @@ -1274,46 +1274,48 @@ LBaslDFjyxMECWr3v7TuEmEmNcD+KwNyACFNuBjEBWeuJZYwCkAkVy8AyitrTMh8
=Evfn
-----END PGP PUBLIC KEY BLOCK-----

id 1D9866E375A1435ACE0BE0ADE3461D2D16725F94
id BF3A87D91B70BE32CAD64A2645D0CAA6D26B0F7D
uid Open Source <opensource@palantir.com>
-----BEGIN PGP PUBLIC KEY BLOCK-----

xsFNBGKGKVgBEADXgUTpCCKTmM6wl10V5B4SJhAfF2ycw2FfVPPBXhtj2buTFq9r
sejQ5ZQfg5VnMpZIZBTxXLZk4u5wJkqQqcmvYHc1Y0Dec4PiWDH7Yk0sX8OSo154
uoehtvsaa5yJx+NqXaepuKWqpDu7XbUH/am6kYH+JtqLUo9hcSxzRDX+GOT+yYkN
SNbv+0oed5FD1tCRMZLmce7JoztIO+YRdFxjHbECHbX76PROWMXg7twmWdXGRe4u
z6Cjq8Flo1aa9jkiuH/bKm0VeiozrQwu7hVR15mfEU3B+Tvb8j8iVUBJm46nfudE
t12ikwdWNZGY7x/PJ+nFo4HPRbnThTxaqS0jykUkdWVzKZPtvK9J2EHzO1Ht8xKU
piPButSoAuoW07gFcjsrK52Jw40Nb6+frECNxdEuPeUbJ7o6kftuEdQRV0O18oVx
B+hbDmyItXjpMQzYMXXK/MWJhRGecdU6M1v4aKU2pytRiaAuftfSbz/Vqd6DnPHM
zENtxsF7s7x/o53Sux1lbM8tjdOxpv2KSEloej0SDXF1VB5A9qaMhMXRxZXILSA/
XeP3CEQDrt57FiZaXafSKjBJW7df1mAU6z140LXFoYScHj5y1tc7xXzZu1j6Yggw
Zp6WfS+mQoa8TW48Rne3S/kGpzEljFW9ZzKh8hAbR8zlJEtJbUk6GuQKsQARAQAB
tCVPcGVuIFNvdXJjZSA8b3BlbnNvdXJjZUBwYWxhbnRpci5jb20+zsFNBGKGKVgB
EAC1hV6/bq6zcIONya2kEF9ED54I6JZ+J4go4NwWunyDnCYoe2lUcgFkYKa/l6v1
fX1yh0zumzffH0F91TAwqOqcW/a6FKxSIniiYkA0WNTkEaYaWOHo8nudn5CYjt72
wY41J4IOr+n7bCKQkKxNr+/gMlDi6i3+DCMra5/12l+wwBchknQUaz5Mi/r+/TDc
a+FWZqQIgIGbIMkPQCw5mHbpjRnOKM3G6jVY5bAqg+dWz/ABluYClypTK7tnbGYa
FlM9BVpknLwbixS9WyCEkU3TtOYB8yaMeK+NAtqVAXl7IKrokx9/4+/E3KYaAoEk
zTZY2gsm6cVelpbiB7PwumO1jNRcdEddf1pGzdb4BbDp119HXKZtmaDLbfddyboB
Eur3g76N+IoGrIeNH8yG5h/iJZGPyu76aWMk50PTpMY6IG+oFHdtm/YsH8R4XTJ6
IKktPeuVq0mS3gVU+PjLIZWQ4DU8Gt4PAyzsBJ+zlxxfo7WbPkXIITFVRvFlMXVg
f3eH+nW79Evt71WufrESEg38m6cg8LyY7Xp9rK7ynV9t7OQ5P19Qhq8ornYIdosC
9zCS2X4chaiXV2un1hxKO5H9+d39EIguM4l2uv/aTYfgrzT45CoXNjyrGtR3LAoN
nh1bD6fhfifty+mjgMSlKIdMXSFfW4n61RCIN6a+CB/fKQARAQABwsF2BBgBCgAg
FiEEsu98BnWvkgjVpqIGGZx2CA+KGL4FAmKGKVgCGwwACgkQGZx2CA+KGL7f3w/+
MxEH3/rhiPQK1EyBkhF6moGEq5IhzpjnEbqKw8QVBqg9zCKWAaMGGNVJXfpXhgBv
Oo4nLDxW3W0nTP7Og/dXepnfC17gDYrTYWMyyXPiKAgOIbWFJ+LGAjYaVOIf9juk
HMon0YYc6JcmFf+mQDXOJ9UYoYOEpKQVC3+cFIWgFofRfNrmgj7gN/vdAUVudJcX
Otyhcy+krnFP+DQzSwqvNomPZtIi8xHBQ8PfpbYqGOZBLe4ONPEKuzoO/YxzUhpR
4w7K6VnAad6702+ef59P++ol+y2PZ2Kz4A33VV4SgR3NDlqYfcH01mOvGSxxUG4f
/kWu1qiWBYWaJLcfYuDq7fg/FNw0/E+LgpUNfOdDdpqBck3ZxIkgXL/5IGBvyZ8s
3ZjvSAKvu54IUYWU948KjaAdIqrBuUUo5GUB3Eo9vk8fgIOnoEqUsx5inXoVz7sz
VHKEXeUTGIt8EgJ5doUxwnv52AZU8PLfFJLYbNB9Amp/pq4rtwSozUhEog3rv/vI
sGDqAhtjHiMlmGTEKx2VZeB1lzejRVeCGLiWGtIwsO9F6bqAZ9RTQuOngvbvGXUn
KWeRiAiXthjafbL5MFAlQNVdKAAX2Cr7o4894cuqZneL8+sXlj5fqwTtGcup15LA
nXPLp9bA3LBZwLif3+1Jvej20plpz9FtkgzaV6isTJg=
=rjU5
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
Q+QSti9Qi4JDuwzJy3IV/5dmHoPgvVs1EXvJ
=XaeA
-----END PGP PUBLIC KEY BLOCK-----

id BDB5FA4FE719D787FB3D3197F6D4A1D411E9D1AE
Expand Down
2 changes: 1 addition & 1 deletion gradle/verification-metadata.xml
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@

<!-- CODE FORMATTING - Palantir Java formatter with transitive dependencies -->
<!-- ✅ Signed by Palantir -->
<trusted-key id="1D9866E375A1435ACE0BE0ADE3461D2D16725F94" group="com.palantir.javaformat"/>
<trusted-key id="BF3A87D91B70BE32CAD64A2645D0CAA6D26B0F7D" group="com.palantir.javaformat"/>
<!-- ✅ Signed by Tatu Saloranta - Jackson -->
<trusted-key id="28118C070CB22A0175A2E8D43D12CA2AC19F3181">
<trusting group="com.fasterxml.jackson.core"/>
Expand Down
2 changes: 1 addition & 1 deletion settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
plugins { id("org.gradlex.internal-build-conventions") version "0.8" }
plugins { id("org.gradlex.internal-build-conventions") version "0.9" }

rootProject.name = "extra-java-module-info"
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
// SPDX-License-Identifier: Apache-2.0
package org.gradlex.javamodule.moduleinfo;

import org.jspecify.annotations.NullMarked;

@NullMarked
public class AutomaticModuleName extends ModuleSpec {

AutomaticModuleName(String identifier, String moduleName) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,10 +42,12 @@
import org.gradle.api.tasks.SourceSetContainer;
import org.gradle.util.GradleVersion;
import org.gradlex.javamodule.moduleinfo.tasks.ModuleDescriptorRecommendation;
import org.jspecify.annotations.NullMarked;

/**
* Entry point of the plugin.
*/
@NullMarked
public abstract class ExtraJavaModuleInfoPlugin implements Plugin<Project> {

private static final GradleVersion MINIMUM_SUPPORTED_VERSION = GradleVersion.version("6.8");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,16 @@
import org.gradle.api.provider.Property;
import org.gradle.api.provider.Provider;
import org.gradle.api.tasks.SourceSet;
import org.jspecify.annotations.NullMarked;

/**
* A data class to collect all the module information we want to add.
* Here the class is used as extension that can be configured in the build script
* and as input to the ExtraModuleInfoTransform that add the information to Jars.
*/
@SuppressWarnings("unused")
@NullMarked
public abstract class ExtraJavaModuleInfoPluginExtension {
static Attribute<Boolean> JAVA_MODULE_ATTRIBUTE = Attribute.of("javaModule", Boolean.class);
static final Attribute<Boolean> JAVA_MODULE_ATTRIBUTE = Attribute.of("javaModule", Boolean.class);

@Inject
protected abstract ObjectFactory getObjects();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@
import org.gradle.api.tasks.Classpath;
import org.gradle.api.tasks.Input;
import org.gradle.api.tasks.InputFiles;
import org.jspecify.annotations.NullMarked;
import org.objectweb.asm.ClassReader;
import org.objectweb.asm.ClassVisitor;
import org.objectweb.asm.ClassWriter;
Expand All @@ -65,6 +66,7 @@
* The transformation fails the build if a Jar does not contain information and no extra information
* was defined for it. This way we make sure that all Jars are turned into modules.
*/
@NullMarked
@CacheableTransform
public abstract class ExtraJavaModuleInfoTransform implements TransformAction<ExtraJavaModuleInfoTransform.Parameter> {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,14 @@
import java.util.stream.Collectors;
import java.util.stream.StreamSupport;
import javax.annotation.Nullable;
import org.jspecify.annotations.NullMarked;

/**
* Attempts to parse 'group', 'name', 'version' coordinates from a paths like:
* .gradle/caches/modules-2/files-2.1/org.slf4j/slf4j-api/1.7.36/6c62681a2f655b49963a5983b8b0950a6120ae14/slf4j-api-1.7.36.jar
* .m2/repository/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar
*/
@NullMarked
final class FilePathToModuleCoordinates {

@Nullable
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
// SPDX-License-Identifier: Apache-2.0
package org.gradlex.javamodule.moduleinfo;

import org.jspecify.annotations.NullMarked;

@NullMarked
class IdValidator {
private static final String COORDINATES_PATTERN = "^[a-zA-Z0-9._-]+:[a-zA-Z0-9._-]+(\\|[a-zA-Z0-9._-]+)?$";
private static final String FILE_NAME_PATTERN = "^[a-zA-Z0-9._-]+\\.(jar|zip)$";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
// SPDX-License-Identifier: Apache-2.0
package org.gradlex.javamodule.moduleinfo;

import org.jspecify.annotations.NullMarked;

@NullMarked
public class KnownModule extends ModuleSpec {

KnownModule(String identifier, String moduleName) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,13 @@
import java.util.Map;
import java.util.Set;
import org.gradle.api.model.ObjectFactory;
import org.jspecify.annotations.NullMarked;
import org.jspecify.annotations.Nullable;

/**
* Data class to hold the information that should be added as module-info.class to an existing Jar file.
*/
@SuppressWarnings("unused")
@NullMarked
public class ModuleInfo extends ModuleSpec {

@Nullable
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,12 @@
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.jspecify.annotations.NullMarked;

/**
* Implementation based on 'jdk.internal.module.ModulePath#deriveModuleDescriptor' and related methods.
*/
@NullMarked
class ModuleNameUtil {

private static final Pattern DASH_VERSION = Pattern.compile("-(\\d+(\\.|$))");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,13 @@
import java.util.List;
import org.gradle.api.artifacts.MinimalExternalModuleDependency;
import org.gradle.api.provider.Provider;
import org.jspecify.annotations.NullMarked;
import org.jspecify.annotations.Nullable;

/**
* Details that real Modules and Automatic-Module-Names share.
*/
@SuppressWarnings("unused")
@NullMarked
public abstract class ModuleSpec implements Serializable {

private final String identifier;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,10 @@
import org.gradle.api.tasks.SourceSet;
import org.gradle.api.tasks.SourceSetContainer;
import org.gradle.util.GradleVersion;
import org.jspecify.annotations.NullMarked;
import org.jspecify.annotations.Nullable;

@NullMarked
public class PublishedMetadata implements Serializable {
private static final Attribute<String> CATEGORY_ATTRIBUTE_UNTYPED =
Attribute.of(CATEGORY_ATTRIBUTE.getName(), String.class);
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,9 @@
import org.gradle.api.tasks.Input;
import org.gradle.api.tasks.InputFiles;
import org.gradle.api.tasks.TaskAction;
import org.jspecify.annotations.NullMarked;

@NullMarked
public abstract class ModuleDescriptorRecommendation extends DefaultTask {

private static final class Artifact {
Expand Down Expand Up @@ -256,7 +258,6 @@ private static void extractArtifactsAndTheirDependencies(
private static final Pattern EXPORTS_PATTERN = Pattern.compile("^ {4}exports (.*);$");
private static final Pattern PROVIDES_PATTERN = Pattern.compile("^ {4}provides (.*) with$");

@SuppressWarnings("Since15")
private void storeJdepsToolParsedMetadata(
Java8SafeToolProvider jdeps, Path outputPath, Artifact targetArtifact, Collection<Artifact> jars)
throws IOException {
Expand Down

This file was deleted.

Loading