Have you considered the release plugin? Wayne
On 9/12/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: > > Hi! > I'm working on a few different maven projects with several modules in each. > Most of the modules have dependencies to other modules within the same > project and also to other projects. Since the development in most of these > projects go in parallell, most of the dependencies are towards snapshot > versions. > > Now, my problem is that when I want to make a release, I have to go through > 30+ poms and replace snapshot versions with the new versions, check in the > new poms, tag, and then I have to replace the versions to new snapshot > versions... A lot of work, and it's easy to make a mistake. > > So, I'm trying to put the version numbers in properties instead, so I only > have to update the properties of the parent pom in each project. > > Here's a few sample poms of two projects, where "myotherproject" depends on > "myproject": > > <!-- parent pom for myproject --> > <project xmlns="http://maven.apache.org/POM/4.0.0" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 > http://maven.apache.org/maven-v4_0_0.xsd"> > <modelVersion>4.0.0</modelVersion>. > <groupId>my.project</groupId> > <version>${my.project.version}</version> > <artifactId>myparentpom</artifactId> > <packaging>pom</packaging> > <modules> > <module>myjar</module> > </modules> > <properties> > <my.project.version>1.2-SNAPSHOT</my.project.version> > </properties> > </project> > > <!-- jar module pom for myproject --> > <project xmlns="http://maven.apache.org/POM/4.0.0" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 > http://maven.apache.org/maven-v4_0_0.xsd"> > <modelVersion>4.0.0</modelVersion>. > <groupId>my.project</groupId> > <version>${my.project.version}</version> > <artifactId>myjar</artifactId> > <packaging>jar</packaging> > <parent> > <groupId>my.project</groupId> > <artifactId>myparentpom</artifactId> > <version>${my.project.version}</version> > </parent>> > </project>> > > <!-- parent pom for myotherproject --> > <project xmlns="http://maven.apache.org/POM/4.0.0" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 > http://maven.apache.org/maven-v4_0_0.xsd"> > <modelVersion>4.0.0</modelVersion>. > <groupId>my.other.project</groupId> > <version>${my.other.project.version}</version>. > <artifactId>myotherparentpom</artifactId> > <packaging>pom</packaging> > <modules> > <module>myotherjar</module> > </modules> > <properties> > <my.project.version>1.2-SNAPSHOT</my.project.version> > > <my.other.project.version>1.1-SNAPSHOT</my.other.project.version> > </properties> > </project> > > <!-- jar module pom for myotherproject --> > <project xmlns="http://maven.apache.org/POM/4.0.0" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 > http://maven.apache.org/maven-v4_0_0.xsd"> > <modelVersion>4.0.0</modelVersion>. > <groupId>my.other.project</groupId> > <version>${my.other.project.version}</version>. > <artifactId>myotherjar</artifactId>} > <packaging>jar</packaging> > <parent> > <groupId>my.other.project</groupId> > <artifactId>myotherparentpom</artifactId> > <version>${my.other.project.version}</version> > </parent>> > <dependencies>. > <dependency>>. > <groupId>my.project</groupId> > <artifactId>myjar</artifactId> > <version>${my.project.version}</version> > </dependency> > </dependencies>. > </project> > > > Now, I can succesfully build myproject, but when I build myotherproject I > get this error: > > [INFO] > ------------------------------------------------------------------------ > [ERROR] BUILD ERROR > [INFO] > ------------------------------------------------------------------------ > [INFO] Failed to resolve artifact. > > GroupId: my.project > ArtifactId: myparentpom > Version: ${my.project.version} > > Reason: Unable to download the artifact from any repository > > my.project:myparentpom:pom:${my.project.version} > > from the specified remote repositories: > central (http://repo1.maven.org/maven2). > > > When I look into my local repository I can see that the files and > directories of myproject correctly has the 1.2-SNAPSHOT version. But when I > look inside the saved poms in the repo I can see that they still contain > the ${my.project.version} variable, and it seems that maven is unable to > dereference that variable when resolving the dependency. > > So, am I missing something here? Do you have any other suggestions on how > to parametrisize the version numbers? > > Thanx in advance, > /Anders > > > --------------------------------------------------------------------- > 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]