RE: How to deploy corporate-pom?
this would be perfect, because now i did how it was recommended, but: 1. modified the parent trunk to snapshot. 2. did a release of the company pom. Released highest version is now 1.1 3. modified the first child in the chain: parent groupIdeds/groupId artifactIdeds/artifactId versionLATEST/version --- changed, LASTEST is 1.1 (currently highest version number of parent) /parent modelVersion4.0.0/modelVersion groupIdeds.tweb/groupId artifactIdtweb/artifactId packagingpom/packaging version1.1-SNAPSHOT/version nametweb/name 4. install/deploy or release-prepare are all failing with following error: [ERROR] FATAL ERROR [INFO] [INFO] Error building POM (may not be this project's POM). Project ID: eds.tweb:tweb:pom:1.1-SNAPSHOT Reason: Cannot find parent: eds:eds for project: eds.tweb:tweb:pom:1.1-SNAPSHOT for project eds.tweb:tweb:pom:1.1-SNAPSHOT In this case i would expect that it would take version 1.1 of the parent pom. brgds Dominique -Original Message- From: Nick Stolwijk [mailto:[EMAIL PROTECTED] Sent: Wednesday, December 19, 2007 11:21 PM To: Maven Users List Subject: Re: How to deploy corporate-pom? I was also thinking, that you could write a custom rule for the enforcer plugin, which checks that the topmost parent is the latest in the available repositories. Maybe I will write it tomorrow, if you are interested. Hth, Nick Stolwijk [EMAIL PROTECTED] wrote: Couldn't you put the version of the parent (corporate-pom) to LATEST instead of a version number. AFAIK, when you do a release it is changed into the current latest version. So tags won't change when you update your corporate pom. Hth, Nick Stolwijk -Original Message- From: Boeckli, Dominique [mailto:[EMAIL PROTECTED] Sent: Wed 12/19/2007 5:04 PM To: Maven Users List Subject: RE: How to deploy corporate-pom? the problem is that things get forgotten: Assuming i start working on Project Y and i forget to check if there's a new company pom. After a few changes in my code in this project, it is builded on wrong dependencies succesfully and deployed on the test server. Deployment failes and i spent a lot of time debugging it, searching the problem in my own code. Half of the other developers doing the same error, loosing a lot of time. The script you mentioned is a solution for this problem. Does anybody have such a script? P.S. removing stuff from their local repo was not really another problem, it is only a other way to handle the same problem. In this way i don't use any snapshot version, i work and edit directly on released versions (eg 1.0). When i think the company pom is ok, i deploy it and advice my collegues to delete this versions from their local repo. In this way, they are forced to get the new parent from the intranet repo. The point is, that the version allway remains the same for the company pom. This way is ugly but it causes not more work and problems than the official way. I am not happy with it, neither, and this is the reason why i ask here around what other people are doing. brgds Dominique -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Wednesday, December 19, 2007 04:16 PM To: Maven Users List; Maven Users List Subject: RE: How to deploy corporate-pom? I thought the problem was with developers having to remove stuff from their local repository. Now you present another problem. In my vision, they should certainly not change automatically. At least not the tags, then you can have two builds of the same tag with different parent information, based on when it's build. So should they change all, then you could write a script which replaced it in the trunks and branches. Or should they only change, when the projects get alive again. I guess you can compare it to mavens own corporate pom. There are a few versions of that, and plugins, modules and projects only update, when they think it is necessary and when it is completely tested. The parent of project is also a dependency, which after changing, should be tested whether it broke anything or not. So let me rephrase it, why would you want to change projects nobody is working on? Maybe it is easier to have it as one of the steps when reviving a project. Check whether the parent should be updated and test it if has to. Hth, Nick Stolwijk -Original Message- From: Boeckli, Dominique [mailto:[EMAIL PROTECTED] Sent: Wed 12/19/2007 4:05 PM To: Maven Users List Subject: RE: How to deploy corporate-pom? yes, i understand, but good-way-example is based on 2 projects. But, my example is the following: Project A same. Project B same. no comes the difference 200 more projects, currently nobody working on it, some were
Re: How to deploy corporate-pom?
Step back a second and consider... Its 1 week before xmas, people are going away on holiday. A high profile project is in the final phases of testing and you discover a show stopper. You as the release manager go make the final release with the fix, but someone has released a new comporate pom that breaks your build... -- Michael McCallum Enterprise Engineer mailto:[EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: How to deploy corporate-pom?
In fact, both ways are not perfect! Assuming: i change the company pom in your way and advice the developers about this change. As you know most of the email are deleted without being read, i am sure that nobody remembers that there's a new version of the company Pom. So, the effect is the same like in my way: after i changed the company pom i have to advice the developers that they delete the local company pom in the local repository. This gets forgotten as well and the people are picking up the old company Pom. Both ways are bad! And there's no good way?! Does anybody have an idea? -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Thursday, December 13, 2007 01:34 PM To: Maven Users List; Maven Users List Subject: RE: How to deploy corporate-pom? This is not good. The other developers won't get the change. And if other projects (and especially their tags) rely on this and you change it, you got not reproducible builds. Also not good. Just update the other versions when needed. It's the most clean thing to do. With regards, Nick Stolwijk -Original Message- From: Boeckli, Dominique [mailto:[EMAIL PROTECTED] Sent: Thu 12/13/2007 1:27 PM To: Maven Users List Subject: RE: How to deploy corporate-pom? I just do it this way for the company pom (-DperformRelease=true) because it would be pain if the version number for the company pom has been increased and all other projects defining this one as parent has to be edited. When i edit and doing mvn clean deploy -DperformRelease=true -U -X for the company pom i can see that the local repository has got the change. This is good so far. But what is about the other developers still having the old company pom in their local repository (using the same version number)? brgds Dominique Boeckli -Original Message- From: Siegmann Daniel, NY [mailto:[EMAIL PROTECTED] Sent: Friday, November 09, 2007 10:30 PM To: Maven Users List Subject: RE: How to deploy corporate-pom? How do I package the corporate pom? Do I just upload it to archiva in a directory called corporate-pom with just the pom.xml file in there? No. This is a Maven project like any other. Just have the following in your POM: project packagingpom/packaging ... /project Then use the Maven deploy plugin (mvn deploy). Note that you should follow standard release procedure. i.e. if you are not releasing a snapshot you should set -DperformRelease=true and you should have this tagged in your version control system (or just use the release plugin). -- Daniel Siegmann FJA-US, Inc. 512 Seventh Ave., New York, NY 10018 (212) 840-2618 ext. 139 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: How to deploy corporate-pom?
I didn't meant on developer basis, but on project basis. Example: corporate-pom is at version 0.1.0 Project A has as parent corporate-pom:0.1.0 Project B has as parent corporate-pom:0.1.0 Project A wants a version changed, dependency added, whatever. corporate-pom changes to version 0.1.1-SNAPSHOT Project A changes its parent pom to 0.1.1-SNAPSHOT Developers at project A automatically get the new corporate-pom when they update and build project A. Developer also get automatically once a day any new SNAPSHOTS of the corporate-pom. Changes to corporate-pom are tested and found ok. Corporate-pom is released to version 0.1.1. Project A changes the version to 0.1.1. Developers get new 0.1.0 corporate pom when updating and building. Now you can go to the team leader, responsible person, etc of project b, and also let them update the version in their pom. Developers at project B also automatically get the new corporate pom. No manually removing corporate poms from local repositories or inconsistent builds. I guess this is the Good Way. :) Hth, Nick Stolwijk -Original Message- From: Boeckli, Dominique [mailto:[EMAIL PROTECTED] Sent: Wed 12/19/2007 3:36 PM To: Maven Users List Subject: RE: How to deploy corporate-pom? In fact, both ways are not perfect! Assuming: i change the company pom in your way and advice the developers about this change. As you know most of the email are deleted without being read, i am sure that nobody remembers that there's a new version of the company Pom. So, the effect is the same like in my way: after i changed the company pom i have to advice the developers that they delete the local company pom in the local repository. This gets forgotten as well and the people are picking up the old company Pom. Both ways are bad! And there's no good way?! Does anybody have an idea? -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Thursday, December 13, 2007 01:34 PM To: Maven Users List; Maven Users List Subject: RE: How to deploy corporate-pom? This is not good. The other developers won't get the change. And if other projects (and especially their tags) rely on this and you change it, you got not reproducible builds. Also not good. Just update the other versions when needed. It's the most clean thing to do. With regards, Nick Stolwijk -Original Message- From: Boeckli, Dominique [mailto:[EMAIL PROTECTED] Sent: Thu 12/13/2007 1:27 PM To: Maven Users List Subject: RE: How to deploy corporate-pom? I just do it this way for the company pom (-DperformRelease=true) because it would be pain if the version number for the company pom has been increased and all other projects defining this one as parent has to be edited. When i edit and doing mvn clean deploy -DperformRelease=true -U -X for the company pom i can see that the local repository has got the change. This is good so far. But what is about the other developers still having the old company pom in their local repository (using the same version number)? brgds Dominique Boeckli -Original Message- From: Siegmann Daniel, NY [mailto:[EMAIL PROTECTED] Sent: Friday, November 09, 2007 10:30 PM To: Maven Users List Subject: RE: How to deploy corporate-pom? How do I package the corporate pom? Do I just upload it to archiva in a directory called corporate-pom with just the pom.xml file in there? No. This is a Maven project like any other. Just have the following in your POM: project packagingpom/packaging ... /project Then use the Maven deploy plugin (mvn deploy). Note that you should follow standard release procedure. i.e. if you are not releasing a snapshot you should set -DperformRelease=true and you should have this tagged in your version control system (or just use the release plugin). -- Daniel Siegmann FJA-US, Inc. 512 Seventh Ave., New York, NY 10018 (212) 840-2618 ext. 139 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: How to deploy corporate-pom?
I thought the problem was with developers having to remove stuff from their local repository. Now you present another problem. In my vision, they should certainly not change automatically. At least not the tags, then you can have two builds of the same tag with different parent information, based on when it's build. So should they change all, then you could write a script which replaced it in the trunks and branches. Or should they only change, when the projects get alive again. I guess you can compare it to mavens own corporate pom. There are a few versions of that, and plugins, modules and projects only update, when they think it is necessary and when it is completely tested. The parent of project is also a dependency, which after changing, should be tested whether it broke anything or not. So let me rephrase it, why would you want to change projects nobody is working on? Maybe it is easier to have it as one of the steps when reviving a project. Check whether the parent should be updated and test it if has to. Hth, Nick Stolwijk -Original Message- From: Boeckli, Dominique [mailto:[EMAIL PROTECTED] Sent: Wed 12/19/2007 4:05 PM To: Maven Users List Subject: RE: How to deploy corporate-pom? yes, i understand, but good-way-example is based on 2 projects. But, my example is the following: Project A same. Project B same. no comes the difference 200 more projects, currently nobody working on it, some were not changed since 2 years or more, has as parent corporate-pom:0.1.0 as well. In this case the good way is a pain as well. Who goes to change all those projects to the new corporate-pom:0.1.1 ? -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Wednesday, December 19, 2007 03:46 PM To: Maven Users List Subject: RE: How to deploy corporate-pom? I didn't meant on developer basis, but on project basis. Example: corporate-pom is at version 0.1.0 Project A has as parent corporate-pom:0.1.0 Project B has as parent corporate-pom:0.1.0 Project A wants a version changed, dependency added, whatever. corporate-pom changes to version 0.1.1-SNAPSHOT Project A changes its parent pom to 0.1.1-SNAPSHOT Developers at project A automatically get the new corporate-pom when they update and build project A. Developer also get automatically once a day any new SNAPSHOTS of the corporate-pom. Changes to corporate-pom are tested and found ok. Corporate-pom is released to version 0.1.1. Project A changes the version to 0.1.1. Developers get new 0.1.0 corporate pom when updating and building. Now you can go to the team leader, responsible person, etc of project b, and also let them update the version in their pom. Developers at project B also automatically get the new corporate pom. No manually removing corporate poms from local repositories or inconsistent builds. I guess this is the Good Way. :) Hth, Nick Stolwijk -Original Message- From: Boeckli, Dominique [mailto:[EMAIL PROTECTED] Sent: Wed 12/19/2007 3:36 PM To: Maven Users List Subject: RE: How to deploy corporate-pom? In fact, both ways are not perfect! Assuming: i change the company pom in your way and advice the developers about this change. As you know most of the email are deleted without being read, i am sure that nobody remembers that there's a new version of the company Pom. So, the effect is the same like in my way: after i changed the company pom i have to advice the developers that they delete the local company pom in the local repository. This gets forgotten as well and the people are picking up the old company Pom. Both ways are bad! And there's no good way?! Does anybody have an idea? -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Thursday, December 13, 2007 01:34 PM To: Maven Users List; Maven Users List Subject: RE: How to deploy corporate-pom? This is not good. The other developers won't get the change. And if other projects (and especially their tags) rely on this and you change it, you got not reproducible builds. Also not good. Just update the other versions when needed. It's the most clean thing to do. With regards, Nick Stolwijk -Original Message- From: Boeckli, Dominique [mailto:[EMAIL PROTECTED] Sent: Thu 12/13/2007 1:27 PM To: Maven Users List Subject: RE: How to deploy corporate-pom? I just do it this way for the company pom (-DperformRelease=true) because it would be pain if the version number for the company pom has been increased and all other projects defining this one as parent has to be edited. When i edit and doing mvn clean deploy -DperformRelease=true -U -X for the company pom i can see that the local repository has got the change. This is good so far. But what is about the other developers still having the old company pom in their local repository (using the same version number)? brgds Dominique Boeckli -Original Message- From: Siegmann Daniel, NY
RE: How to deploy corporate-pom?
yes, i understand, but good-way-example is based on 2 projects. But, my example is the following: Project A same. Project B same. no comes the difference 200 more projects, currently nobody working on it, some were not changed since 2 years or more, has as parent corporate-pom:0.1.0 as well. In this case the good way is a pain as well. Who goes to change all those projects to the new corporate-pom:0.1.1 ? -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Wednesday, December 19, 2007 03:46 PM To: Maven Users List Subject: RE: How to deploy corporate-pom? I didn't meant on developer basis, but on project basis. Example: corporate-pom is at version 0.1.0 Project A has as parent corporate-pom:0.1.0 Project B has as parent corporate-pom:0.1.0 Project A wants a version changed, dependency added, whatever. corporate-pom changes to version 0.1.1-SNAPSHOT Project A changes its parent pom to 0.1.1-SNAPSHOT Developers at project A automatically get the new corporate-pom when they update and build project A. Developer also get automatically once a day any new SNAPSHOTS of the corporate-pom. Changes to corporate-pom are tested and found ok. Corporate-pom is released to version 0.1.1. Project A changes the version to 0.1.1. Developers get new 0.1.0 corporate pom when updating and building. Now you can go to the team leader, responsible person, etc of project b, and also let them update the version in their pom. Developers at project B also automatically get the new corporate pom. No manually removing corporate poms from local repositories or inconsistent builds. I guess this is the Good Way. :) Hth, Nick Stolwijk -Original Message- From: Boeckli, Dominique [mailto:[EMAIL PROTECTED] Sent: Wed 12/19/2007 3:36 PM To: Maven Users List Subject: RE: How to deploy corporate-pom? In fact, both ways are not perfect! Assuming: i change the company pom in your way and advice the developers about this change. As you know most of the email are deleted without being read, i am sure that nobody remembers that there's a new version of the company Pom. So, the effect is the same like in my way: after i changed the company pom i have to advice the developers that they delete the local company pom in the local repository. This gets forgotten as well and the people are picking up the old company Pom. Both ways are bad! And there's no good way?! Does anybody have an idea? -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Thursday, December 13, 2007 01:34 PM To: Maven Users List; Maven Users List Subject: RE: How to deploy corporate-pom? This is not good. The other developers won't get the change. And if other projects (and especially their tags) rely on this and you change it, you got not reproducible builds. Also not good. Just update the other versions when needed. It's the most clean thing to do. With regards, Nick Stolwijk -Original Message- From: Boeckli, Dominique [mailto:[EMAIL PROTECTED] Sent: Thu 12/13/2007 1:27 PM To: Maven Users List Subject: RE: How to deploy corporate-pom? I just do it this way for the company pom (-DperformRelease=true) because it would be pain if the version number for the company pom has been increased and all other projects defining this one as parent has to be edited. When i edit and doing mvn clean deploy -DperformRelease=true -U -X for the company pom i can see that the local repository has got the change. This is good so far. But what is about the other developers still having the old company pom in their local repository (using the same version number)? brgds Dominique Boeckli -Original Message- From: Siegmann Daniel, NY [mailto:[EMAIL PROTECTED] Sent: Friday, November 09, 2007 10:30 PM To: Maven Users List Subject: RE: How to deploy corporate-pom? How do I package the corporate pom? Do I just upload it to archiva in a directory called corporate-pom with just the pom.xml file in there? No. This is a Maven project like any other. Just have the following in your POM: project packagingpom/packaging ... /project Then use the Maven deploy plugin (mvn deploy). Note that you should follow standard release procedure. i.e. if you are not releasing a snapshot you should set -DperformRelease=true and you should have this tagged in your version control system (or just use the release plugin). -- Daniel Siegmann FJA-US, Inc. 512 Seventh Ave., New York, NY 10018 (212) 840-2618 ext. 139 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional
RE: How to deploy corporate-pom?
the problem is that things get forgotten: Assuming i start working on Project Y and i forget to check if there's a new company pom. After a few changes in my code in this project, it is builded on wrong dependencies succesfully and deployed on the test server. Deployment failes and i spent a lot of time debugging it, searching the problem in my own code. Half of the other developers doing the same error, loosing a lot of time. The script you mentioned is a solution for this problem. Does anybody have such a script? P.S. removing stuff from their local repo was not really another problem, it is only a other way to handle the same problem. In this way i don't use any snapshot version, i work and edit directly on released versions (eg 1.0). When i think the company pom is ok, i deploy it and advice my collegues to delete this versions from their local repo. In this way, they are forced to get the new parent from the intranet repo. The point is, that the version allway remains the same for the company pom. This way is ugly but it causes not more work and problems than the official way. I am not happy with it, neither, and this is the reason why i ask here around what other people are doing. brgds Dominique -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Wednesday, December 19, 2007 04:16 PM To: Maven Users List; Maven Users List Subject: RE: How to deploy corporate-pom? I thought the problem was with developers having to remove stuff from their local repository. Now you present another problem. In my vision, they should certainly not change automatically. At least not the tags, then you can have two builds of the same tag with different parent information, based on when it's build. So should they change all, then you could write a script which replaced it in the trunks and branches. Or should they only change, when the projects get alive again. I guess you can compare it to mavens own corporate pom. There are a few versions of that, and plugins, modules and projects only update, when they think it is necessary and when it is completely tested. The parent of project is also a dependency, which after changing, should be tested whether it broke anything or not. So let me rephrase it, why would you want to change projects nobody is working on? Maybe it is easier to have it as one of the steps when reviving a project. Check whether the parent should be updated and test it if has to. Hth, Nick Stolwijk -Original Message- From: Boeckli, Dominique [mailto:[EMAIL PROTECTED] Sent: Wed 12/19/2007 4:05 PM To: Maven Users List Subject: RE: How to deploy corporate-pom? yes, i understand, but good-way-example is based on 2 projects. But, my example is the following: Project A same. Project B same. no comes the difference 200 more projects, currently nobody working on it, some were not changed since 2 years or more, has as parent corporate-pom:0.1.0 as well. In this case the good way is a pain as well. Who goes to change all those projects to the new corporate-pom:0.1.1 ? -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Wednesday, December 19, 2007 03:46 PM To: Maven Users List Subject: RE: How to deploy corporate-pom? I didn't meant on developer basis, but on project basis. Example: corporate-pom is at version 0.1.0 Project A has as parent corporate-pom:0.1.0 Project B has as parent corporate-pom:0.1.0 Project A wants a version changed, dependency added, whatever. corporate-pom changes to version 0.1.1-SNAPSHOT Project A changes its parent pom to 0.1.1-SNAPSHOT Developers at project A automatically get the new corporate-pom when they update and build project A. Developer also get automatically once a day any new SNAPSHOTS of the corporate-pom. Changes to corporate-pom are tested and found ok. Corporate-pom is released to version 0.1.1. Project A changes the version to 0.1.1. Developers get new 0.1.0 corporate pom when updating and building. Now you can go to the team leader, responsible person, etc of project b, and also let them update the version in their pom. Developers at project B also automatically get the new corporate pom. No manually removing corporate poms from local repositories or inconsistent builds. I guess this is the Good Way. :) Hth, Nick Stolwijk -Original Message- From: Boeckli, Dominique [mailto:[EMAIL PROTECTED] Sent: Wed 12/19/2007 3:36 PM To: Maven Users List Subject: RE: How to deploy corporate-pom? In fact, both ways are not perfect! Assuming: i change the company pom in your way and advice the developers about this change. As you know most of the email are deleted without being read, i am sure that nobody remembers that there's a new version of the company Pom. So, the effect is the same like in my way: after i changed the company pom i have to advice the developers that they delete the local company pom in the local repository
RE: How to deploy corporate-pom?
Couldn't you put the version of the parent (corporate-pom) to LATEST instead of a version number. AFAIK, when you do a release it is changed into the current latest version. So tags won't change when you update your corporate pom. Hth, Nick Stolwijk -Original Message- From: Boeckli, Dominique [mailto:[EMAIL PROTECTED] Sent: Wed 12/19/2007 5:04 PM To: Maven Users List Subject: RE: How to deploy corporate-pom? the problem is that things get forgotten: Assuming i start working on Project Y and i forget to check if there's a new company pom. After a few changes in my code in this project, it is builded on wrong dependencies succesfully and deployed on the test server. Deployment failes and i spent a lot of time debugging it, searching the problem in my own code. Half of the other developers doing the same error, loosing a lot of time. The script you mentioned is a solution for this problem. Does anybody have such a script? P.S. removing stuff from their local repo was not really another problem, it is only a other way to handle the same problem. In this way i don't use any snapshot version, i work and edit directly on released versions (eg 1.0). When i think the company pom is ok, i deploy it and advice my collegues to delete this versions from their local repo. In this way, they are forced to get the new parent from the intranet repo. The point is, that the version allway remains the same for the company pom. This way is ugly but it causes not more work and problems than the official way. I am not happy with it, neither, and this is the reason why i ask here around what other people are doing. brgds Dominique -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Wednesday, December 19, 2007 04:16 PM To: Maven Users List; Maven Users List Subject: RE: How to deploy corporate-pom? I thought the problem was with developers having to remove stuff from their local repository. Now you present another problem. In my vision, they should certainly not change automatically. At least not the tags, then you can have two builds of the same tag with different parent information, based on when it's build. So should they change all, then you could write a script which replaced it in the trunks and branches. Or should they only change, when the projects get alive again. I guess you can compare it to mavens own corporate pom. There are a few versions of that, and plugins, modules and projects only update, when they think it is necessary and when it is completely tested. The parent of project is also a dependency, which after changing, should be tested whether it broke anything or not. So let me rephrase it, why would you want to change projects nobody is working on? Maybe it is easier to have it as one of the steps when reviving a project. Check whether the parent should be updated and test it if has to. Hth, Nick Stolwijk -Original Message- From: Boeckli, Dominique [mailto:[EMAIL PROTECTED] Sent: Wed 12/19/2007 4:05 PM To: Maven Users List Subject: RE: How to deploy corporate-pom? yes, i understand, but good-way-example is based on 2 projects. But, my example is the following: Project A same. Project B same. no comes the difference 200 more projects, currently nobody working on it, some were not changed since 2 years or more, has as parent corporate-pom:0.1.0 as well. In this case the good way is a pain as well. Who goes to change all those projects to the new corporate-pom:0.1.1 ? -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Wednesday, December 19, 2007 03:46 PM To: Maven Users List Subject: RE: How to deploy corporate-pom? I didn't meant on developer basis, but on project basis. Example: corporate-pom is at version 0.1.0 Project A has as parent corporate-pom:0.1.0 Project B has as parent corporate-pom:0.1.0 Project A wants a version changed, dependency added, whatever. corporate-pom changes to version 0.1.1-SNAPSHOT Project A changes its parent pom to 0.1.1-SNAPSHOT Developers at project A automatically get the new corporate-pom when they update and build project A. Developer also get automatically once a day any new SNAPSHOTS of the corporate-pom. Changes to corporate-pom are tested and found ok. Corporate-pom is released to version 0.1.1. Project A changes the version to 0.1.1. Developers get new 0.1.0 corporate pom when updating and building. Now you can go to the team leader, responsible person, etc of project b, and also let them update the version in their pom. Developers at project B also automatically get the new corporate pom. No manually removing corporate poms from local repositories or inconsistent builds. I guess this is the Good Way. :) Hth, Nick Stolwijk -Original Message- From: Boeckli, Dominique [mailto:[EMAIL PROTECTED] Sent: Wed 12/19/2007 3:36 PM To: Maven Users List Subject: RE: How to deploy corporate-pom? In fact, both ways
Re: How to deploy corporate-pom?
You can configure your repository to check for updates after a time interval but in order to maintain build reproducibility something in the repository and that includes parents should never change... Process has its problems but its better for the developer to choose when to break their project than having it forced upon them. I only include distribution management into the parent project... which changes rarely and if a developer did not update there project to the new parent then mostly things would break very soon e.g. the release repo has moved somewhere else... If you are trying to manage depedencies via parent poms you are taking the wrong approach and should have another look. See my many posts regarding composite projects to keep dependency graphs clean. -- Michael McCallum Enterprise Engineer mailto:[EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: How to deploy corporate-pom?
I was also thinking, that you could write a custom rule for the enforcer plugin, which checks that the topmost parent is the latest in the available repositories. Maybe I will write it tomorrow, if you are interested. Hth, Nick Stolwijk [EMAIL PROTECTED] wrote: Couldn't you put the version of the parent (corporate-pom) to LATEST instead of a version number. AFAIK, when you do a release it is changed into the current latest version. So tags won't change when you update your corporate pom. Hth, Nick Stolwijk -Original Message- From: Boeckli, Dominique [mailto:[EMAIL PROTECTED] Sent: Wed 12/19/2007 5:04 PM To: Maven Users List Subject: RE: How to deploy corporate-pom? the problem is that things get forgotten: Assuming i start working on Project Y and i forget to check if there's a new company pom. After a few changes in my code in this project, it is builded on wrong dependencies succesfully and deployed on the test server. Deployment failes and i spent a lot of time debugging it, searching the problem in my own code. Half of the other developers doing the same error, loosing a lot of time. The script you mentioned is a solution for this problem. Does anybody have such a script? P.S. removing stuff from their local repo was not really another problem, it is only a other way to handle the same problem. In this way i don't use any snapshot version, i work and edit directly on released versions (eg 1.0). When i think the company pom is ok, i deploy it and advice my collegues to delete this versions from their local repo. In this way, they are forced to get the new parent from the intranet repo. The point is, that the version allway remains the same for the company pom. This way is ugly but it causes not more work and problems than the official way. I am not happy with it, neither, and this is the reason why i ask here around what other people are doing. brgds Dominique -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Wednesday, December 19, 2007 04:16 PM To: Maven Users List; Maven Users List Subject: RE: How to deploy corporate-pom? I thought the problem was with developers having to remove stuff from their local repository. Now you present another problem. In my vision, they should certainly not change automatically. At least not the tags, then you can have two builds of the same tag with different parent information, based on when it's build. So should they change all, then you could write a script which replaced it in the trunks and branches. Or should they only change, when the projects get alive again. I guess you can compare it to mavens own corporate pom. There are a few versions of that, and plugins, modules and projects only update, when they think it is necessary and when it is completely tested. The parent of project is also a dependency, which after changing, should be tested whether it broke anything or not. So let me rephrase it, why would you want to change projects nobody is working on? Maybe it is easier to have it as one of the steps when reviving a project. Check whether the parent should be updated and test it if has to. Hth, Nick Stolwijk -Original Message- From: Boeckli, Dominique [mailto:[EMAIL PROTECTED] Sent: Wed 12/19/2007 4:05 PM To: Maven Users List Subject: RE: How to deploy corporate-pom? yes, i understand, but good-way-example is based on 2 projects. But, my example is the following: Project A same. Project B same. no comes the difference 200 more projects, currently nobody working on it, some were not changed since 2 years or more, has as parent corporate-pom:0.1.0 as well. In this case the good way is a pain as well. Who goes to change all those projects to the new corporate-pom:0.1.1 ? -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Wednesday, December 19, 2007 03:46 PM To: Maven Users List Subject: RE: How to deploy corporate-pom? I didn't meant on developer basis, but on project basis. Example: corporate-pom is at version 0.1.0 Project A has as parent corporate-pom:0.1.0 Project B has as parent corporate-pom:0.1.0 Project A wants a version changed, dependency added, whatever. corporate-pom changes to version 0.1.1-SNAPSHOT Project A changes its parent pom to 0.1.1-SNAPSHOT Developers at project A automatically get the new corporate-pom when they update and build project A. Developer also get automatically once a day any new SNAPSHOTS of the corporate-pom. Changes to corporate-pom are tested and found ok. Corporate-pom is released to version 0.1.1. Project A changes the version to 0.1.1. Developers get new 0.1.0 corporate pom when updating and building. Now you can go to the team leader, responsible person, etc of project b, and also let them update the version in their pom. Developers at project B also automatically get the new corporate pom. No manually removing corporate poms from local repositories
RE: How to deploy corporate-pom?
This is an interesting idea, but what if you change the rev on the trunk but someone has a developer branch? Now their branch will start failing the rule cause it's not the latest top level parent. -Original Message- From: Nick Stolwijk [mailto:[EMAIL PROTECTED] Sent: Wednesday, December 19, 2007 5:21 PM To: Maven Users List Subject: Re: How to deploy corporate-pom? I was also thinking, that you could write a custom rule for the enforcer plugin, which checks that the topmost parent is the latest in the available repositories. Maybe I will write it tomorrow, if you are interested. Hth, Nick Stolwijk [EMAIL PROTECTED] wrote: Couldn't you put the version of the parent (corporate-pom) to LATEST instead of a version number. AFAIK, when you do a release it is changed into the current latest version. So tags won't change when you update your corporate pom. Hth, Nick Stolwijk -Original Message- From: Boeckli, Dominique [mailto:[EMAIL PROTECTED] Sent: Wed 12/19/2007 5:04 PM To: Maven Users List Subject: RE: How to deploy corporate-pom? the problem is that things get forgotten: Assuming i start working on Project Y and i forget to check if there's a new company pom. After a few changes in my code in this project, it is builded on wrong dependencies succesfully and deployed on the test server. Deployment failes and i spent a lot of time debugging it, searching the problem in my own code. Half of the other developers doing the same error, loosing a lot of time. The script you mentioned is a solution for this problem. Does anybody have such a script? P.S. removing stuff from their local repo was not really another problem, it is only a other way to handle the same problem. In this way i don't use any snapshot version, i work and edit directly on released versions (eg 1.0). When i think the company pom is ok, i deploy it and advice my collegues to delete this versions from their local repo. In this way, they are forced to get the new parent from the intranet repo. The point is, that the version allway remains the same for the company pom. This way is ugly but it causes not more work and problems than the official way. I am not happy with it, neither, and this is the reason why i ask here around what other people are doing. brgds Dominique -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Wednesday, December 19, 2007 04:16 PM To: Maven Users List; Maven Users List Subject: RE: How to deploy corporate-pom? I thought the problem was with developers having to remove stuff from their local repository. Now you present another problem. In my vision, they should certainly not change automatically. At least not the tags, then you can have two builds of the same tag with different parent information, based on when it's build. So should they change all, then you could write a script which replaced it in the trunks and branches. Or should they only change, when the projects get alive again. I guess you can compare it to mavens own corporate pom. There are a few versions of that, and plugins, modules and projects only update, when they think it is necessary and when it is completely tested. The parent of project is also a dependency, which after changing, should be tested whether it broke anything or not. So let me rephrase it, why would you want to change projects nobody is working on? Maybe it is easier to have it as one of the steps when reviving a project. Check whether the parent should be updated and test it if has to. Hth, Nick Stolwijk -Original Message- From: Boeckli, Dominique [mailto:[EMAIL PROTECTED] Sent: Wed 12/19/2007 4:05 PM To: Maven Users List Subject: RE: How to deploy corporate-pom? yes, i understand, but good-way-example is based on 2 projects. But, my example is the following: Project A same. Project B same. no comes the difference 200 more projects, currently nobody working on it, some were not changed since 2 years or more, has as parent corporate-pom:0.1.0 as well. In this case the good way is a pain as well. Who goes to change all those projects to the new corporate-pom:0.1.1 ? -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Wednesday, December 19, 2007 03:46 PM To: Maven Users List Subject: RE: How to deploy corporate-pom? I didn't meant on developer basis, but on project basis. Example: corporate-pom is at version 0.1.0 Project A has as parent corporate-pom:0.1.0 Project B has as parent corporate-pom:0.1.0 Project A wants a version changed, dependency added, whatever. corporate-pom changes to version 0.1.1-SNAPSHOT Project A changes its parent pom to 0.1.1-SNAPSHOT Developers at project A automatically get the new corporate-pom when they update and build project A. Developer also get automatically once a day any new SNAPSHOTS of the corporate
Re: How to deploy corporate-pom?
I was not talking about revisions (SVN) but about versions (maven repository). I hadn't thought about branches/trunk with each their own releases. So maybe it should just be an option to only have the latest minor version. ie. if there is an update from 0.9.1 to 0.9.2 you should take it. It there is an update from 0.9.1 to 1.0.0, you are only warned about it. Maybe get a requirements list before start coding. LatestCompanyPom enforcer rule: Basic functionality: - Should fail if the current project is a SNAPSHOT and there is a newer version of the top most (the corporate pom) artifact. (Don't fail on released versions) - Very optional (I can't find a good use case):Option to fail on released versions also. - Option to not fail on major changes. (so update from 0.9.1 - 0.9.2 fail, from 0.9.0 to 1.0.0 don't fail) Any other use cases/ideas? With regards, Nick Stolwijk Brian E. Fox wrote: This is an interesting idea, but what if you change the rev on the trunk but someone has a developer branch? Now their branch will start failing the rule cause it's not the latest top level parent. -Original Message- From: Nick Stolwijk [mailto:[EMAIL PROTECTED] Sent: Wednesday, December 19, 2007 5:21 PM To: Maven Users List Subject: Re: How to deploy corporate-pom? I was also thinking, that you could write a custom rule for the enforcer plugin, which checks that the topmost parent is the latest in the available repositories. Maybe I will write it tomorrow, if you are interested. Hth, Nick Stolwijk [EMAIL PROTECTED] wrote: Couldn't you put the version of the parent (corporate-pom) to LATEST instead of a version number. AFAIK, when you do a release it is changed into the current latest version. So tags won't change when you update your corporate pom. Hth, Nick Stolwijk -Original Message- From: Boeckli, Dominique [mailto:[EMAIL PROTECTED] Sent: Wed 12/19/2007 5:04 PM To: Maven Users List Subject: RE: How to deploy corporate-pom? the problem is that things get forgotten: Assuming i start working on Project Y and i forget to check if there's a new company pom. After a few changes in my code in this project, it is builded on wrong dependencies succesfully and deployed on the test server. Deployment failes and i spent a lot of time debugging it, searching the problem in my own code. Half of the other developers doing the same error, loosing a lot of time. The script you mentioned is a solution for this problem. Does anybody have such a script? P.S. removing stuff from their local repo was not really another problem, it is only a other way to handle the same problem. In this way i don't use any snapshot version, i work and edit directly on released versions (eg 1.0). When i think the company pom is ok, i deploy it and advice my collegues to delete this versions from their local repo. In this way, they are forced to get the new parent from the intranet repo. The point is, that the version allway remains the same for the company pom. This way is ugly but it causes not more work and problems than the official way. I am not happy with it, neither, and this is the reason why i ask here around what other people are doing. brgds Dominique -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Wednesday, December 19, 2007 04:16 PM To: Maven Users List; Maven Users List Subject: RE: How to deploy corporate-pom? I thought the problem was with developers having to remove stuff from their local repository. Now you present another problem. In my vision, they should certainly not change automatically. At least not the tags, then you can have two builds of the same tag with different parent information, based on when it's build. So should they change all, then you could write a script which replaced it in the trunks and branches. Or should they only change, when the projects get alive again. I guess you can compare it to mavens own corporate pom. There are a few versions of that, and plugins, modules and projects only update, when they think it is necessary and when it is completely tested. The parent of project is also a dependency, which after changing, should be tested whether it broke anything or not. So let me rephrase it, why would you want to change projects nobody is working on? Maybe it is easier to have it as one of the steps when reviving a project. Check whether the parent should be updated and test it if has to. Hth, Nick Stolwijk -Original Message- From: Boeckli, Dominique [mailto:[EMAIL PROTECTED] Sent: Wed 12/19/2007 4:05 PM To: Maven Users List Subject: RE: How to deploy corporate-pom? yes, i understand, but good-way-example is based on 2 projects. But, my example is the following: Project A same. Project B same. no comes the difference 200 more projects, currently nobody working on it, some were
RE: How to deploy corporate-pom?
I think this can still be a problem. Say you have 1.0-SNAPSHOT of your product using version 1 of your corp pom. (I always suggest org poms always be releases for the same reason I'm about to explain) Then you go and change the trunk of your product code to use version 2 of the corp pom. I'm a developer happily working on the side in my private branch (or un-updated WC...). All of a sudden my build fails... (because the enforcer rule or because the snapshot of the corp pom was updated with conflicting info). If you have snapshots of your corp pom, things will change suddenly for people sitting off to the side working on their own stuff...the same will happen if you are enforcing that they always use the latest corp pom. -Original Message- From: Nick Stolwijk [mailto:[EMAIL PROTECTED] Sent: Wednesday, December 19, 2007 6:02 PM To: Maven Users List Subject: Re: How to deploy corporate-pom? I was not talking about revisions (SVN) but about versions (maven repository). I hadn't thought about branches/trunk with each their own releases. So maybe it should just be an option to only have the latest minor version. ie. if there is an update from 0.9.1 to 0.9.2 you should take it. It there is an update from 0.9.1 to 1.0.0, you are only warned about it. Maybe get a requirements list before start coding. LatestCompanyPom enforcer rule: Basic functionality: - Should fail if the current project is a SNAPSHOT and there is a newer version of the top most (the corporate pom) artifact. (Don't fail on released versions) - Very optional (I can't find a good use case):Option to fail on released versions also. - Option to not fail on major changes. (so update from 0.9.1 - 0.9.2 fail, from 0.9.0 to 1.0.0 don't fail) Any other use cases/ideas? With regards, Nick Stolwijk Brian E. Fox wrote: This is an interesting idea, but what if you change the rev on the trunk but someone has a developer branch? Now their branch will start failing the rule cause it's not the latest top level parent. -Original Message- From: Nick Stolwijk [mailto:[EMAIL PROTECTED] Sent: Wednesday, December 19, 2007 5:21 PM To: Maven Users List Subject: Re: How to deploy corporate-pom? I was also thinking, that you could write a custom rule for the enforcer plugin, which checks that the topmost parent is the latest in the available repositories. Maybe I will write it tomorrow, if you are interested. Hth, Nick Stolwijk [EMAIL PROTECTED] wrote: Couldn't you put the version of the parent (corporate-pom) to LATEST instead of a version number. AFAIK, when you do a release it is changed into the current latest version. So tags won't change when you update your corporate pom. Hth, Nick Stolwijk -Original Message- From: Boeckli, Dominique [mailto:[EMAIL PROTECTED] Sent: Wed 12/19/2007 5:04 PM To: Maven Users List Subject: RE: How to deploy corporate-pom? the problem is that things get forgotten: Assuming i start working on Project Y and i forget to check if there's a new company pom. After a few changes in my code in this project, it is builded on wrong dependencies succesfully and deployed on the test server. Deployment failes and i spent a lot of time debugging it, searching the problem in my own code. Half of the other developers doing the same error, loosing a lot of time. The script you mentioned is a solution for this problem. Does anybody have such a script? P.S. removing stuff from their local repo was not really another problem, it is only a other way to handle the same problem. In this way i don't use any snapshot version, i work and edit directly on released versions (eg 1.0). When i think the company pom is ok, i deploy it and advice my collegues to delete this versions from their local repo. In this way, they are forced to get the new parent from the intranet repo. The point is, that the version allway remains the same for the company pom. This way is ugly but it causes not more work and problems than the official way. I am not happy with it, neither, and this is the reason why i ask here around what other people are doing. brgds Dominique -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Wednesday, December 19, 2007 04:16 PM To: Maven Users List; Maven Users List Subject: RE: How to deploy corporate-pom? I thought the problem was with developers having to remove stuff from their local repository. Now you present another problem. In my vision, they should certainly not change automatically. At least not the tags, then you can have two builds of the same tag with different parent information, based on when it's build. So should they change all, then you could write a script which replaced it in the trunks and branches. Or should they only change, when the projects get alive again. I guess you can compare it to mavens own corporate pom
RE: How to deploy corporate-pom?
I've created a jira issue for the enforcer rule and I'm working on it. http://jira.codehaus.org/browse/MENFORCER-28 With regards, Nick Stolwijk
RE: How to deploy corporate-pom?
I just do it this way for the company pom (-DperformRelease=true) because it would be pain if the version number for the company pom has been increased and all other projects defining this one as parent has to be edited. When i edit and doing mvn clean deploy -DperformRelease=true -U -X for the company pom i can see that the local repository has got the change. This is good so far. But what is about the other developers still having the old company pom in their local repository (using the same version number)? brgds Dominique Boeckli -Original Message- From: Siegmann Daniel, NY [mailto:[EMAIL PROTECTED] Sent: Friday, November 09, 2007 10:30 PM To: Maven Users List Subject: RE: How to deploy corporate-pom? How do I package the corporate pom? Do I just upload it to archiva in a directory called corporate-pom with just the pom.xml file in there? No. This is a Maven project like any other. Just have the following in your POM: project packagingpom/packaging ... /project Then use the Maven deploy plugin (mvn deploy). Note that you should follow standard release procedure. i.e. if you are not releasing a snapshot you should set -DperformRelease=true and you should have this tagged in your version control system (or just use the release plugin). -- Daniel Siegmann FJA-US, Inc. 512 Seventh Ave., New York, NY 10018 (212) 840-2618 ext. 139 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: How to deploy corporate-pom?
This is not good. The other developers won't get the change. And if other projects (and especially their tags) rely on this and you change it, you got not reproducible builds. Also not good. Just update the other versions when needed. It's the most clean thing to do. With regards, Nick Stolwijk -Original Message- From: Boeckli, Dominique [mailto:[EMAIL PROTECTED] Sent: Thu 12/13/2007 1:27 PM To: Maven Users List Subject: RE: How to deploy corporate-pom? I just do it this way for the company pom (-DperformRelease=true) because it would be pain if the version number for the company pom has been increased and all other projects defining this one as parent has to be edited. When i edit and doing mvn clean deploy -DperformRelease=true -U -X for the company pom i can see that the local repository has got the change. This is good so far. But what is about the other developers still having the old company pom in their local repository (using the same version number)? brgds Dominique Boeckli -Original Message- From: Siegmann Daniel, NY [mailto:[EMAIL PROTECTED] Sent: Friday, November 09, 2007 10:30 PM To: Maven Users List Subject: RE: How to deploy corporate-pom? How do I package the corporate pom? Do I just upload it to archiva in a directory called corporate-pom with just the pom.xml file in there? No. This is a Maven project like any other. Just have the following in your POM: project packagingpom/packaging ... /project Then use the Maven deploy plugin (mvn deploy). Note that you should follow standard release procedure. i.e. if you are not releasing a snapshot you should set -DperformRelease=true and you should have this tagged in your version control system (or just use the release plugin). -- Daniel Siegmann FJA-US, Inc. 512 Seventh Ave., New York, NY 10018 (212) 840-2618 ext. 139 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: How to deploy corporate-pom?
How do I package the corporate pom? Do I just upload it to archiva in a directory called corporate-pom with just the pom.xml file in there? No. This is a Maven project like any other. Just have the following in your POM: project packagingpom/packaging ... /project Then use the Maven deploy plugin (mvn deploy). Note that you should follow standard release procedure. i.e. if you are not releasing a snapshot you should set -DperformRelease=true and you should have this tagged in your version control system (or just use the release plugin). -- Daniel Siegmann FJA-US, Inc. 512 Seventh Ave., New York, NY 10018 (212) 840-2618 ext. 139 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]