jira.codehaus.org

  • Log In Access more options
    • Online Help
    • Keyboard Shortcuts
    • About JIRA
    • JIRA Credits
    • What?s New
  • Dashboards Access more options (Alt+d)
  • Projects Access more options (Alt+p)
  • Issues Access more options (Alt+i)
  • Continuum
  • CONTINUUM-1606

All modules are always rebuilt when using M2 with a hierarchical structure

  • Log In
  • Views
    • XML
    • Word
    • Printable

Details

  • Type: Bug Bug
  • Status: Open Open
  • Priority: Critical Critical
  • Resolution: Unresolved
  • Affects Version/s: 1.1
  • Fix Version/s: Backlog
  • Component/s: Integration - Maven 2
  • Labels:
    None
  • Complexity:
    Intermediate
  • Patch Submitted:
    Yes

Description

When using Maven2, the recommended directory structure for a multi-module build is hierarchical, e.g.:

  • pom.xml (parent pom of all modules)
      • module1
        +-- pom.xml
      • module2
        +-- pom.xml
        etc

When using such a structure with continuum, if a change is committed in module28, then EVERY module will be rebuilt: indeed the parent pom will be rebuilt because the change is "under" its scm tree, and all the other modules will therefore we rebuilt because of a "dependencies change" on the parent pom. This can easily multiply the build time by a factor of 10 or 20.

I have attached a patch. It considers that the parent has "changed" only if its pom.xml has changed. Not sure it is perfect, but it works for me (the patch has been tested (against continuum-1.1 and trunk). Feel free to rewrite or modify it as much as you like.

  • Options
    • Sort By Name
    • Sort By Date
    • Ascending
    • Descending
    • Download All

Attachments

  1. Text File
    continuum.patch
    18/Dec/07 3:35 AM
    3 kB
    Julien S
  2. Text File
    continuum-1.2.patch
    13/Oct/08 3:29 AM
    3 kB
    Julien S
  3. Text File
    CONTINUUM-1606.patch
    10/Oct/08 2:02 PM
    3 kB
    Peter Janes

Issue Links

is duplicated by

Bug - A problem which impairs or prevents the functions of the product. CONTINUUM-1312 Build trigger issue in multimodule project

  • Major - Major loss of function.
  • Closed - The issue is considered finished, the resolution is correct. Issues which are not closed can be reopened.

Activity

Ascending order - Click to sort in descending order
  • All
  • Comments
  • Work Log
  • History
  • Activity
Hide
Permalink
Emmanuel Venisse added a comment - 18/Dec/07 2:33 PM

Your patch is good but it isn't totally correct because it is specific for m2 project. We'll work around it.

Show
Emmanuel Venisse added a comment - 18/Dec/07 2:33 PM Your patch is good but it isn't totally correct because it is specific for m2 project. We'll work around it.
Hide
Permalink
Peter Janes added a comment - 10/Oct/08 2:02 PM

Update patch which applies cleanly to current trunk

Show
Peter Janes added a comment - 10/Oct/08 2:02 PM Update patch which applies cleanly to current trunk
Hide
Permalink
Julien S added a comment - 13/Oct/08 3:29 AM

Oh well, was about to upload my new one when I saw your post
As you can see, they are the same (well, cosmetic details aside).

BTW, if some other people are relying on the patch, I tested the (new) patch against 1.2 for a few days, and everything seems fine.
Be warned that it will only work with Maven2, if your pom files are called "pom.xml" at the moment.

Show
Julien S added a comment - 13/Oct/08 3:29 AM Oh well, was about to upload my new one when I saw your post As you can see, they are the same (well, cosmetic details aside). BTW, if some other people are relying on the patch, I tested the (new) patch against 1.2 for a few days, and everything seems fine. Be warned that it will only work with Maven2, if your pom files are called "pom.xml" at the moment.
Hide
Permalink
apache maillist added a comment - 14/Oct/08 5:06 PM - edited

it would be very nice if you could test the case below:
• pom.xml (pom for continuum checking out 3 modules below including parent module)
• parent module
– pom.xml (parent pom for module1 and module2)
• module1
– pom.xml
• module2
– pom.xml

top level pom.xml has

<modules>
<module>parent module</module>
<module>module 1</module>
<module>module 2</module>
</modules>

Show
apache maillist added a comment - 14/Oct/08 5:06 PM - edited it would be very nice if you could test the case below: • pom.xml (pom for continuum checking out 3 modules below including parent module) • parent module – pom.xml (parent pom for module1 and module2) • module1 – pom.xml • module2 – pom.xml top level pom.xml has <modules> <module>parent module</module> <module>module 1</module> <module>module 2</module> </modules>

People

  • Assignee:
    Unassigned
    Reporter:
    Julien S
Vote (9)
Watch (7)

Dates

  • Created:
    18/Dec/07 3:35 AM
    Updated:
    16/Sep/09 5:15 PM
  • Atlassian JIRA (v5.0.4#731-sha1:3aa7374)
  • Report a problem
  • Powered by a free Atlassian JIRA open source license for Codehaus. Try JIRA - bug tracking software for your team.