Re: When builds are done in multi-module projects ?
Emmanuel Venisse a écrit : Damien Lecan a écrit : I'll try to reproduce it. After few try, I can't reproduce your issue. I have always the same number (1) of build result on each project With 2 build definitions together ? Aaarrgghh :( Oooops, no. I'll do a new test. ok, with two build def, it was easy to reproduce it :) I understand why it happen but unfortunately, I don't think we can't fix it for 1.1. The problem: After to check scm changes, Continuum look at dependencies changes. To do that, it look only at dependencies that are continuum project too. For them, a new version is detected if the latest build result of the dependency/project is more recent than the latest build result of the current build definition. In case on more than one build def, we can't know if all build def of the dependency generate an artifact or not, we know only if a new build was done and we add it in dependencies changes. Emmanuel I will try to understand what is specific in my test case... Thanks for testing Damien
Re: When builds are done in multi-module projects ?
Damien Lecan a écrit : ok, with two build def, it was easy to reproduce it :) Ouf, I'm pleased to read that :-) I know :) After to check scm changes, Continuum look at dependencies changes. To do that, it look only at dependencies that are continuum project too. For them, a new version is detected if the latest build result of the dependency/project is more recent than the latest build result of the current build definition. In case on more than one build def, we can't know if all build def of the dependency generate an artifact or not, we know only if a new build was done and we add it in dependencies changes. It is what I suspected. Thanks to testing again np unfortunately, I don't think we can't fix it for 1.1. As you want, but I think this is a major issue. If it's not possible for 1.1, I hope it will be for 1.1.1 ! Did you fill in a jira request to track this ? I'll let you file the issue. Emmanuel
Re: When builds are done in multi-module projects ?
Did you fill in a jira request to track this ? I'll let you file the issue. http://jira.codehaus.org/browse/CONTINUUM-1507 Damien Lecan
Re: When builds are done in multi-module projects ?
Thanks. Emmanuel Damien Lecan a écrit : Did you fill in a jira request to track this ? I'll let you file the issue. http://jira.codehaus.org/browse/CONTINUUM-1507 Damien Lecan
Re: When builds are done in multi-module projects ?
I'll try to reproduce it. After few try, I can't reproduce your issue. I have always the same number (1) of build result on each project With 2 build definitions together ? Aaarrgghh :( I will try to understand what is specific in my test case... Thanks for testing Damien
Re: When builds are done in multi-module projects ?
Damien Lecan a écrit : I'll try to reproduce it. After few try, I can't reproduce your issue. I have always the same number (1) of build result on each project With 2 build definitions together ? Aaarrgghh :( Oooops, no. I'll do a new test. I will try to understand what is specific in my test case... Thanks for testing Damien
Re: When builds are done in multi-module projects ?
You probably have some generated files that aren't in .cvsignore (maybe target) Confirmed : nothing at all shell [EMAIL PROTECTED] 1] cvs status 21 | grep Status: | awk '{print $4}' | uniq Up-to-date /shell If you turn on the log level of org.apache.maven.scm to DEBUG (maybe org.apache.maven), you'll can see files in logs There is nothing special to see with SCM in DEBUG logs. I have just found this bug : http://jira.codehaus.org/browse/CONTINUUM-1226 I have exactly the same use case, except that continuum builds almost all the time my project, ie even if there is no modification at all. My use case : I have two build definitions in a group: 1. run clean deploy every 4 hours (default) 2. run clean deploy site-deploy every day at 2AM The first one detects real updates from CVS, no problem with it. But the second one sometimes detects unreal modifications. More, I made a test with my build definitions : 1. run clean deploy at 13:00:00 2. run clean deploy site-deploy at 13:15:00 build #1 wrote for each sub-project : ... Merging SCM results The project was not built because no changes were detected in sources since the last build. No changes, not building ... 10 minutes later, no change in CVS, but build #2 wrote : ... Merging SCM results Changes found, building Performing action update-project-from-working-directory Updating project 'My Sub-Project3' from checkout. ... I confirm : nothing was commited between the 2 executions How is this possible ? Something may be wrong when 2 build definitions for the same group are used ? Damien
Re: When builds are done in multi-module projects ?
What is the status of the previous build result for your build definition #2 ? In application.xml, change the log level of org.apache.maven hierarchy to DEBUG Emmanuel Damien Lecan a écrit : You probably have some generated files that aren't in .cvsignore (maybe target) Confirmed : nothing at all shell [EMAIL PROTECTED] 1] cvs status 21 | grep Status: | awk '{print $4}' | uniq Up-to-date /shell If you turn on the log level of org.apache.maven.scm to DEBUG (maybe org.apache.maven), you'll can see files in logs There is nothing special to see with SCM in DEBUG logs. I have just found this bug : http://jira.codehaus.org/browse/CONTINUUM-1226 I have exactly the same use case, except that continuum builds almost all the time my project, ie even if there is no modification at all. My use case : I have two build definitions in a group: 1. run clean deploy every 4 hours (default) 2. run clean deploy site-deploy every day at 2AM The first one detects real updates from CVS, no problem with it. But the second one sometimes detects unreal modifications. More, I made a test with my build definitions : 1. run clean deploy at 13:00:00 2. run clean deploy site-deploy at 13:15:00 build #1 wrote for each sub-project : ... Merging SCM results The project was not built because no changes were detected in sources since the last build. No changes, not building ... 10 minutes later, no change in CVS, but build #2 wrote : ... Merging SCM results Changes found, building Performing action update-project-from-working-directory Updating project 'My Sub-Project3' from checkout. ... I confirm : nothing was commited between the 2 executions How is this possible ? Something may be wrong when 2 build definitions for the same group are used ? Damien
Re: When builds are done in multi-module projects ?
What is the status of the previous build result for your build definition #2 ? Sucess In application.xml, change the log level of org.apache.maven hierarchy to DEBUG What do you want to see ? I did not noticed that before, but SCM outputs that : 1038118 [pool-1-thread-1] DEBUG org.apache.maven.scm.manager.ScmManager:default - Executing CVS command: update -d 1038530 [pool-1-thread-1] DEBUG org.apache.maven.scm.manager.ScmManager:default - 1038715 [pool-1-thread-1] INFO org.apache.maven.continuum.buildcontroller.BuildController:default - Merging SCM results 1038715 [pool-1-thread-1] INFO org.apache.maven.continuum.buildcontroller.BuildController:default - Changes found, building Strange empty line after update Damien
Re: When builds are done in multi-module projects ?
Damien Lecan a écrit : What is the status of the previous build result for your build definition #2 ? Sucess hmm. In application.xml, change the log level of org.apache.maven hierarchy to DEBUG What do you want to see ? line you pasted below :) some debug lines. I did not noticed that before, but SCM outputs that : 1038118 [pool-1-thread-1] DEBUG org.apache.maven.scm.manager.ScmManager:default - Executing CVS command: update -d 1038530 [pool-1-thread-1] DEBUG org.apache.maven.scm.manager.ScmManager:default - 1038715 [pool-1-thread-1] INFO org.apache.maven.continuum.buildcontroller.BuildController:default - Merging SCM results 1038715 [pool-1-thread-1] INFO org.apache.maven.continuum.buildcontroller.BuildController:default - Changes found, building Strange empty line after update the cvs provider doesn't analyze lines with less than 3 characters. when you run cvs with the continuum user, what is the output language? english, french... Emmanuel
Re: When builds are done in multi-module projects ?
Damien Lecan a écrit : Can you send your logs when a projects is building without changes in SCM and dependencies (scheduled mode)? Here are logs filtered by thread pool-1-thread-1. 2007-09-22 13:00:00,648 [pool-1-thread-1] INFO BuildController:default- Initializing build 2007-09-22 13:00:00,673 [pool-1-thread-1] INFO BuildController:default- Starting build of RUS Server Parent Project 2007-09-22 13:00:01,176 [pool-1-thread-1] INFO BuildController:default- Updating working dir 2007-09-22 13:00:01,176 [pool-1-thread-1] INFO BuildController:default- Performing action check-working-directory 2007-09-22 13:00:01,201 [pool-1-thread-1] INFO BuildController:default- Performing action update-working-directory-from-scm 2007-09-22 13:00:01,710 [pool-1-thread-1] INFO ContinuumScm:default - Updating project: id: '71', name 'RUS Server Parent Project'. 2007-09-22 13:00:01,743 [pool-1-thread-1] INFO ScmManager:default - Executing: /bin/sh -c cd /home/tomcat/continuum/working-directory/71 cvs -z3 -f -q update -d 2007-09-22 13:00:01,743 [pool-1-thread-1] INFO ScmManager:default - Working directory: /home/tomcat/continuum/working-directory/71 2007-09-22 13:00:20,477 [pool-1-thread-1] INFO BuildController:default- Merging SCM results 2007-09-22 13:00:20,477 [pool-1-thread-1] INFO BuildController:default- Changes found, building 2007-09-22 13:00:20,477 [pool-1-thread-1] INFO BuildController:default- Performing action update-project-from-working-directory 2007-09-22 13:00:20,512 [pool-1-thread-1] INFO Action:update-project-from-working-directory - Updating project 'RUS Server Parent Project' from checkout. 2007-09-22 13:00:21,417 [pool-1-thread-1] INFO BuildController:default- Performing action execute-builder 2007-09-22 13:00:21,996 [pool-1-thread-1] WARN ContinuumBuildExecutor:maven2 - Could not find the executable 'mvn' in this path: 2007-09-22 13:00:22,041 [pool-1-thread-1] INFO ShellCommandHelper:default - Executing: /bin/sh -c 'cd /home/tomcat/continuum/working-directory/71 mvn --batch-mode --non-recursive -Dcontinuum.project.lastBuild.state=2 -Dcontinuum.project.nextBuild.number=6 -Dcontinuum.project.group.name=RUS Server Parent Project -Dcontinuum.project.lastBuild.number=5 clean deploy' 2007-09-22 13:00:22,042 [pool-1-thread-1] INFO ShellCommandHelper:default - Working directory: /home/tomcat/continuum/working-directory/71 2007-09-22 13:00:53,989 [pool-1-thread-1] INFO ContinuumBuildExecutor:maven2 - Exit code: 0 2007-09-22 13:00:55,680 [pool-1-thread-1] INFO BuildController:default- Performing action deploy-artifact 2007-09-22 13:00:56,222 [pool-1-thread-1] INFO Notifier:mail - Same state, not sending message. 2007-09-22 13:00:56,260 [pool-1-thread-1] INFO Notifier:mail - Same state, not sending message. We can see that changes seem to be detected, but that's wrong, nothing has been commited at all since previous build of this module. Corresponding build result : Start Time: sept. 22, 2007 01:00:21 PM CEST End Time: sept. 22, 2007 01:00:53 PM CEST Duration: 32 sec Build Trigger: Scheduled SCM Changes : No SCM changes -- contradiction with log trace Yes and no :) You probably have some generated files that aren't in .cvsignore (maybe target) If you turn on the log level of org.apache.maven.scm to DEBUG (maybe org.apache.maven), you'll can see files in logs Emmanuel Dependencies Changes : No dependencies changes Build Definition Used POM filename : pom.xml Goals : clean deploy Arguments : --batch-mode --non-recursive Build Fresh : false Always Build : false Is it default ? true Schedule : Midi Do you need extra information ? Damien Lecan
Re: When builds are done in multi-module projects ?
Continuum look at scm changes, if it contains some sources updates, it build the project. Then, it looks at dependencies list, if a dependency (that is a continuum project too) is updated (new build result in success), continuum build the project With no SCM changes and no dependencies, if the build definition is marked as always build and the build isn't forced, continuum won't build the project. Emmanuel Damien Lecan a écrit : Hum, I'm working with Continuum 1.1-beta-3 Damien 2007/9/24, Damien Lecan [EMAIL PROTECTED]: Hello, I would like to understand how Continuum knows which sub-projects of a multi-module project have to be built. All sub-projects are in eparate projects under a main project group. it seems that build of a project is done when : - sources are updated - dependency projects have been updated (= built or sources updated ?) - ... I would like to know all the rules in order to understand why some projects are built whereas I can read for theses projects : SCM Changes : No SCM changes Dependencies Changes : No dependencies changes Thanks Damien Lecan
Re: When builds are done in multi-module projects ?
Weird. Can you verify in your build definition if Build Fresh/Always Build are really false. Maybe we don't print the right value. What is the status of the build result? and the previous? I'll look at the code. Emmanuel Damien Lecan a écrit : 2007/9/24, Emmanuel Venisse [EMAIL PROTECTED]: Continuum look at scm changes, if it contains some sources updates, it build the project. Then, it looks at dependencies list, if a dependency (that is a continuum project too) is updated (new build result in success), continuum build the project With no SCM changes and no dependencies, if the build definition is marked as always build and the build isn't forced, continuum won't build the project. For theses projects, always build is set to false :( Copy/paste for project build summary : SCM Changes : No SCM changes Dependencies Changes : No dependencies changes Build Definition Used POM filename : pom.xml Goals : clean deploy Arguments : --batch-mode --non-recursive Build Fresh : false Always Build : false Is it default ? : true Schedule : Midi And this project was built this noon ! Damien
Re: When builds are done in multi-module projects ?
Weird. Can you verify in your build definition if Build Fresh/Always Build are really false. Maybe we don't print the right value. Do you mean to verify by editing each Build Definitions of each project and by checking if always build/build fresh check boxes are checked ? If yes, both are not checked. If you mean to verify by looking at the content of the database, please tell which table/field I have to check. What is the status of the build result? and the previous? success/success Additionnal information : this project have been upgraded from old 1.1-beta-2 database schema. Damien
Re: Multi module projects
Hi Max, 2006/2/23, Max [EMAIL PROTECTED]: Hi, Is it possible to setup a multi-module project such that a child module can be shared between two parent projects? What if i have two seperate projects A and B and they both depend upon a module C. How do i do this since there is only one parent tag? AFAIK I don't think this is possible. Also is it possible to have common checkstyle plugin for all child modules from within the parent pom? Do you mean defining the checkstyle report once for all modules ? Then just define it in the parent POM, it will be inherited : ~ reporting ~ plugins ~ plugin ~ artifactIdmaven-checkstyle-plugin/artifactId ~ /plugin ~ /plugins ~ /reporting MAx. - Yann
Re: SPAM: Multi module projects
It isn't a continuum question but a maven question. Please ask the correct list. Emmanuel Max a écrit : Hi, Is it possible to setup a multi-module project such that a child module can be shared between two parent projects? What if i have two seperate projects A and B and they both depend upon a module C. How do i do this since there is only one parent tag? Also is it possible to have common checkstyle plugin for all child modules from within the parent pom? MAx.
Re: Best practice for adding m2 multi-module projects
In your case, you must add the parent project. Continuum will add all modules as separate projects and will run them independently. Emmanuel Richard Wallace a écrit : Hello, I've got a maven 2 multi-module project that I'm trying to add to my continuum 1.0 setup. I thought that it would be better to add the individual subprojects for better tracking of them rather than just the parent project. But, I ran into a problem doing that because it couldn't download the parent projects pom because the repository is defined in the parents pom. So, should I add my local repository to the m2 settings.xml, add the repositories element to each of the individual subproject poms, or just add the parent project in continuum and be done with it? Thanks, Rich