You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by "Thiago Henrique De Paula Figueiredo (Jira)" <ji...@apache.org> on 2021/02/11 21:41:00 UTC
[jira] [Closed] (TAP5-2657) Blacklist modules autoloaded via
manifests
[ https://issues.apache.org/jira/browse/TAP5-2657?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Thiago Henrique De Paula Figueiredo closed TAP5-2657.
-----------------------------------------------------
Resolution: Fixed
> Blacklist modules autoloaded via manifests
> ------------------------------------------
>
> Key: TAP5-2657
> URL: https://issues.apache.org/jira/browse/TAP5-2657
> Project: Tapestry 5
> Issue Type: New Feature
> Components: tapestry-ioc
> Reporter: Benjamin Weidig
> Assignee: Benjamin Weidig
> Priority: Trivial
> Fix For: 5.6.2, 5.7.0
>
> Attachments: TAP5-2657-manifest-module-blacklist.patch
>
>
> h1. Summary
> Add blacklist for auto-loaded modules via JAR manifests.
> h1. Motivation / Goals
> Right now, we can specify a list of modules to be auto-loaded with the property "Tapestry-Module-Classes" in a MANIFEST.mf of a JAR.
> This is great from a "batteries included" perspective because we just need to add a dependency to our project, and it "just works".
> Even though Tapestry is immensely flexible, we now have to use the Module "as provided" with maybe no chance for customization.
> This might lead to us forking the dependency and removing the module from the manifest, to gain back more control.
> As discussed earlier on the mailing list, this could mean that any changes/bugfixes of a forked dependency won't benefit the original.
> And of course, we have to maintain our fork.
> To mitigate these issues, I suggest the possibility to blacklist modules loaded from MANIFEST.mf.
> The blacklist only affects MANIFEST.mf related modules.
> Non-available but blacklisted Modules should be ignored.
> h1. Risks and Assumptions
> No risk is assumed.
> The blacklist is an additional feature, not changing any previous behavior if not present.
> h1. Alternatives
> Forking a dependency and removing the module(s) from the manifest.
> h1. Details of Proposed Changes
> Adding a new system property "tapestry.manifest-modules-blacklist" is CSV like "tapestry.modules".
> All changes are restricted to org.apache.tapestry5.ioc.IOCUtilities.
> IOCUtilities.addDefaultModules(...) would load and prepare the blacklist and passes it on to IOCUtilities.addModulesInManifest(...).
--
This message was sent by Atlassian Jira
(v8.3.4#803005)