rpms/maven-scm/devel Makefile, NONE, 1.1 maven-scm-add-plexusutils-dep.xml, NONE, 1.1 maven-scm-jpp-depmap.xml, NONE, 1.1 maven-scm-mapdeps.xsl, NONE, 1.1 maven-scm.spec, NONE, 1.1 sources, NONE, 1.1

Deepak Bhole (dbhole) fedora-extras-commits at redhat.com
Tue Mar 20 05:10:05 UTC 2007


Author: dbhole

Update of /cvs/extras/rpms/maven-scm/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv31826/devel

Added Files:
	Makefile maven-scm-add-plexusutils-dep.xml 
	maven-scm-jpp-depmap.xml maven-scm-mapdeps.xsl maven-scm.spec 
	sources 
Log Message:
auto-import maven-scm-1.0-0.1.b3.2jpp.1 on branch devel from maven-scm-1.0-0.1.b3.2jpp.1.src.rpm


***** Error reading new file: [Errno 2] No such file or directory: 'Makefile'

--- NEW FILE maven-scm-add-plexusutils-dep.xml ---
<dependencies>
	<add>
		<dependency>
			<groupId>JPP/plexus</groupId>
			<artifactId>utils</artifactId>
			<version>1.0.3</version>
		</dependency>
	</add>
</dependencies>


--- NEW FILE maven-scm-jpp-depmap.xml ---
<dependencies>
  <dependency>
	<maven>
	  <groupId>org.apache.maven.scm</groupId>
	  <artifactId>maven-scm</artifactId>
	  <version>1.0-beta-3</version>
	</maven>
	<jpp>
	  <groupId>JPP/maven-scm</groupId>
	  <artifactId>scm</artifactId>
	  <version>1.0-beta-3</version>
	</jpp>
  </dependency>

  <dependency>
	<maven>
	  <groupId>org.apache.maven.scm</groupId>
	  <artifactId>maven-scm-api</artifactId>
	  <version>1.0-beta-3</version>
	</maven>
	<jpp>
	  <groupId>JPP/maven-scm</groupId>
	  <artifactId>api</artifactId>
	  <version>1.0-beta-3</version>
	</jpp>
  </dependency>

  <dependency>
	<maven>
	  <groupId>org.apache.maven.scm</groupId>
	  <artifactId>maven-scm-client</artifactId>
	  <version>1.0-beta-3</version>
	</maven>
	<jpp>
	  <groupId>JPP/maven-scm</groupId>
	  <artifactId>client</artifactId>
	  <version>1.0-beta-3</version>
	</jpp>
  </dependency>

  <dependency>
	<maven>
	  <groupId>org.apache.maven.scm</groupId>
	  <artifactId>maven-scm-manager-plexus</artifactId>
	  <version>1.0-beta-3</version>
	</maven>
	<jpp>
	  <groupId>JPP/maven-scm</groupId>
	  <artifactId>manager-plexus</artifactId>
	  <version>1.0-beta-3</version>
	</jpp>
  </dependency>

  <dependency>
	<maven>
	  <groupId>org.apache.maven.scm</groupId>
	  <artifactId>maven-scm-managers</artifactId>
	  <version>1.0-beta-3</version>
	</maven>
	<jpp>
	  <groupId>JPP/maven-scm</groupId>
	  <artifactId>managers</artifactId>
	  <version>1.0-beta-3</version>
	</jpp>
  </dependency>

  <dependency>
	<maven>
	  <groupId>org.apache.maven.scm</groupId>
	  <artifactId>maven-scm-plugin</artifactId>
	  <version>1.0-beta-3</version>
	</maven>
	<jpp>
	  <groupId>JPP/maven-scm</groupId>
	  <artifactId>plugin</artifactId>
	  <version>1.0-beta-3</version>
	</jpp>
  </dependency>

  <dependency>
	<maven>
	  <groupId>org.apache.maven.scm</groupId>
	  <artifactId>maven-scm-providers</artifactId>
	  <version>1.0-beta-3</version>
	</maven>
	<jpp>
	  <groupId>JPP/maven-scm</groupId>
	  <artifactId>providers</artifactId>
	  <version>1.0-beta-3</version>
	</jpp>
  </dependency>

  <dependency>
	<maven>
	  <groupId>org.apache.maven.scm</groupId>
	  <artifactId>maven-scm-provider-bazaar</artifactId>
	  <version>1.0-beta-3</version>
	</maven>
	<jpp>
	  <groupId>JPP/maven-scm</groupId>
	  <artifactId>provider-bazaar</artifactId>
	  <version>1.0-beta-3</version>
	</jpp>
  </dependency>

  <dependency>
	<maven>
	  <groupId>org.apache.maven.scm</groupId>
	  <artifactId>maven-scm-provider-clearcase</artifactId>
	  <version>1.0-beta-3</version>
	</maven>
	<jpp>
	  <groupId>JPP/maven-scm</groupId>
	  <artifactId>provider-clearcase</artifactId>
	  <version>1.0-beta-3</version>
	</jpp>
  </dependency>

  <dependency>
	<maven>
	  <groupId>org.apache.maven.scm</groupId>
	  <artifactId>maven-scm-providers-cvs</artifactId>
	  <version>1.0-beta-3</version>
	</maven>
	<jpp>
	  <groupId>JPP/maven-scm</groupId>
	  <artifactId>providers-cvs</artifactId>
	  <version>1.0-beta-3</version>
	</jpp>
  </dependency>

  <dependency>
	<maven>
	  <groupId>org.apache.maven.scm</groupId>
	  <artifactId>maven-scm-provider-cvsjava</artifactId>
	  <version>1.0-beta-3</version>
	</maven>
	<jpp>
	  <groupId>JPP/maven-scm</groupId>
	  <artifactId>provider-cvsjava</artifactId>
	  <version>1.0-beta-3</version>
	</jpp>
  </dependency>

  <dependency>
	<maven>
	  <groupId>org.apache.maven.scm</groupId>
	  <artifactId>maven-scm-provider-cvs-commons</artifactId>
	  <version>1.0-beta-3</version>
	</maven>
	<jpp>
	  <groupId>JPP/maven-scm</groupId>
	  <artifactId>provider-cvs-commons</artifactId>
	  <version>1.0-beta-3</version>
	</jpp>
  </dependency>

  <dependency>
	<maven>
	  <groupId>org.apache.maven.scm</groupId>
	  <artifactId>maven-scm-provider-cvsexe</artifactId>
	  <version>1.0-beta-3</version>
	</maven>
	<jpp>
	  <groupId>JPP/maven-scm</groupId>
	  <artifactId>provider-cvsexe</artifactId>
	  <version>1.0-beta-3</version>
	</jpp>
  </dependency>

  <dependency>
	<maven>
	  <groupId>org.apache.maven.scm</groupId>
	  <artifactId>maven-scm-provider-cvstest</artifactId>
	  <version>1.0-beta-3</version>
	  <scope>test</scope>
	</maven>
	<jpp>
	  <groupId>JPP/maven-scm</groupId>
	  <artifactId>provider-cvstest</artifactId>
	  <version>1.0-beta-3</version>
	</jpp>
  </dependency>

  <dependency>
	<maven>
	  <groupId>org.apache.maven.scm</groupId>
	  <artifactId>maven-scm-provider-local</artifactId>
	  <version>1.0-beta-3</version>
	</maven>
	<jpp>
	  <groupId>JPP/maven-scm</groupId>
	  <artifactId>provider-local</artifactId>
	  <version>1.0-beta-3</version>
	</jpp>
  </dependency>

  <dependency>
	<maven>
	  <groupId>org.apache.maven.scm</groupId>
	  <artifactId>maven-scm-provider-perforce</artifactId>
	  <version>1.0-beta-3</version>
	</maven>
	<jpp>
	  <groupId>JPP/maven-scm</groupId>
	  <artifactId>provider-perforce</artifactId>
	  <version>1.0-beta-3</version>
	</jpp>
  </dependency>

  <dependency>
	<maven>
	  <groupId>org.apache.maven.scm</groupId>
	  <artifactId>maven-scm-provider-starteam</artifactId>
	  <version>1.0-beta-3</version>
	</maven>
	<jpp>
	  <groupId>JPP/maven-scm</groupId>
	  <artifactId>provider-starteam</artifactId>
	  <version>1.0-beta-3</version>
	</jpp>
  </dependency>

  <dependency>
	<maven>
	  <groupId>org.apache.maven.scm</groupId>
	  <artifactId>maven-scm-providers-svn</artifactId>
	  <version>1.0-beta-3</version>
	</maven>
	<jpp>
	  <groupId>JPP/maven-scm</groupId>
	  <artifactId>providers-svn</artifactId>
	  <version>1.0-beta-3</version>
	</jpp>
  </dependency>

  <dependency>
	<maven>
	  <groupId>org.apache.maven.scm</groupId>
	  <artifactId>maven-scm-provider-svnjava</artifactId>
	  <version>1.0-beta-3</version>
	</maven>
	<jpp>
	  <groupId>JPP/maven-scm</groupId>
	  <artifactId>provider-svnjava</artifactId>
	  <version>1.0-beta-3</version>
	</jpp>
  </dependency>

  <dependency>
	<maven>
	  <groupId>org.apache.maven.scm</groupId>
	  <artifactId>maven-scm-provider-svn-commons</artifactId>
	  <version>1.0-beta-3</version>
	</maven>
	<jpp>
	  <groupId>JPP/maven-scm</groupId>
	  <artifactId>provider-svn-commons</artifactId>
	  <version>1.0-beta-3</version>
	</jpp>
  </dependency>

  <dependency>
	<maven>
	  <groupId>org.apache.maven.scm</groupId>
	  <artifactId>maven-scm-provider-svnexe</artifactId>
	  <version>1.0-beta-3</version>
	</maven>
	<jpp>
	  <groupId>JPP/maven-scm</groupId>
	  <artifactId>provider-svnexe</artifactId>
	  <version>1.0-beta-3</version>
	</jpp>
  </dependency>

  <dependency>
	<maven>
	  <groupId>org.apache.maven.scm</groupId>
	  <artifactId>maven-scm-provider-svntest</artifactId>
	  <version>1.0-beta-3</version>
	  <scope>test</scope>
	</maven>
	<jpp>
	  <groupId>JPP/maven-scm</groupId>
	  <artifactId>provider-svntest</artifactId>
	  <version>1.0-beta-3</version>
	</jpp>
  </dependency>

  <dependency>
	<maven>
	  <groupId>org.apache.maven.scm</groupId>
	  <artifactId>maven-scm-provider-vss</artifactId>
	  <version>1.0-beta-3</version>
	</maven>
	<jpp>
	  <groupId>JPP/maven-scm</groupId>
	  <artifactId>provider-vss</artifactId>
	  <version>1.0-beta-3</version>
	</jpp>
  </dependency>

  <dependency>
	<maven>
	  <groupId>org.apache.maven.scm</groupId>
	  <artifactId>maven-scm-site</artifactId>
	  <version>1.0-beta-3</version>
	</maven>
	<jpp>
	  <groupId>JPP/maven-scm</groupId>
	  <artifactId>site</artifactId>
	  <version>1.0-beta-3</version>
	</jpp>
  </dependency>

  <dependency>
	<maven>
	  <groupId>org.apache.maven.scm</groupId>
	  <artifactId>maven-scm-test</artifactId>
	  <version>1.0-beta-3</version>
	</maven>
	<jpp>
	  <groupId>JPP/maven-scm</groupId>
	  <artifactId>test</artifactId>
	  <version>1.0-beta-3</version>
	</jpp>
  </dependency>

  <dependency>
	<maven>
	  <groupId>org.codehaus.plexus</groupId>
	  <artifactId>plexus-container-default</artifactId>
	  <version>1.0-alpha-9</version>
	</maven>
	<jpp>
	  <groupId>JPP/plexus</groupId>
	  <artifactId>container-default</artifactId>
	  <version>1.0-alpha-9</version>
	</jpp>
  </dependency>

  <dependency>
	<maven>
	  <groupId>regexp</groupId>
	  <artifactId>regexp</artifactId>
	  <version>1.3</version>
	</maven>
	<jpp>
	  <groupId>JPP</groupId>
	  <artifactId>regexp</artifactId>
	  <version>1.3</version>
	</jpp>
  </dependency>

  <dependency>
	<maven>
	  <groupId>org.apache.maven</groupId>
	  <artifactId>maven-parent</artifactId>
	  <version>2.0</version>
	</maven>
	<jpp>
	  <groupId>JPP/maven2</groupId>
	  <artifactId>parent</artifactId>
	  <version>2.0</version>
	</jpp>
  </dependency>

  <dependency>
	<maven>
	  <groupId>org.apache.maven</groupId>
	  <artifactId>maven-project</artifactId>
	  <version>2.0</version>
	</maven>
	<jpp>
	  <groupId>JPP/maven2</groupId>
	  <artifactId>project</artifactId>
	  <version>2.0</version>
	</jpp>
  </dependency>

  <dependency>
	<maven>
	  <groupId>org.apache.maven</groupId>
	  <artifactId>maven-settings</artifactId>
	  <version>2.0</version>
	</maven>
	<jpp>
	  <groupId>JPP/maven2</groupId>
	  <artifactId>settings</artifactId>
	  <version>2.0</version>
	</jpp>
  </dependency>

  <dependency>
	<maven>
	  <groupId>org.apache.maven</groupId>
	  <artifactId>maven-plugin-api</artifactId>
	  <version>2.0</version>
	</maven>
	<jpp>
	  <groupId>JPP/maven2</groupId>
	  <artifactId>plugin-api</artifactId>
	  <version>2.0</version>
	</jpp>
  </dependency>

  <dependency>
	<maven>
	  <groupId>org.codehaus.modello</groupId>
	  <artifactId>modello-maven-plugin</artifactId>
	  <version>1.0-alpha-6</version>
	</maven>
	<jpp>
	  <groupId>JPP/modello</groupId>
	  <artifactId>maven-plugin</artifactId>
	  <version>1.0-alpha-6</version>
	</jpp>
  </dependency>

  <dependency>
	<maven>
	  <groupId>junit</groupId>
	  <artifactId>junit</artifactId>
	  <version>3.8.1</version>
	</maven>
	<jpp>
	  <groupId>JPP</groupId>
	  <artifactId>junit</artifactId>
	  <version>3.8.1</version>
	</jpp>
  </dependency>

  <dependency>
	<maven>
	  <groupId>org.tmate</groupId>
	  <artifactId>javasvn</artifactId>
	  <version>1.0.3</version>
	</maven>
	<jpp>
	  <groupId>JPP</groupId>
	  <artifactId>javasvn</artifactId>
	  <version>1.0.3</version>
	</jpp>
  </dependency>

  <!-- needed for cvsjava; disabled for now since we don't have this -->
  <dependency>
	<maven>
	  <groupId>org.netbeans.lib</groupId>
	  <artifactId>cvsclient</artifactId>
	  <version>20051129</version>
	</maven>
  </dependency>

  <!-- needed for svnjava; disabled for now since we don't have this -->
  <dependency>
	<maven>
	  <groupId>org.codehaus.plexus</groupId>
	  <artifactId>plexus-utils</artifactId>
	  <version>1.1</version>
	</maven>
  </dependency>
</dependencies>



--- NEW FILE maven-scm-mapdeps.xsl ---
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:param name="map" /> 
  <xsl:output method="xml" indent="yes" omit-xml-declaration="no"/> 
  <xsl:strip-space elements="*"/> 
  <xsl:template match="/*[name()='project']" >
	<xsl:element name="project">

	  <!-- Replace artifact/group/version/etc. for current project -->

	  <xsl:variable name="artifact" select="./*[name()='artifactId']"/>
	  <xsl:variable name="group" select="./*[name()='groupId']"/>
	  <xsl:variable name="parentGroup" select="./*[name()='parent']/*[name()='groupId']"/>

	  <xsl:choose>
		<xsl:when test="(document($map)//dependency/maven[(./artifactId/text() = $artifact) and (./groupId/text() = $group)])">
		  <xsl:for-each select="document($map)//dependency/maven[(./artifactId/text() = $artifact) and (./groupId/text() = $group)][1]">
			<xsl:if test="../jpp">
			  <xsl:copy-of select="../jpp/*"/>
			</xsl:if>
		  </xsl:for-each>
		</xsl:when>

		<xsl:otherwise>
		  <xsl:choose>

			<!-- Maybe parent group matches? -->
			<xsl:when test="(document($map)//dependency/maven[(./artifactId/text() = $artifact) and (./groupId/text() = $parentGroup)])">
			  <xsl:for-each select="document($map)//dependency/maven[(./artifactId/text() = $artifact) and (./groupId/text() = $parentGroup)][1]">
				<xsl:if test="../jpp">
				  <xsl:copy-of select="../jpp/*"/>
				</xsl:if>
			  </xsl:for-each>
			</xsl:when>

			<!-- Nothing matched -->
			<xsl:otherwise>
			  <xsl:copy-of select="*[name() = 'artifactId']"/>
			  <xsl:copy-of select="*[name() = 'groupId']"/>
			  <xsl:copy-of select="*[name() = 'id']"/>
			  <xsl:copy-of select="*[name() = 'version']"/>
			</xsl:otherwise>
		  </xsl:choose>
		</xsl:otherwise>
	  </xsl:choose>

	  <!-- In the parent, replace groupid/artifactid/version-->

	  <xsl:for-each select="./*[name()='parent']">
		<xsl:apply-templates select="."/>
	  </xsl:for-each>

	  <!-- Copy rest -->
	  <xsl:for-each select="./*">
		<xsl:if test="(name() != 'dependencies') and (name() != 'dependencyManagement') and (name() != 'modelVersion') and (name() != 'parent') and (name() != 'build') and (name() != 'profiles') and (name() != 'artifactId') and (name() != 'groupId') and (name() != 'id') and (name() != 'version')">
		  <xsl:copy-of select="." />
		</xsl:if>
	  </xsl:for-each>

	<!-- If no dependencies exist, add just the <add> items -->
	  <xsl:if test="not(./*[name()='dependencies'])">
		<xsl:element name="dependencies">
		  <xsl:for-each select="document($map)//add/dependency">
			<xsl:copy-of select="." />
		  </xsl:for-each>
		</xsl:element>
	  </xsl:if>

	  <!-- Do not remove this! Maven code has a string match for
	       "<modelVersion>4.0.0" which fails if the line below is
	       removed (because without it, the ns attribute would be
	       added to the modelVersion tag) -->

	  <xsl:for-each select="./*[name()='modelVersion']">
		<xsl:element name="{name()}">
		  <xsl:value-of select="text()" />
		</xsl:element>
	  </xsl:for-each>

	  <!-- Apply templates to rest -->
	  <xsl:apply-templates select="*[name()='build']"/>
	  <xsl:apply-templates select="*[name()='profiles']"/>
	  <xsl:apply-templates select="*[name()='dependencies']"/>
	  <xsl:element name="dependencyManagement">
		<xsl:for-each select="*[name()='dependencyManagement']">
		  <xsl:apply-templates select="*[name()='dependencies']"/>
		</xsl:for-each>
	  </xsl:element>
	</xsl:element>
  </xsl:template>

  <!-- In each of the dependencies, update groupid/artifactid/version -->
  <xsl:template match="*[name()='dependencies']">
	<xsl:element name="dependencies">
	  <xsl:for-each select="*[name()='dependency']">
		<xsl:if test="*[name()='artifactId']">
		  <xsl:call-template name="replace">
			<xsl:with-param name="artifact" select="*[name()='artifactId']/text()"/>
			<xsl:with-param name="group" select="*[name()='groupId']/text()"/>
		  </xsl:call-template>
		</xsl:if>
		<xsl:if test="*[name()='id']">
		  <xsl:choose>
			<xsl:when test="substring-after(*[name()='id']/text(),':') != ''">
			  <xsl:call-template name="replace">
				<xsl:with-param name="artifact" select="substring-after(*[name()='id']/text(),':')"/>
			  </xsl:call-template>
			</xsl:when>
			<xsl:otherwise>
			  <xsl:call-template name="replace">
				<xsl:with-param name="artifact" select="*[name()='id']/text()"/>
			  </xsl:call-template>
			</xsl:otherwise>
		  </xsl:choose>
		</xsl:if>
	  </xsl:for-each>
	  <xsl:for-each select="document($map)//add/dependency">
		<xsl:copy-of select="."/>
	  </xsl:for-each>
	</xsl:element>
  </xsl:template>

  <!-- Standard replacement template for dependencies -->

  <xsl:template name="replace">
	<xsl:param name="artifact"/>
	<xsl:param name="group"/>
	<xsl:variable name="this" select="."/>
	  <xsl:choose>
		<xsl:when test="(document($map)//dependency/maven[(./artifactId/text() = $artifact) and (./groupId/text() = $group)])">
		  <xsl:for-each select="document($map)//dependency/maven[(./artifactId/text() = $artifact) and (./groupId/text() = $group)][1]">
			<xsl:if test="../jpp">
			  <xsl:element name="dependency">
				<xsl:copy-of select="../jpp/*"/>
				<xsl:for-each select="$this/*">
				  <xsl:if test="(name() != 'groupId') and (name() != 'artifactId') and (name() != 'id') and (name() != 'version')">
					<xsl:copy-of select="."/>
				  </xsl:if>
				</xsl:for-each>
			  </xsl:element>
			</xsl:if>
		  </xsl:for-each>
		</xsl:when>
		<xsl:otherwise>
		  <xsl:element name="dependency">
			<xsl:copy-of select="./*"/>
		  </xsl:element>
		</xsl:otherwise>
	  </xsl:choose>
	<xsl:if test="document($map)//dependency/maven[./artifactId/text() = $artifact]">
	  <xsl:for-each select="document($map)//dependency/maven[./artifactId/text() = $artifact][1]">
		<xsl:for-each select="../add/dependency">
		  <xsl:element name="dependency">
			<xsl:copy-of select="./*"/>
		  </xsl:element>
		</xsl:for-each>
	  </xsl:for-each>
	</xsl:if>
  </xsl:template>

  <!-- In the parent, replace groupid/artifactid/version-->

  <xsl:template match="*[name()='parent']">
	<xsl:element name="parent">
	  <xsl:for-each select=".">
		<xsl:if test="*[name()='artifactId']">
		  <xsl:call-template name="replaceNonDep">
			<xsl:with-param name="artifact" select="*[name()='artifactId']/text()"/>
			<xsl:with-param name="group" select="*[name()='groupId']/text()"/>
		  </xsl:call-template>
		</xsl:if>
		<xsl:if test="*[name()='id']">
		  <xsl:choose>
			<xsl:when test="substring-after(*[name()='id']/text(),':') != ''">
			  <xsl:call-template name="replaceNonDep">
				<xsl:with-param name="artifact" select="substring-after(*[name()='id']/text(),':')"/>
			  </xsl:call-template>
			</xsl:when>
			<xsl:otherwise>
			  <xsl:call-template name="replaceNonDep">
				<xsl:with-param name="artifact" select="*[name()='id']/text()"/>
			  </xsl:call-template>
			</xsl:otherwise>
		  </xsl:choose>
		</xsl:if>
	  </xsl:for-each>
	</xsl:element>
  </xsl:template>

  <!-- In build element, replace plugin and extension groupid/artifactid/version -->
  <xsl:template match="*[name()='build']">
	<xsl:element name="build">
	  <xsl:for-each select="./*">
		<xsl:choose>
		  <xsl:when test="(name() != 'plugins') and (name() != 'extensions')">
			<xsl:copy-of select="." />
		  </xsl:when>
		  <xsl:otherwise>
			<xsl:apply-templates select="."/>
		  </xsl:otherwise>
		</xsl:choose>
	  </xsl:for-each>
	</xsl:element>
  </xsl:template>

  <!-- Go through profiles and apply build replacement templates -->
  <xsl:template match="*[name()='profiles']">
	<xsl:element name="profiles">
	  <xsl:for-each select="./*">
		<xsl:choose>
		  <xsl:when test="name() != 'profile'">
			<xsl:copy-of select="." />
		  </xsl:when>
		  <xsl:otherwise>
			<xsl:element name="profile">
			  <xsl:for-each select="./*">
				<xsl:choose>
				  <xsl:when test="name() != 'build'">
					<xsl:copy-of select="." />
				  </xsl:when>
				  <xsl:otherwise>
					<xsl:apply-templates select="."/>
				  </xsl:otherwise>
				</xsl:choose>
			  </xsl:for-each>
			</xsl:element>
		  </xsl:otherwise>
		</xsl:choose>
	  </xsl:for-each>
	</xsl:element>
  </xsl:template>

  <!-- In plugin info, update groupid/artifactid/version -->
  <xsl:template match="*[name()='plugins']">
	<xsl:element name="plugins">
	  <xsl:for-each select="*[name()='plugin']">
		<xsl:element name="plugin">
		<xsl:if test="*[name()='artifactId']">
		  <xsl:call-template name="replaceNonDep">
			<xsl:with-param name="artifact" select="*[name()='artifactId']/text()"/>
			<xsl:with-param name="group" select="*[name()='groupId']/text()"/>
		  </xsl:call-template>
		</xsl:if>
		<xsl:if test="*[name()='id']">
		  <xsl:choose>
			<xsl:when test="substring-after(*[name()='id']/text(),':') != ''">
			  <xsl:call-template name="replaceNonDep">
				<xsl:with-param name="artifact" select="substring-after(*[name()='id']/text(),':')"/>
			  </xsl:call-template>
			</xsl:when>
			<xsl:otherwise>
			  <xsl:call-template name="replaceNonDep">
				<xsl:with-param name="artifact" select="*[name()='id']/text()"/>
			  </xsl:call-template>
			</xsl:otherwise>
		  </xsl:choose>
		</xsl:if>
		</xsl:element>
	  </xsl:for-each>

	  <xsl:for-each select="*[name()!='plugin']">
		<xsl:copy-of select="."/>
	  </xsl:for-each>

	</xsl:element>
  </xsl:template>

  <!-- In extension info, update groupid/artifactid/version -->
  <xsl:template match="*[name()='extensions']">
	<xsl:element name="extensions">
	  <xsl:for-each select="*[name()='extension']">
		<xsl:element name="extension">
		<xsl:if test="*[name()='artifactId']">
		  <xsl:call-template name="replaceNonDep">
			<xsl:with-param name="artifact" select="*[name()='artifactId']/text()"/>
			<xsl:with-param name="group" select="*[name()='groupId']/text()"/>
		  </xsl:call-template>
		</xsl:if>
		<xsl:if test="*[name()='id']">
		  <xsl:choose>
			<xsl:when test="substring-after(*[name()='id']/text(),':') != ''">
			  <xsl:call-template name="replaceNonDep">
				<xsl:with-param name="artifact" select="substring-after(*[name()='id']/text(),':')"/>
			  </xsl:call-template>
			</xsl:when>
			<xsl:otherwise>
			  <xsl:call-template name="replaceNonDep">
				<xsl:with-param name="artifact" select="*[name()='id']/text()"/>
			  </xsl:call-template>
			</xsl:otherwise>
		  </xsl:choose>
		</xsl:if>
		</xsl:element>
	  </xsl:for-each>

	  <xsl:for-each select="*[name()!='extension']">
		<xsl:copy-of select="."/>
	  </xsl:for-each>

	</xsl:element>
  </xsl:template>

  <!-- Standard template for replacing items that are not <dependency> items -->
  <xsl:template name="replaceNonDep">
	<xsl:param name="artifact"/>
	<xsl:param name="group"/>
	<xsl:variable name="this" select="."/>
	  <xsl:choose>
		<xsl:when test="(document($map)//dependency/maven[(./artifactId/text() = $artifact) and (./groupId/text() = $group)])">
		  <xsl:for-each select="document($map)//dependency/maven[(./artifactId/text() = $artifact) and (./groupId/text() = $group)][1]">
			<xsl:if test="../jpp">
			  <xsl:copy-of select="../jpp/*"/>
			  <xsl:for-each select="$this/*">
				<xsl:if test="(name() != 'groupId') and (name() != 'artifactId') and (name() != 'id') and (name() != 'version')">
				  <xsl:copy-of select="."/>
				</xsl:if>
			  </xsl:for-each>
			</xsl:if>
		  </xsl:for-each>
		</xsl:when>
		<xsl:otherwise>
		  <xsl:copy-of select="./*"/>
		</xsl:otherwise>
	  </xsl:choose>
  </xsl:template>


</xsl:stylesheet>


--- NEW FILE maven-scm.spec ---
# Copyright (c) 2000-2005, JPackage Project
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in the
#    documentation and/or other materials provided with the
#    distribution.
# 3. Neither the name of the JPackage Project nor the names of its
#    contributors may be used to endorse or promote products derived
#    from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#

%define _with_gcj_support 1
%define gcj_support %{?_with_gcj_support:1}%{!?_with_gcj_support:%{?_without_gcj_support:0}%{!?_without_gcj_support:%{?_gcj_support:%{_gcj_support}}%{!?_gcj_support:0}}}

%define maven_settings_file %{_builddir}/%{name}/settings.xml
%define namedversion 1.0-beta-3

Name:           maven-scm
Version:        1.0
Release:        0.1.b3.2jpp.1%{?dist}
Epoch:          0
Summary:        Common API for doing SCM operations
License:        Apache Software License
Group:          Development/Java
URL:            http://maven.apache.org/scm

Source0:        %{name}-%{version}-beta-3.tar.gz
# svn export 
#   http://svn.apache.org/repos/asf/maven/scm/tags/maven-scm-1.0-beta-3/
#   maven-scm/
# tar czf maven-scm-1.0-beta-3.tar.gz maven-scm/
Source1:        %{name}-jpp-depmap.xml
Source2:        %{name}-mapdeps.xsl
Source3:        %{name}-add-plexusutils-dep.xml

BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

%if ! %{gcj_support}
BuildArch:      noarch
%endif
BuildRequires:  jpackage-utils >= 0:1.6
BuildRequires:  maven2 >= 2.0.4-6
BuildRequires:  maven2-plugin-compiler
BuildRequires:  maven2-plugin-install
BuildRequires:  maven2-plugin-jar
BuildRequires:  maven2-plugin-javadoc
BuildRequires:  maven2-plugin-plugin
BuildRequires:  maven2-plugin-release
BuildRequires:  maven2-plugin-resources
BuildRequires:  maven2-plugin-surefire
BuildRequires:  maven2-common-poms >= 1.0-3
BuildRequires:  modello >= 1.0-0.a8
BuildRequires:  modello-maven-plugin >= 1.0-0.a8
BuildRequires:  plexus-utils >= 1.2
BuildRequires:  saxon-scripts

Requires:       junit >= 3.8.2
Requires:       jakarta-commons-collections >= 3.1
Requires:       modello >= 1.0-0.a8
Requires:       modello-maven-plugin >= 1.0-0.a8
Requires:       oro >= 2.0.8
Requires:       plexus-utils >= 1.2
Requires:       velocity >= 1.4

%if %{gcj_support}
BuildRequires:          java-gcj-compat-devel
Requires(post):         java-gcj-compat
Requires(postun):       java-gcj-compat
%endif

Requires(post):    jpackage-utils >= 0:1.7.2
Requires(postun):  jpackage-utils >= 0:1.7.2

%description
Maven SCM supports Maven 2.x plugins (e.g. maven-release-plugin) and other
tools (e.g. Continum) in providing them a common API for doing SCM operations.

%package test
Summary:        Tests for %{name}
Group:          Development/Java
Requires:       maven-scm = %{epoch}:%{version}-%{release}

%if %{gcj_support}
BuildRequires:          java-gcj-compat-devel
Requires(post):         java-gcj-compat
Requires(postun):       java-gcj-compat
%endif

%description test
Tests for %{name}.

%package javadoc
Summary:        Javadoc for %{name}
Group:          Development/Documentation
Requires(pre):  /bin/rm,/bin/ls
Requires(post): /bin/rm

%description javadoc
Javadoc for %{name}.

%prep
%setup -q -n %{name}

#FIXME: Bazaar tests fail since the executable is no available. Disable 
#       the tests.
rm -rf maven-scm-providers/maven-scm-provider-bazaar/src/test

%build

(cd maven-scm-api
cp -p pom.xml pom.xml.noplexusutils.xml
saxon -o pom.xml pom.xml.noplexusutils.xml %{SOURCE2} map=%{SOURCE3}
)

export MAVEN_REPO_LOCAL=$(pwd)/.m2/repository
mkdir -p $MAVEN_REPO_LOCAL

mvn-jpp \
        -e \
        -Dmaven.repo.local=$MAVEN_REPO_LOCAL \
        -Dmaven.test.failure.ignore=true \
        install javadoc:javadoc

%install
rm -rf $RPM_BUILD_ROOT
# jars/poms
install -d -m 755 $RPM_BUILD_ROOT%{_javadir}/%{name}
install -d -m 755 $RPM_BUILD_ROOT/%{_datadir}/maven2/poms

# remove test files, they are used for build time testing
#find  -type f -name "*cvstest*" -exec rm -f '{}' \; \
#-o -type f -name "*svntest*" -exec rm -f '{}' \;

for jar in `find . -type f -name "*.jar" | grep -E "target/.*.jar$"`; do
        newname=`basename $jar | sed -e s:^maven-scm-::g`
        install -pm 644 $jar \
          $RPM_BUILD_ROOT%{_javadir}/%{name}/$newname
done

(cd $RPM_BUILD_ROOT%{_javadir}/%{name} && for jar in *-%{namedversion}*; \
  do ln -sf ${jar} `echo $jar| sed  "s|-%{namedversion}||g"`; done)

#poms (exclude the svn/cvstest poms. They are unnecessary)
# ignore 
#  1) poms in target/ (they are either copies, or temps)
#  2) poms in src/test/ (they are poms needed for tests only)
for i in `find . -name pom.xml | grep -v \\\./pom.xml | \
   grep -v target | grep -v src/test`; do
        artifactname=`basename \`dirname $i\``
        jarname=`echo $artifactname | sed -e s:^maven-scm-::g`
        cp -p $i $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP.$artifactname.pom
        %add_to_maven_depmap org.apache.maven.scm $artifactname %{namedversion} JPP/%{name} $jarname
done
cp -p pom.xml $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP.maven-scm-scm.pom
%add_to_maven_depmap org.apache.maven.scm maven-scm %{namedversion} JPP/maven-scm scm

# javadoc
install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}

for docsdir in `find -name apidocs`; do
        subdir=`echo $docsdir | \
          awk -F / '{print $(NF-3)}' | sed -e s:^maven-scm-::g`
        install -dm 755 \
          $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}/$subdir
        cp -pr $docsdir/* \
          $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}/$subdir
done

ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name}

%if %{gcj_support}
%{_bindir}/aot-compile-rpm
%endif

%clean
rm -rf $RPM_BUILD_ROOT

%post
%if %{gcj_support}
if [ -x %{_bindir}/rebuild-gcj-db ]
then
  %{_bindir}/rebuild-gcj-db
fi
%endif
%update_maven_depmap

%postun
%if %{gcj_support}
if [ -x %{_bindir}/rebuild-gcj-db ]
then
  %{_bindir}/rebuild-gcj-db
fi
%endif
%update_maven_depmap

%if %{gcj_support}
%post test
if [ -x %{_bindir}/rebuild-gcj-db ]
then
  %{_bindir}/rebuild-gcj-db
fi
%endif

%if %{gcj_support}
%postun test
if [ -x %{_bindir}/rebuild-gcj-db ]
then
  %{_bindir}/rebuild-gcj-db
fi
%endif

%files
%defattr(-,root,root,-)
%dir %{_javadir}
%dir %{_javadir}/%{name}
%{_datadir}/maven2
%{_javadir}/%{name}/api*
%{_javadir}/%{name}/client*
%{_javadir}/%{name}/manager-plexus*
%{_javadir}/%{name}/plugin*
%{_javadir}/%{name}/provider-bazaar*
%{_javadir}/%{name}/provider-clearcase*
%{_javadir}/%{name}/provider-local*
%{_javadir}/%{name}/provider-perforce*
%{_javadir}/%{name}/provider-cvs-commons*
%{_javadir}/%{name}/provider-cvsexe*
%{_javadir}/%{name}/provider-svn-commons*
%{_javadir}/%{name}/provider-svnexe*
%{_javadir}/%{name}/provider-starteam*
%{_javadir}/%{name}/provider-vss*
%{_mavendepmapfragdir}
%doc LICENSE.txt NOTICE.txt

%if %{gcj_support}
%dir %attr(-,root,root) %{_libdir}/gcj/%{name}
%attr(-,root,root) %{_libdir}/gcj/%{name}/api-1.0-beta-3.jar.*
%attr(-,root,root) %{_libdir}/gcj/%{name}/client-1.0-beta-3.jar.*
%attr(-,root,root) %{_libdir}/gcj/%{name}/manager-plexus-1.0-beta-3.jar.*
%attr(-,root,root) %{_libdir}/gcj/%{name}/plugin-1.0-beta-3.jar.*
%attr(-,root,root) %{_libdir}/gcj/%{name}/provider-bazaar-1.0-beta-3.jar.*
%attr(-,root,root) %{_libdir}/gcj/%{name}/provider-clearcase-1.0-beta-3.jar.*
%attr(-,root,root) %{_libdir}/gcj/%{name}/provider-cvs-commons-1.0-beta-3.jar.*
%attr(-,root,root) %{_libdir}/gcj/%{name}/provider-cvsexe-1.0-beta-3.jar.*
%attr(-,root,root) %{_libdir}/gcj/%{name}/provider-local-1.0-beta-3.jar.*
%attr(-,root,root) %{_libdir}/gcj/%{name}/provider-perforce-1.0-beta-3.jar.*
%attr(-,root,root) %{_libdir}/gcj/%{name}/provider-starteam-1.0-beta-3.jar.*
%attr(-,root,root) %{_libdir}/gcj/%{name}/provider-svn-commons-1.0-beta-3.jar.*
%attr(-,root,root) %{_libdir}/gcj/%{name}/provider-svnexe-1.0-beta-3.jar.*
%attr(-,root,root) %{_libdir}/gcj/%{name}/provider-vss-1.0-beta-3.jar.*
%endif

%files test
%defattr(-,root,root,-)
%{_javadir}/%{name}/provider-cvstest*
%{_javadir}/%{name}/provider-svntest*
%{_javadir}/%{name}/test*

%if %{gcj_support}
%dir %attr(-,root,root) %{_libdir}/gcj/%{name}
%attr(-,root,root) %{_libdir}/gcj/%{name}/provider-cvstest-1.0-beta-3.jar.*
%attr(-,root,root) %{_libdir}/gcj/%{name}/test-1.0-beta-3.jar.*
%attr(-,root,root) %{_libdir}/gcj/%{name}/provider-svntest-1.0-beta-3.jar.*
%endif

%files javadoc
%defattr(-,root,root,-)
%{_javadocdir}/*

%changelog
* Tue Feb 27 2007 Tania Bento <tbento at redhat.com> 0:1.0-0.1.b3.2jpp.1
- Fixed %%Release.
- Fixed %%BuildRoot.
- Removed %%Vendor.
- Removed %%Distribution.
- Removed %%post and %%postun sections for javadoc.
- Fixed instructions on how to generate source drop.
- Marked documentation files as %%doc in %%files section.
- Fixed %%Summary.
- Fixed %%description.

* Tue Oct 17 2006 Deepak Bhole <dbhole at redhat.com> - 0:1.0-0.b3.2jpp
- Update for maven 9jpp.

* Tue Sep 18 2006 Deepak Bhole <dbhole at redhat.com> - 0:1.0-0.b3.1jpp
- Initial build


--- NEW FILE sources ---
3ff168aba7b94bb85bebfe91d91d1938  maven-scm-1.0-beta-3.tar.gz




More information about the fedora-extras-commits mailing list