Maven 1
  1. Maven 1
  2. MAVEN-1660

DependencyVerifier class doesn't resolve an snapshot artifact after attaining a first goal.

    Details

    • Type: Bug Bug
    • Status: Open Open
    • Priority: Minor Minor
    • Resolution: Unresolved
    • Affects Version/s: 1.1-beta-1
    • Fix Version/s: None
    • Component/s: core
    • Labels:
      None
    • Number of attachments :
      0

      Description

      Since revision 179556 of src/java/org/apache/maven/verifier/DependencyVerifier.java, the satisfyDependencies() method check if an artifact has already been resolved. It changes the behavior from version 1.0.

      For example, if you call maven with goals multiproject:clean and multiproject:deploy with artifact versions set to snaphot, maven doesn't resolve the dependencies for the multiproject:deploy because it has been already done for the multiproject:clean.

      I know that a multiproject:clean should not resolve the project dependencies but it can probably cause problems in other cases.

        Activity

        Hide
        Brett Porter added a comment -

        why is this a problem? deploy should install first, so the local copy is up to date.

        Show
        Brett Porter added a comment - why is this a problem? deploy should install first, so the local copy is up to date.
        Hide
        Pascal Larin added a comment -

        Bret,

        I've done some tests. I've started a snapshot build with targets multiproject:clean multiproject:deploy. I let the clean do his job. I stop my build right after the end of the build of my first project, at build:end.

        Before starting my build, in my local repo, I have:
        303451 Aug 19 10:36 infra-core-dev-SNAPSHOT.jar

        After stopping my build,
        my target directory: 303451 Aug 19 11:03 infra-core-dev-SNAPSHOT.jar
        remote repo: 303451 Aug 19 11:03 infra-core-dev-SNAPSHOT.jar
        local repo: 303451 Aug 19 10:36 infra-core-dev-SNAPSHOT.jar

        I'll check to see why my artifact is not installed in my local repo.

        Show
        Pascal Larin added a comment - Bret, I've done some tests. I've started a snapshot build with targets multiproject:clean multiproject:deploy. I let the clean do his job. I stop my build right after the end of the build of my first project, at build:end. Before starting my build, in my local repo, I have: 303451 Aug 19 10:36 infra-core-dev-SNAPSHOT.jar After stopping my build, my target directory: 303451 Aug 19 11:03 infra-core-dev-SNAPSHOT.jar remote repo: 303451 Aug 19 11:03 infra-core-dev-SNAPSHOT.jar local repo: 303451 Aug 19 10:36 infra-core-dev-SNAPSHOT.jar I'll check to see why my artifact is not installed in my local repo.
        Hide
        Brett Porter added a comment -

        my mistake, :deploy doesn't install.

        You should be able to run :clean :install :deploy in sequence to get what you want.

        Show
        Brett Porter added a comment - my mistake, :deploy doesn't install. You should be able to run :clean :install :deploy in sequence to get what you want.
        Hide
        Pascal Larin added a comment -

        Hum...

        In our case, it won't work. We have around 50 subprojects, each project is set to snapshot. It happens sometime that a subproject needs changes from a component previously build in the same multiproject:deploy. I've made patch to always resolve a dependency if it is a snapshot version.

        One thing is sure, Maven 1.1 behave differently than 1.0 with this revision (179556).

        Pascal

        Show
        Pascal Larin added a comment - Hum... In our case, it won't work. We have around 50 subprojects, each project is set to snapshot. It happens sometime that a subproject needs changes from a component previously build in the same multiproject:deploy. I've made patch to always resolve a dependency if it is a snapshot version. One thing is sure, Maven 1.1 behave differently than 1.0 with this revision (179556). Pascal
        Hide
        Arnaud Heritier added a comment -

        I'll have a look at it for the RC1

        Show
        Arnaud Heritier added a comment - I'll have a look at it for the RC1

          People

          • Assignee:
            Unassigned
            Reporter:
            Pascal Larin
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated: