The following issue has been updated:

    Updater: John Casey (mailto:[EMAIL PROTECTED])
       Date: Thu, 4 Sep 2003 11:28 PM
    Comment:
Attached MavenTask rewrite.
    Changes:
             Attachment changed to maven-task-rewrite.patch
    ---------------------------------------------------------------------
For a full history of the issue, see:

  http://jira.codehaus.org/secure/ViewIssue.jspa?key=MAVEN-785&page=history

---------------------------------------------------------------------
View the issue:

  http://jira.codehaus.org/secure/ViewIssue.jspa?key=MAVEN-785


Here is an overview of the issue:
---------------------------------------------------------------------
        Key: MAVEN-785
    Summary: improve the functionality and feature set of the existing MavenTask
       Type: Improvement

     Status: Unassigned
   Priority: Major

 Time Spent: Unknown
  Remaining: 1 hour

    Project: maven
 Components: 
             core
   Versions:
             1.0-rc1

   Assignee: 
   Reporter: John Casey

    Created: Thu, 4 Sep 2003 11:28 PM
    Updated: Thu, 4 Sep 2003 11:28 PM
Environment: all environments, running Ant

Description:
The current version of MavenTask offers only the most limited functionality, limits 
the user in goal achievement per maven invocation, and seems arcane in its function 
when run against the most current version of maven.

I propose to give this task a facelift, and offer every option via Ant which would be 
available to the user from the command line, including multiple goals, property 
definition, and all of the options like goal listing and debug, which are listed from 
the help screen (maven -h).

Attached to this issue is a complete rewrite of MavenTask, from the ground up.  It 
invokes maven via Forehead, to avoid recoding the complex classloader logic; to reduce 
the required classpath libraries declared in the build.xml file; and to simplify the 
function of this task itself. It allows subtasks for goals and properties, and resets 
the system properties of its execution environment when complete.

Please note that the new functionality does not preclude backward compatibility.  I 
have re-added the old attribute methods in order to soothe the transition from old to 
new versions.

Invocation in the new task would look like this:

<project name="something" basedir="." default="hello">

  <property name="maven.home" value="c:/maven" />

  <taskdef name="maven" class="org.apache.maven.ant.MavenTask">
    <classpath>
      <pathelement location="${maven.home}/lib/maven.jar" />
    </classpath>
  </taskdef>

  <target name="hello">

    <maven mavenHome="${maven.home}"
           jdkToolsClasses="c:/java/lib/tools.jar"
           foreheadClasses="${maven.home}/lib/forehead.jar"
           dir="${basedir}"
           debug="true"
           showStackTraces="true">
      
      <property name="my.property" value="test" />
      <goal name="say-hello" />

    </maven>

  </target>

</project>


---------------------------------------------------------------------
JIRA INFORMATION:
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

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to