Uploaded image for project: 'Maven Site Plugin'
  1. Maven Site Plugin
  2. MSITE-453

Add new lifecycle bindings for "maven-skin" packaging

Attach filesAttach ScreenshotAdd voteVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • None
    • backlog, wontfix-candidate
    • None
    • None
    • Patch

    Description

      Currently, creating a custom skin for Maven is done by a project with packaging "jar". The attached patch intents to introduce an individual lifecycle mapping named "maven-skin" for this purpose.

      Why that? I consider the re-usage of the "jar" packaging an abuse for the case of building a Maven skin. On the one hand, the "jar" packaging does too much. Skins usually do not get compiled or unit-tested, do they? Since any unused plugin invocation is an unnecessary risk of a build failure (sorry to say), I would appreciate a lifecycle mapping that is not overdressed. On the other hand, I could image that skins required some additional processing some day like a check whether all required images are present in the skin or whether the CSS references unknown IDs/names. Having a distinct lifecylcle mapping in the Maven Core would allow for a central definition of the build steps instead of requiring all users to extend the "jar" packaging.

      Especially for the first reason, i.e. having a packaging that does not more than required, the patch also defines a "resources" packaging. Such a packaging is intended for JARs that just contain resources one wants to share with other projects like rulesets for PMD, Checkstyle, etc. The lifecylcle mappings "resources" and "maven-skin" are identiical (now) but I consider it a bad practice to merge different use-cases just because they happen to be equal by coindicence.

      Attachments

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Unassigned Unassigned
            bentmann Benjamin Bentmann

            Dates

              Created:
              Updated:

              Slack

                Issue deployment