Continuum
  1. Continuum
  2. CONTINUUM-1979

regression from 1.1 to 1.2.2: projects keep building even without changes

    Details

    • Type: Bug Bug
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.2.2
    • Fix Version/s: 1.3.3 (Beta)
    • Component/s: None
    • Labels:
      None
    • Complexity:
      Intermediate
    • Number of attachments :
      0

      Description

      We have continuum set up this way on purpose:

      POM filename pom.xml
      Goals release:prepare release:perform
      Arguments --batch-mode
      Build Fresh false
      Always Build false
      Is it default ? true
      Schedule DEFAULT_SCHEDULE
      Build Environment jdk1.5.0
      Description default maven2 buildDefinition

      It worked fine with continuum 1.1 stand alone (only projects with real changes would build, but with continuum 1.2.2 stand alone, it builds all projects all the time, even if there are no new changes to subversion.

      The log messages are confusing, since at first it leads you to believe the unchanged project won't build, but then it builds anyway:

      2008-11-17 18:00:00,033 [continuumScheduler_Worker-6] INFO schedulesActivator - >>>>>>>>>>>>>>>>>>>>> Executing build job (DEFAULT_SCHEDULE)...
      2008-11-17 18:00:00,561 [continuumScheduler_Worker-6] INFO continuum - Enqueuing ':: example' with build definition 'Default Maven 2 Build Definition' - id=
      3).
      2008-11-17 18:00:00,600 [pool-1-thread-1] INFO buildController - Initializing build
      2008-11-17 18:00:00,880 [pool-1-thread-1] INFO buildController - Starting build of :: example
      2008-11-17 18:00:01,116 [pool-1-thread-1] INFO buildController - Updating working dir
      2008-11-17 18:00:01,116 [pool-1-thread-1] INFO buildController - Performing action check-working-directory
      2008-11-17 18:00:01,137 [pool-1-thread-1] INFO buildController - Performing action update-working-directory-from-scm
      2008-11-17 18:00:01,635 [pool-1-thread-1] INFO action#update-working-directory-from-scm - Updating project: :: example', id: '1' to '/opt/app/xyz/var/2-cont
      inuum/working-directory/1'.
      2008-11-17 18:00:01,976 [pool-1-thread-1] INFO org.apache.continuum.scm.manager.Slf4jScmLogger - Executing: /bin/sh -c cd /opt/app/xyz/var/2-continuum/work
      ing-directory/1 && svn --non-interactive update /opt/app/xyz/var/2-continuum/working-directory/1
      2008-11-17 18:00:01,980 [pool-1-thread-1] INFO org.apache.continuum.scm.manager.Slf4jScmLogger - Working directory: /opt/app/xyz/var/2-continuum/working-di
      rectory/1
      2008-11-17 18:00:04,399 [pool-1-thread-1] INFO buildController - Merging SCM results
      2008-11-17 18:00:05,111 [pool-1-thread-1] INFO buildController - The project was not built because no changes were detected in sources since the last build
      .
      2008-11-17 18:00:07,305 [pool-1-thread-1] INFO continuumBuildExecutor#maven2 - Found changes in project's version ( maybe project was recently released ),
      building
      2008-11-17 18:00:07,306 [pool-1-thread-1] INFO buildController - Changes found in the current project, building
      2008-11-17 18:00:07,306 [pool-1-thread-1] INFO buildController - Performing action update-project-from-working-directory
      2008-11-17 18:00:07,445 [pool-1-thread-1] INFO action#update-project-from-working-directory - Updating project ':: example' from checkout.
      2008-11-17 18:00:10,028 [pool-1-thread-1] INFO buildController - Performing action execute-builder
      2008-11-17 18:00:11,038 [pool-1-thread-1] WARN continuumBuildExecutor#maven2 - Could not find the executable 'mvn' in this path:

        Issue Links

          Activity

          Hide
          deckrider added a comment -

          This is still a bug in continuum-1.2.3, and I believe the offending bit addressing CONTINUUM-1815 is from this file:

          continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/MavenTwoBuildExecutor.java

           
          
                  //CONTINUUM-1815: additional check for projects recently released
                  if ( !continuumProject.getVersion().equals( project.getVersion() ) )
                  {
                      logger.info( "Found changes in project's version ( maybe project was recently released ), building" );
                      return true;
                  }
          
          
          Show
          deckrider added a comment - This is still a bug in continuum-1.2.3, and I believe the offending bit addressing CONTINUUM-1815 is from this file: continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/MavenTwoBuildExecutor.java //CONTINUUM-1815: additional check for projects recently released if ( !continuumProject.getVersion().equals( project.getVersion() ) ) { logger.info( "Found changes in project's version ( maybe project was recently released ), building" ); return true; }
          Hide
          deckrider added a comment -

          I've built continuum 1.2.3 commenting out the above code and it addresses this issue.

          I've compared 1.2.3 source with 1.3.2 source of this file:

          continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/MavenTwoBuildExecutor.java

          Since the above block of code is still there and since this file has hardly changed (except for logging changes), I assume 1.3.2 still has the issue.

          Show
          deckrider added a comment - I've built continuum 1.2.3 commenting out the above code and it addresses this issue. I've compared 1.2.3 source with 1.3.2 source of this file: continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/MavenTwoBuildExecutor.java Since the above block of code is still there and since this file has hardly changed (except for logging changes), I assume 1.3.2 still has the issue.
          Hide
          Wendy Smoak added a comment -

          Perhaps a better solution for CONTINUUM-1815 would be to do an scm update after a release. That would also fix a related problem with trying to release twice in a row.

          Show
          Wendy Smoak added a comment - Perhaps a better solution for CONTINUUM-1815 would be to do an scm update after a release. That would also fix a related problem with trying to release twice in a row.
          Hide
          deckrider added a comment -

          Note that I don't use continuum's release functionality. We build a release every time the source code changes by putting 'release:prepare release:deploy' in our default maven2 default build definition goals. So in my case after a release, I think 'scm update' would only pull in changes if someone else had committed changes since the last 'scm update' (which does sometimes happen while the current release is building). But no matter, if there really was a change to continuum's working copy, it should build again. Unless continuum itself made the change (and in that case, there would be no change to continuum's working copy during 'scm update' anyway).

          Show
          deckrider added a comment - Note that I don't use continuum's release functionality. We build a release every time the source code changes by putting 'release:prepare release:deploy' in our default maven2 default build definition goals. So in my case after a release, I think 'scm update' would only pull in changes if someone else had committed changes since the last 'scm update' (which does sometimes happen while the current release is building). But no matter, if there really was a change to continuum's working copy, it should build again. Unless continuum itself made the change (and in that case, there would be no change to continuum's working copy during 'scm update' anyway).
          Hide
          Maria Catherine Tan added a comment -

          revert changes made to CONTINUUM-1815.

          fixed in
          r777735 of 1.3.x branch
          r777737 of trunk

          Show
          Maria Catherine Tan added a comment - revert changes made to CONTINUUM-1815 . fixed in r777735 of 1.3.x branch r777737 of trunk

            People

            • Assignee:
              Maria Catherine Tan
              Reporter:
              deckrider
            • Votes:
              1 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: