• Icon: Patch Patch
    • Resolution: Fixed
    • Icon: Major Major
    • maven-plugin
    • None
    • Platform: All, OS: All

      Code changed in hudson
      User: : kohsuke
      Path:
      trunk/www/changelog.html
      http://fisheye4.cenqua.com/changelog/hudson/?cs=16746
      Log:
      [FIXED JENKINS-3251] Concluding the issue as resolved. Targeted for 1.296.

          [JENKINS-3251] move the native maven integration to a plugin

          huybrechts added a comment -

          create a maven plugin, so that it's possible to turn off or replace the maven
          integration

          huybrechts added a comment - create a maven plugin, so that it's possible to turn off or replace the maven integration
          huybrechts created issue -

          huybrechts added a comment -

          Created an attachment (id=605)
          patch

          huybrechts added a comment - Created an attachment (id=605) patch

          huybrechts added a comment -

          change status

          huybrechts added a comment - change status
          huybrechts made changes -
          Status Original: Open [ 1 ] New: In Progress [ 3 ]

          Jason Chaffee added a comment -

          I also like this idea because it could allow for faster changes and/or bug fixes
          in maven integration as the plugin could be built independently.

          Jason Chaffee added a comment - I also like this idea because it could allow for faster changes and/or bug fixes in maven integration as the plugin could be built independently.

          How will this affect existing plugins that support the existing m2 project type?

          Will they have to list this plugin as a dependency?

          Or does your patch leave the interfaces and abstract classes as stubs in core
          with concrete implementations in the plugin?

          Stephen Connolly added a comment - How will this affect existing plugins that support the existing m2 project type? Will they have to list this plugin as a dependency? Or does your patch leave the interfaces and abstract classes as stubs in core with concrete implementations in the plugin?

          My main concern is that we'll end up with everyone having to install this m2
          plugin just to be able to use any of the other plugins that provide m2 support...

          Yes I personally would favor ripping the current m2 support out into a plugin as
          the current m2 project type has IMHO a lot of problems with it... but if the end
          result is that everyone has to add the m2 project back in just so they can use
          the warnings/findbugs/checkstyle/coverage/etc plugins... what exactly do we gain?

          Stephen Connolly added a comment - My main concern is that we'll end up with everyone having to install this m2 plugin just to be able to use any of the other plugins that provide m2 support... Yes I personally would favor ripping the current m2 support out into a plugin as the current m2 project type has IMHO a lot of problems with it... but if the end result is that everyone has to add the m2 project back in just so they can use the warnings/findbugs/checkstyle/coverage/etc plugins... what exactly do we gain?

          Jason Chaffee added a comment -

          Stephen has some good points.

          Just tossing out an idea here...not sure that I really like it...but it might help get the thought process
          rolling.

          How about making a jar dependency that that the impl that could be included in each plugin and then a
          maven plugin to simply enable maven functionality in Hudson. I believe this would allow for plugins
          that support non-maven and maven to work, but would only work with maven when the maven plugin
          is installed, but it could be built against the jar.

          However, the more I think about this...it has some drawbacks as well because their could be
          compatibility issues between the maven plugin and other plugins if they used a different version of the
          jar dependency.

          Jason Chaffee added a comment - Stephen has some good points. Just tossing out an idea here...not sure that I really like it...but it might help get the thought process rolling. How about making a jar dependency that that the impl that could be included in each plugin and then a maven plugin to simply enable maven functionality in Hudson. I believe this would allow for plugins that support non-maven and maven to work, but would only work with maven when the maven plugin is installed, but it could be built against the jar. However, the more I think about this...it has some drawbacks as well because their could be compatibility issues between the maven plugin and other plugins if they used a different version of the jar dependency.

          It's not that simple....

          some plugins that do not have m2 support reference the m2 classes (in order to
          disable support for the m2 projects that they do not support)

          Thus if you don't have the m2 classes on the classpath, the plugin will not load
          at all.

          Another example would be the javancss plugin which I wrote to minimise the pain
          of integrating with the crappy-m2 project type and so all project types share
          the same code... with the side-effect that even for freestyle projects you need
          the m2 classes on the classpath.

          Stephen Connolly added a comment - It's not that simple.... some plugins that do not have m2 support reference the m2 classes (in order to disable support for the m2 projects that they do not support) Thus if you don't have the m2 classes on the classpath, the plugin will not load at all. Another example would be the javancss plugin which I wrote to minimise the pain of integrating with the crappy-m2 project type and so all project types share the same code... with the side-effect that even for freestyle projects you need the m2 classes on the classpath.

            huybrechts huybrechts
            huybrechts huybrechts
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: