You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by "ASF subversion and git services (Jira)" <ji...@apache.org> on 2021/01/08 12:08:00 UTC
[jira] [Commented] (TAP5-2657) Blacklist modules autoloaded via
manifests
[ https://issues.apache.org/jira/browse/TAP5-2657?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17261264#comment-17261264 ]
ASF subversion and git services commented on TAP5-2657:
-------------------------------------------------------
Commit d44f12abc1cd1a42fb70609014e4aa7f306e259a in tapestry-5's branch refs/heads/master from Benjamin Weidig
[ https://gitbox.apache.org/repos/asf?p=tapestry-5.git;h=d44f12a ]
TAP5-2657: blacklist for manifest autoloaded modules
> 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
> Affects Versions: 5.7.0
> Reporter: Benjamin Weidig
> Priority: Trivial
> 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)