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)