Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

replace version info in maven2 from pom.xml to another xml file

Posted on 2009-07-13
2
Medium Priority
?
619 Views
Last Modified: 2013-11-18
I have several pom.xml files, contents of pom.xml is as follows:

pom.xml
--------
<?xml version="1.0" encoding="UTF-8"?>
<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>com.xkri.kill.tokens</groupId>
  <artifactId>tokens-active-dent</artifactId>
  <version>7.5.02.02</version>
  <!-- default packaging -->
  <packaging>jar</packaging>
  <name>Colt and ADAM</name>
  <description>This package provides the ${name}</description>
  :
  :
  :
 </project>

 I want to pick the version from node
 <version>7.5.02.02</version>
 and replace it to another config.xml:

 config.xml
 ----------
 <?xml version="1.0" encoding="UTF-8"?>
<installationTaskConfiguration xmlns="http://www.colt.com"
                               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                               xsi:schemaLocation="http://www.colt.com InstallationTaskConfiguration.xsd">
  <registryVersion product="" releaseVersion="7" majorVersion="5" minorVersion="02"/>
  <productFeature id="tokens-active-dent"
        parent="base-dent"
                    state="INSTALLING"
                    requiredDiskSpaceMode="default"
                    rebootRequiredOnInstall="false"
                    rebootRequiredOnUninstall="false"
                    rebootRequiredOnUpgrade="false"
                    backupOnUpgrade="false">
      <version product="" releaseVersion="7" majorVersion="5" minorVersion="02" subMinorVersion="SNAPSHOT"/>
      <requiredDiskSpaceMap>
        <requiredDiskSpace id="default" size="1MB"/>
        <requiredDiskSpace id="backup" size="0MB"/>
        <requiredDiskSpace id="temporary" size="0MB"/>
      </requiredDiskSpaceMap>
    </productFeature>
    :
    :
    :
 </installationTaskConfiguration>

 in config.xml file I want to reaplce in this format:
 <version product="" releaseVersion="7" majorVersion="5" minorVersion="02" subMinorVersion="02"/>
 can anyone give me an idea on how to copy and repace in above mentioend format?
0
Comment
Question by:saharey
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
2 Comments
 
LVL 4

Accepted Solution

by:
phdesign earned 150 total points
ID: 24846854
This should work.
<?xml version="1.0" encoding="utf-8"?>
 
<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:pom="http://maven.apache.org/POM/4.0.0">
 
<xsl:template match="/">
	<installationTaskConfiguration xmlns="http://www.colt.com"
								   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
								   xsi:schemaLocation="http://www.colt.com InstallationTaskConfiguration.xsd">
		<registryVersion product="">
			<xsl:attribute name="releaseVersion">
				<xsl:value-of select="substring-before(/pom:project/pom:version,'.')"/>
			</xsl:attribute>
			<xsl:attribute name="majorVersion">
				<xsl:value-of select="substring-before(substring-after(/pom:project/pom:version,'.'),'.')"/>
			</xsl:attribute>
			<xsl:attribute name="minorVersion">
				<xsl:value-of select="substring-before(substring-after(substring-after(/pom:project/pom:version,'.'),'.'),'.')"/>
			</xsl:attribute>
			<xsl:attribute name="subMinorVersion">
				<xsl:value-of select="substring-after(substring-after(substring-after(/pom:project/pom:version,'.'),'.'),'.')"/>
			</xsl:attribute>
		</registryVersion>
	</installationTaskConfiguration>
</xsl:template>
 
</xsl:stylesheet> 

Open in new window

0
 
LVL 4

Expert Comment

by:phdesign
ID: 24874696
Did it?
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction Knockoutjs (Knockout) is a JavaScript framework (Model View ViewModel or MVVM framework).   The main ideology behind Knockout is to control from JavaScript how a page looks whilst creating an engaging user experience in the least …
Introduction Since I wrote the original article about Handling Date and Time in PHP and MySQL several years ago, it seemed like now was a good time to update it for object-oriented PHP.  This article does that, replacing as much as possible the pr…
Viewers will learn one way to get user input in Java. Introduce the Scanner object: Declare the variable that stores the user input: An example prompting the user for input: Methods you need to invoke in order to properly get  user input:
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.

721 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question