You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Oleg Gusakov (JIRA)" <ji...@codehaus.org> on 2008/12/08 21:48:19 UTC
[jira] Commented: (MERCURY-48) Document and vet the design
[ http://jira.codehaus.org/browse/MERCURY-48?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=157315#action_157315 ]
Oleg Gusakov commented on MERCURY-48:
-------------------------------------
The proposed syntax looks like this
{code:xml | title=build.xml | borderStyle=solid }
<project name="test" default="compile-tests" xmlns:merc="antlib:org.apache.maven.mercury.ant.tasks" >
<!--
this example does not include <mvn:write .../> task, which
will be used to install / deploy artifacts into repositories
nor this example show how to configure artifact
validation - for the sake of simplicity
-->
<target name="init">
<property name="config.name" value="home-config"/>
<property name="java.version" value="1.5"/>
<property name="src" value="${basedir}/src/main/java"/>
<property name="target" value="${basedir}/target/classes"/>
<property name="test.src" value="${basedir}/src/test/java"/>
<property name="test.target" value="${basedir}/target/test-classes"/>
<!--
| configration: repositories, ?possibly profiles
-->
<merc:config id="work-config">
<!-- local repo (indicated by dir) of default type -->
<merc:repo id="localRepo" dir="/app/maven.repo"/>
<!-- remote repo (indicated by url) of explicit m2 type -->
<merc:repo type="m2" id="central" url="http://repo1.maven.org/maven2"/>
</merc:config>
<merc:config id="home-config">
<!-- local repo (indicated by dir) of default type -->
<merc:repo id="localRepo" dir="/app/maven.repo"/>
<!-- remote repo (indicated by url) of default type (m2) -->
<merc:repo id="central" url="http://localhost:8081/nexus/contents/groups/public"/>
</merc:config>
<!--
| another way to get configuration
| to be implemented later on
-->
<merc:config id="demo-config" file="~/.m2/settings.xml"/>
<!--
| dependency sets, identified and referred to by id - path-like structure declarations
-->
<merc:dep id="my-libs">
<!-- coordinates as string, explicit default namespace -->
<merc:dependency name="ant:ant:1.6.5" xmlns="http://maven.apache.org/mercury/1"/>
<!--
| a set of dependencies from a pom
|
| will be implemented last as mercury does not know
| about POMs - this will be a special read-only repository type
-->
<merc:dependency name="org.apache.maven:maven:3.0-SNAPSHOT" pom="${basedir}/pom.xml"/>
</merc:dep>
</target>
<target name="compile" depends="init">
<!--
| this is the workhorse task - creates a classpath named "compile-path"
| and adds all the transitive dependencies from "my-libs" in compile scope
-->
<merc:resolve name="resolve-compile-deps"
pathid="compile-path"
depref="my-libs"
configref="${config.name}"
/>
<javac srcdir="${src}"
destdir="${target}"
classpathref="compile-path"
debug="on"
source="${java.version}"
/>
</target>
<target name="compile-tests" depends="compile">
<!--
| this is the workhorse task - creates a classpath named "test-path"
| and adds all the transitive dependencies from "my-libs" in test scope
-->
<merc:resolve name="resolve-test-deps"
pathid="test-path"
depref="my-libs"
configref="${config.name}"
scope="test"
/>
<javac srcdir="${test.src}"
destdir="${test.target}"
classpathref="test-path"
debug="on"
source="${java.version}"
/>
</target>
</project>
{code}
> Document and vet the design
> ---------------------------
>
> Key: MERCURY-48
> URL: http://jira.codehaus.org/browse/MERCURY-48
> Project: Mercury
> Issue Type: Sub-task
> Components: Ant tasks
> Reporter: Oleg Gusakov
> Assignee: Oleg Gusakov
> Original Estimate: 2 days
> Remaining Estimate: 2 days
>
--
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