Skip to content

Mark ObjectFactory-injected ResourceTransformers as abstract - #2205

Closed
Goooler wants to merge 2 commits into
mainfrom
g/20260819/mark-abs-for-open
Closed

Mark ObjectFactory-injected ResourceTransformers as abstract#2205
Goooler wants to merge 2 commits into
mainfrom
g/20260819/mark-abs-for-open

Conversation

@Goooler

@Goooler Goooler commented Aug 19, 2026

Copy link
Copy Markdown
Member

  • CHANGELOG's "Unreleased" section has been updated, if applicable.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates Shadow’s built-in ResourceTransformer implementations that rely on ObjectFactory injection to be abstract, aligning their instantiation model with ObjectFactory.newInstance and reflecting the (potentially breaking) API change in the public surface and changelog.

Changes:

  • Mark multiple ObjectFactory-injected built-in ResourceTransformers as abstract (API-affecting change).
  • Adjust ResourceTransformer.create(...) to detect ObjectFactory constructors via declaredConstructors.
  • Update internal test discovery logic, changelog, and the published API dump to match the new abstract types.

Reviewed changes

Copilot reviewed 16 out of 16 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/test/kotlin/com/github/jengelman/gradle/plugins/shadow/internal/DuplicatesStrategyCheckerTest.kt Updates transformer class discovery to avoid picking up the abstract base PatternFilterableResourceTransformer while allowing abstract injected transformers.
src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/transformers/XmlAppendingTransformer.kt Makes the injected transformer type abstract.
src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/transformers/ResourceTransformer.kt Changes instantiation helper to scan declaredConstructors for ObjectFactory injection support.
src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/transformers/PropertiesFileTransformer.kt Makes the injected transformer type abstract.
src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/transformers/PreserveFirstFoundResourceTransformer.kt Makes the injected transformer type abstract.
src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/transformers/MergeLicenseResourceTransformer.kt Makes the injected transformer type abstract.
src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/transformers/ManifestResourceTransformer.kt Makes the injected transformer type abstract.
src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/transformers/ManifestAppenderTransformer.kt Makes the injected transformer type abstract.
src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/transformers/KotlinModuleMetadataTransformer.kt Makes the injected transformer type abstract.
src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/transformers/IncludeResourceTransformer.kt Makes the injected transformer type abstract.
src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/transformers/DontIncludeResourceTransformer.kt Makes the injected transformer type abstract.
src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/transformers/DeduplicatingResourceTransformer.kt Makes the injected transformer type abstract.
src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/transformers/AppendingTransformer.kt Makes the injected transformer type abstract.
src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/transformers/ApacheNoticeResourceTransformer.kt Makes the injected transformer type abstract.
docs/changes/README.md Documents the potentially breaking change in the unreleased changelog.
api/shadow.api Updates the public API dump to reflect the new abstract class modifiers.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread docs/changes/README.md Outdated
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@Goooler Goooler changed the title Mark abstract for ObjectFactory-injected ResourceTransformers Mark ObjectFactory-injected ResourceTransformers as abstract Aug 19, 2026
@Goooler

Goooler commented Aug 19, 2026

Copy link
Copy Markdown
Member Author

Not for now.

@Goooler Goooler closed this Aug 19, 2026
@Goooler
Goooler deleted the g/20260819/mark-abs-for-open branch August 19, 2026 02:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants