Uploaded image for project: 'Maven'
  1. Maven
  2. MNG-4656

Declarative plugins similar to "jsp tags" or "jsf composites"

    XMLWordPrintableJSON

    Details

    • Type: New Feature
    • Status: Closed
    • Priority: Major
    • Resolution: Incomplete
    • Affects Version/s: None
    • Fix Version/s: None
    • Labels:
      None

      Description

      By now there is only one option to create maven plugin. And this is by using JVM based language.
      There are situations when all you need is just to combine some already written plugins, pass to them some attributes and you can use this as a plugin. But you can't. You need to copy and paste bunch of plugins. And move some predefined configuration to pluginManagment.

      I suggest to add mechanic which is similar to JSP tags or JSF composites.
      Let's say

      <pluginDefinition>
      <groupId>my.com</groupId>
      <artifactId>deploy</artifactId>

      <attribute name="path"/>
      <attribute name="list" type="..."/>

      <body>
      <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>exec-maven-plugin</artifactId>
      <executions>
      <execution>
      ... ${path} ...
      ... ${list} ...
      </execution>
      ...
      </executions>
      </plugin>
      <plugin>
      ...
      </plugin>
      </body>
      </pluginDefinition>

      and then in some other pom.xml

      <plugin>
      <groupId>my.com</groupId>
      <artifactId>deploy</artifactId>
      <configuration>
      <path>test.war</path>
      <list>
      <item>1</item>
      <item>2</item>
      </list>
      </configuration>
      </plugin>

      or something like this.

      Thanks for the attention.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              mykola Mykola Golubyev
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: