From 1e0690bc78ffc45083d8835f52306b66f28f7edb Mon Sep 17 00:00:00 2001 From: adammurdoch Date: Tue, 26 Mar 2002 02:40:32 +0000 Subject: [PATCH] * Updated todo list. * Removed the 'differences to ant1' blurbage from index.xml. * Regenerated HTML. git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@272036 13f79535-47bb-0310-9956-ffa450edef68 --- proposal/myrmidon/docs/ant1compat.html | 2 + proposal/myrmidon/docs/buildfile.html | 2 + proposal/myrmidon/docs/classloader.html | 2 + proposal/myrmidon/docs/differences.html | 138 ++++++++++++++++++++++++ proposal/myrmidon/docs/getinvolved.html | 2 + proposal/myrmidon/docs/index.html | 96 ++++------------- proposal/myrmidon/docs/librarys.html | 2 + proposal/myrmidon/docs/task.html | 2 + proposal/myrmidon/docs/todo.html | 70 +++++++++++- proposal/myrmidon/docs/user.html | 2 + proposal/myrmidon/docs/vfs.html | 2 + proposal/myrmidon/src/xdocs/index.xml | 69 ------------ proposal/myrmidon/src/xdocs/todo.xml | 7 +- 13 files changed, 247 insertions(+), 149 deletions(-) create mode 100644 proposal/myrmidon/docs/differences.html diff --git a/proposal/myrmidon/docs/ant1compat.html b/proposal/myrmidon/docs/ant1compat.html index 4bd18ea99..4fff917e0 100644 --- a/proposal/myrmidon/docs/ant1compat.html +++ b/proposal/myrmidon/docs/ant1compat.html @@ -51,6 +51,8 @@
  • Virtual File System
  • Ant1 Compatibility Layer +
  • +
  • Differences to Ant1
  • Extending Ant

    diff --git a/proposal/myrmidon/docs/buildfile.html b/proposal/myrmidon/docs/buildfile.html index 892185827..76305c246 100644 --- a/proposal/myrmidon/docs/buildfile.html +++ b/proposal/myrmidon/docs/buildfile.html @@ -51,6 +51,8 @@
  • Virtual File System
  • Ant1 Compatibility Layer +
  • +
  • Differences to Ant1
  • Extending Ant

    diff --git a/proposal/myrmidon/docs/classloader.html b/proposal/myrmidon/docs/classloader.html index 183b6d103..1ac32dba9 100644 --- a/proposal/myrmidon/docs/classloader.html +++ b/proposal/myrmidon/docs/classloader.html @@ -51,6 +51,8 @@
  • Virtual File System
  • Ant1 Compatibility Layer +
  • +
  • Differences to Ant1
  • Extending Ant

    diff --git a/proposal/myrmidon/docs/differences.html b/proposal/myrmidon/docs/differences.html new file mode 100644 index 000000000..2e23a42a3 --- /dev/null +++ b/proposal/myrmidon/docs/differences.html @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + Apache Myrmidon - Differences to Ant1 + + + + + + + + + + +
    + +
    Apache Myrmidon
    + + + + + + + + + + + + +
    +
    +
    +

    Myrmidon

    + +

    User Guide

    + +

    Extending Ant

    + +

    Container Design

    +
      +
    +
    + + + +
    + + Differences to Ant 1.x + +
    +
    +

    Some of the differences between Ant 1.x and Myrmidon:

    +
      +
    • + Groups of tasks can be assembled into self-describing + antlib task libraries. This makes it very easy to + distribute and install tasks and data-types. +
    • +
    • A project can import other projects, and reference their targets.
    • +
    • Properties and data type references now share the same namespace.
    • +
    • + Changes to task and data-type API: +
        +
      • An interface based API, through which a task interacts with the + task engine, and the services it provides.
      • +
      • A well-defined object lifecycle.
      • +
      • Polymorphic types are supported when objects are configured.
      • +
      • Reference handling is handled automatically when objects are configured.
      • +
      • Aspects can be used to decorate tasks, to add facilities like logging, + error handling, or user preferences.
      • +
      +
    • +
    • A set of well-defined services and APIs have been introduced, to allow + tasks to do their work without depending on other tasks: +
        +
      • Execute external commands.
      • +
      • Execute other tasks.
      • +
      • Manage ClassLoaders and Class-paths.
      • +
      • Virtual file system (in progress).
      • +
      • Execute Java applications (in progress).
      • +
      • ...
      • +
      +
    • +
    +

    There are plenty more features planned. You can read about them + here. +

    +
    +
    +
    +
    +
    +
    + Copyright © 2000-2002, Apache Software Foundation +
    +
    + + + + + + + diff --git a/proposal/myrmidon/docs/getinvolved.html b/proposal/myrmidon/docs/getinvolved.html index 78bfae909..48d85e2ab 100644 --- a/proposal/myrmidon/docs/getinvolved.html +++ b/proposal/myrmidon/docs/getinvolved.html @@ -51,6 +51,8 @@
  • Virtual File System
  • Ant1 Compatibility Layer +
  • +
  • Differences to Ant1
  • Extending Ant

    diff --git a/proposal/myrmidon/docs/index.html b/proposal/myrmidon/docs/index.html index 0baf94640..ba99379b2 100644 --- a/proposal/myrmidon/docs/index.html +++ b/proposal/myrmidon/docs/index.html @@ -51,6 +51,8 @@
  • Virtual File System
  • Ant1 Compatibility Layer +
  • +
  • Differences to Ant1
  • Extending Ant

    @@ -76,85 +78,27 @@

    -Myrmidon is one of the Ant 2 proposals currently in development. You can -read more about the goals of Ant 2 -here. -

    -

    -Myrmidon is a general-purpose task engine. It contains the basic -building blocks for assembling any sort of task-based tool. Ant 2 -is an example of such a tool, which could be assembled using the Myrmidon task -engine, and a library of build related tasks. -

    -

    -Currently, Myrmidon is a prototype of what a task engine might look. It -includes a small set of tasks and data types. We are currently porting -many of the Ant 1.x tasks to the Myrmidon task engine. -

    -

    -

    -
    - - - - -
    - - Differences to Ant 1.x - -
    -
    -

    Some of the differences between Ant 1.x and Myrmidon:

    -
      - -
    • -Groups of tasks can be assembled into self-describing antlib task -libraries. This makes it very easy to distribute and install tasks and data-types. -
    • + Myrmidon is one of the Ant 2 proposals currently in development. You can + read more about the goals of Ant 2 -
    • -A project can import other projects, and reference their targets. -
    • + here. -
    • -Changes to the property model: -
        -
      • Properties and data type references now share the same namespace.
      • -
      • Properties are mutable.
      • -
      • Properties are scoped into global, local, and parent contexts.
      • -
      • if and unless checks now test the property - value against false, in addition to testing set/not-set.
      • -
      -
    • - -
    • -Changes to task and data-type API: -
        -
      • An interface based API, through which a task interacts with the - task engine, and the services it provides.
      • -
      • A well-defined object lifecycle.
      • -
      • Polymorphic types are supported when objects are configured.
      • -
      • Reference handling is handled automatically when objects are configured.
      • -
      • Aspects can be used to decorate tasks, to add facilities like logging, - error handling, or user preferences.
      • -
      -
    • - -
    • -A set of well-defined services and APIs have been introduced, to allow -tasks to do their work without depending on other tasks: -
        -
      • Execute external commands.
      • -
      • Execute other tasks.
      • -
      • Manage ClassLoaders and Class-paths.
      • -
      • Virtual file system (in progress).
      • -
      • Execute Java applications (in progress).
      • -
      • ...
      • -
      -
    • +

      +

      + Myrmidon is a general-purpose + task engine. It contains the basic + building blocks for assembling any sort of task-based tool. Ant 2 + is an example of such a tool, which could be assembled using the Myrmidon task + engine, and a library of build related tasks. -

    -

    There are plenty more features planned. You can read about them here.

    +

    +

    + Currently, Myrmidon is a prototype of what a task engine might look. It + includes a small set of tasks and data types. We are currently porting + many of the Ant 1.x tasks to the Myrmidon task engine. +

    +

    +

    diff --git a/proposal/myrmidon/docs/librarys.html b/proposal/myrmidon/docs/librarys.html index 83db6bbb0..8c15ce48d 100644 --- a/proposal/myrmidon/docs/librarys.html +++ b/proposal/myrmidon/docs/librarys.html @@ -51,6 +51,8 @@
  • Virtual File System
  • Ant1 Compatibility Layer +
  • +
  • Differences to Ant1
  • Extending Ant

    diff --git a/proposal/myrmidon/docs/task.html b/proposal/myrmidon/docs/task.html index c551dc7cb..c0c30bac0 100644 --- a/proposal/myrmidon/docs/task.html +++ b/proposal/myrmidon/docs/task.html @@ -51,6 +51,8 @@
  • Virtual File System
  • Ant1 Compatibility Layer +
  • +
  • Differences to Ant1
  • Extending Ant

    diff --git a/proposal/myrmidon/docs/todo.html b/proposal/myrmidon/docs/todo.html index 4b8ae218e..595e81681 100644 --- a/proposal/myrmidon/docs/todo.html +++ b/proposal/myrmidon/docs/todo.html @@ -51,6 +51,8 @@
  • Virtual File System
  • Ant1 Compatibility Layer +
  • +
  • Differences to Ant1
  • Extending Ant

    @@ -80,6 +82,51 @@ sections describe some of the many things which still need to be done to achieve that goal. This list is currently under construction.

    + + +
    + + Security Manager + +
    +
    +

    Add the ability to run java programs that call System.exit() by adding a + security manager. Should look something like:

    +
    + + + + + + + + + + + + + + + + +
    +public class MyrmidonSecurityManager
    +    extends SecurityManager
    +{
    +    public void checkExit( final int status )
    +    {
    +        throw new ExitException( status );
    +    }
    +
    +    public void checkPermission( final Permission permission )
    +    {
    +    }
    +}
    +                
    +
    +
    +
    + +
    Self Hosting @@ -94,6 +141,20 @@ able to be built from scratch, without using Ant 1.x at all).

    + + +
    + + Validation Pass + +
    +
    +

    Consider calling validate() on task prior to execute(). This would allow + us to have a "make -k" mode that actually did basic validation and would also + encourage task writers to do validation properly.

    +
    +
    @@ -402,7 +465,6 @@ ant-services.xml descriptor. -
  • Route external process stdout and stderr through the logger.
  • Add verbosity level to ProjectListener LogEvent
  • Fire ProjectListener events taskFinished(), targetFinished() and projectFinished() events on build failure, adding indicator methods to @@ -438,7 +500,11 @@
  • Move crimson.jar to bin/lib in the distribution, - and make to other jars via the extension mechanism. + and make available to other jars via the extension mechanism. +
  • +
  • Change DefaultPropertyResolver to ignore '$${'.
  • +
  • Add a --type command-line option, to allow + the project builder to be manually selected.
  • Unit tests.
  • diff --git a/proposal/myrmidon/docs/user.html b/proposal/myrmidon/docs/user.html index 82f673c26..497d8c2db 100644 --- a/proposal/myrmidon/docs/user.html +++ b/proposal/myrmidon/docs/user.html @@ -51,6 +51,8 @@
  • Virtual File System
  • Ant1 Compatibility Layer +
  • +
  • Differences to Ant1
  • Extending Ant

    diff --git a/proposal/myrmidon/docs/vfs.html b/proposal/myrmidon/docs/vfs.html index c100d5f38..5cefcf870 100644 --- a/proposal/myrmidon/docs/vfs.html +++ b/proposal/myrmidon/docs/vfs.html @@ -51,6 +51,8 @@
  • Virtual File System
  • Ant1 Compatibility Layer +
  • +
  • Differences to Ant1
  • Extending Ant

    diff --git a/proposal/myrmidon/src/xdocs/index.xml b/proposal/myrmidon/src/xdocs/index.xml index 4a9ce30ae..486878127 100644 --- a/proposal/myrmidon/src/xdocs/index.xml +++ b/proposal/myrmidon/src/xdocs/index.xml @@ -37,75 +37,6 @@ -
    - -

    Some of the differences between Ant 1.x and Myrmidon:

    - - - -

    There are plenty more features planned. You can read about them - here. -

    - -
    - diff --git a/proposal/myrmidon/src/xdocs/todo.xml b/proposal/myrmidon/src/xdocs/todo.xml index 7d33c0c8e..885c7c017 100644 --- a/proposal/myrmidon/src/xdocs/todo.xml +++ b/proposal/myrmidon/src/xdocs/todo.xml @@ -314,7 +314,6 @@ public class MyrmidonSecurityManager ant-services.xml descriptor. -
  • Route external process stdout and stderr through the logger.
  • Add verbosity level to ProjectListener LogEvent
  • Fire ProjectListener events taskFinished(), targetFinished() and projectFinished() events on build failure, adding indicator methods to @@ -350,7 +349,11 @@ public class MyrmidonSecurityManager
  • Move crimson.jar to bin/lib in the distribution, - and make to other jars via the extension mechanism. + and make available to other jars via the extension mechanism. +
  • +
  • Change DefaultPropertyResolver to ignore '$${'.
  • +
  • Add a --type command-line option, to allow + the project builder to be manually selected.
  • Unit tests.
  • @@ -154,12 +215,14 @@ Write tests for the various bits that rely on Myrmidon functionality:
      +
    • Simple sanity test
    • if/unless on targets: check that behaviour complies with Ant1
    • Make sure properties are shared between Ant1 and Myrmidon tasks.
    • Make sure that <ant1.property> behaves as per Ant1
  • Get GUMP runs going using Myrmidon.
  • +
  • i18n messages