Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 638
  • Last Modified:

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

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
saharey
Asked:
saharey
  • 2
1 Solution
 
phdesignCommented:
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
 
phdesignCommented:
Did it?
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now