maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew MacLeod (JIRA)" <j...@codehaus.org>
Subject [jira] Issue Comment Edited: (MANTTASKS-170) deploy / install tasks make up names
Date Wed, 03 Mar 2010 17:54:55 GMT

    [ http://jira.codehaus.org/browse/MANTTASKS-170?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=212288#action_212288
] 

Andrew MacLeod edited comment on MANTTASKS-170 at 3/3/10 11:53 AM:
-------------------------------------------------------------------

I have been looking for a workaround to this... i tried rolling back to maven-ant-tasks-2.0.10.jar
but to my surprise it tells me:

artifact:pom doesn't support the "version" attribute

... so I'm guessing that in-memory POMs are not supported in 2.0.10, though there is nothing
in the documentation to suggest this (i.e. the example in https://maven.apache.org/ant-tasks/examples/pom.html),
whereas the reference does not specify options for in-memory POMs either (https://maven.apache.org/ant-tasks/reference.html#pom).

Until this is fixed, I'm giving up on in-memory POMs, and have presented a workaround in ant
below (it's a hack, but at least it's self-contained in a macro).  p.s. I love Maven, but
whenever it bites me, ant saves the day :-)
			<attribute name="pomrefid"/>
		<attribute name="groupId"/>
		<attribute name="artifactId"/>
		<attribute name="version"/>
		<attribute name="packaging"/>
		<sequential>
			<var name="temp.pom.file" unset="true"/>
			<var name="temp.pom.file" value="${TEMP.DIR}/pom.xml"/>
			<mkdir dir="${TEMP.DIR}"/>
			<echo message='&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;${line.separator}'
file='${temp.pom.file}'/>
			<echo message='&amp;lt;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"&amp;gt;${line.separator}'
file='${temp.pom.file}' append='true'/>
			<echo message='    &amp;lt;modelVersion&amp;gt;4.0.0&amp;lt;/modelVersion&amp;gt;${line.separator}'
file='${temp.pom.file}' append='true'/>
			<echo message='    &amp;lt;groupId&amp;gt;@{groupId}&amp;lt;/groupId&amp;gt;${line.separator}'
file='${temp.pom.file}' append='true'/>
			<echo message='    &amp;lt;artifactId&amp;gt;@{artifactId}&amp;lt;/artifactId&amp;gt;${line.separator}'
file='${temp.pom.file}' append='true'/>
			<echo message='    &amp;lt;version&amp;gt;@{version}&amp;lt;/version&amp;gt;${line.separator}'
file='${temp.pom.file}' append='true'/>
			<echo message='    &amp;lt;packaging&amp;gt;@{packaging}&amp;lt;/packaging&amp;gt;${line.separator}'
file='${temp.pom.file}' append='true'/>
			<echo message='&amp;lt;/project&amp;gt;${line.separator}' file='${temp.pom.file}'
append='true'/>
			<artifact:pom id="@{pomrefid}" file="${temp.pom.file}"/>
		</sequential>
	</macrodef>


      was (Author: andrew.macleod):
    I have been looking for a workaround to this... i tried rolling back to maven-ant-tasks-2.0.10.jar
but to my surprise it tells me:

artifact:pom doesn't support the "version" attribute

... so I'm guessing that in-memory POMs are not supported in 2.0.10, though there is nothing
in the documentation to suggest this (i.e. the example in https://maven.apache.org/ant-tasks/examples/pom.html),
whereas the reference does not specify options for in-memory POMs either (https://maven.apache.org/ant-tasks/reference.html#pom).

Until this is fixed, I'm giving up on in-memory POMs, and have presented a workaround in ant
below (it's a hack, but at least it's self-contained in a macro).  p.s. I love Maven, but
whenever it bites me, ant saves the day :-)
	
	<macrodef name="maven-in-memory-pom-workaround">			
		<attribute name="pomrefid"/>
		<attribute name="groupId"/>
		<attribute name="artifactId"/>
		<attribute name="version"/>
		<attribute name="packaging"/>
		<sequential>
			<var name="temp.pom.file" unset="true"/>
			<var name="temp.pom.file" value="${TEMP.DIR}/pom.xml"/>
			<mkdir dir="${TEMP.DIR}"/>
			<echo message='&lt;?xml version="1.0" encoding="UTF-8"?&gt;${line.separator}'
file='${temp.pom.file}'/>
			<echo message='&lt;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"&gt;${line.separator}'
file='${temp.pom.file}' append='true'/>
			<echo message='    &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;${line.separator}'
file='${temp.pom.file}' append='true'/>
			<echo message='    &lt;groupId&gt;@{groupId}&lt;/groupId&gt;${line.separator}'
file='${temp.pom.file}' append='true'/>
			<echo message='    &lt;artifactId&gt;@{artifactId}&lt;/artifactId&gt;${line.separator}'
file='${temp.pom.file}' append='true'/>
			<echo message='    &lt;version&gt;@{version}&lt;/version&gt;${line.separator}'
file='${temp.pom.file}' append='true'/>
			<echo message='    &lt;packaging&gt;@{packaging}&lt;/packaging&gt;${line.separator}'
file='${temp.pom.file}' append='true'/>
			<echo message='&lt;/project&gt;${line.separator}' file='${temp.pom.file}' append='true'/>
			<artifact:pom id="@{pomrefid}" file="${temp.pom.file}"/>
		</sequential>
	</macrodef>

  
> deploy / install tasks make up names
> ------------------------------------
>
>                 Key: MANTTASKS-170
>                 URL: http://jira.codehaus.org/browse/MANTTASKS-170
>             Project: Maven 2.x Ant Tasks
>          Issue Type: Bug
>          Components: deploy task, install task
>    Affects Versions: 2.1.0
>         Environment: Windows Vista/Ant 1.7.1/Maven ant tasks 2.1.0
>            Reporter: Marcel Ammerlaan
>
> When running a built with the following:
> <target name="deploy-to-nexus" depends="package" description="Move SVN jars to Nexus">
>   <artifact:pom id="pom1" groupId="nl.fbn.ullink" artifactId="${module}-${ext}" version="${version}">
>    <artifact:dependency groupId="junit" artifactId="junit" version="4.1"/>
>    <artifact:dependency groupId="org.codehaus.plexus" artifactId="plexus-utils" version="1.5.5"/>
>   </artifact:pom>
> 		
>   <artifact:install file="${workspace}/target/${module}-${ext}.tgz">
>     <artifact:pom refid="pom1"/>
>   </artifact:install>
> </target>
> The following is logged: [artifact:install] [INFO] Installing e:\tmp\ullink\target\ULBridge_8080-bin.tgz
to C:\Users\X09629\.m2\repository\org\apache\maven\super-pom\2.0\super-pom-2.0.jar
> It seems the POM definition is not picked up correctly during the install stage.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message