Demian
On 4/15/07, Xavier Hanin <[EMAIL PROTECTED]> wrote:
>
> Hi Demian,
>
> I'm not sure if it's due to my mail client or to yours, but the patch
> has
> additional new lines (lines are wrapped at 80 char or sg like that) so I
> can't apply it easily. Could you provide it through a file attachement
> instead?
>
> Thanks,
>
> Xavier
>
> On 4/15/07, Demian <[EMAIL PROTECTED]> wrote:
> >
> > I made some changes to the features.html, Didn't really move content
> > around,
> > just worked on some minor consistency stuff and wording.
> >
> > Index: features.html
> > ===================================================================
> > --- features.html (revision 528894)
> > +++ features.html (working copy)
> > @@ -24,59 +24,59 @@
> > <script type="text/javascript" src="xooki/xooki.js"></script>
> > </head>
> > <body>
> > - <textarea id="xooki-source">
> > -<p>Ivy is a very powerful dependencies manager oriented toward java
> > dependency management, even if it can be used to manage dependencies
> of
> > any
> > kind.</p>
> > -<p>If you don't see why you should use a dependency manager at all,
> or
> > have
> > any question concerning Ivy in general, have a look at the <a
> > href=" faq.html">FAQ</a>
> > and at the [[mailing-lists]].</p>
> > -<h1>Integrated with ant</h1>
> > -<p>Of course, Ivy is integrated with the most popular build
> management
> > system for java projects. But the integration goes way beyond common
> ant
> > integration. Indeed Ivy has been designed with ant integration and
> design
> > principles in mind. If you have ant skills, you will have ivy skills!
> The
> > plugin mechanism in ivy follow the same design as ant one, you will
> find
> > macrodef and files import in ivy configuration, many things with which
> ant
> > users are already familiar.<br/>
> > -And since Ivy is now an Apache project, we are getting even closer to
> Ant
> > development.</p>
> > -<h1>Simple to use</h1>
> > -<p>For simple cases, ivy is really simple to use. Declare your
> > dependencies, and that's all. See the <a
> > href="doc/tutorial/start.html">quick start tutorial</a> to check
> yourself,
> > it should take less than 5 minutes!</p>
> > -<p>Ivy can thus be used to bring the dependency management feature of
> > maven
> > to ant build files, for those of you who already use ant and who do
> not
> > want
> > to setup a maven project. But Ivy does not stop here, and provides
> much
> > more
> > great features!</p>
> > -<h1>Clean dependency reports</h1>
> > -<p>Ivy is able to produce mainly two kind of reports: html reports
> and
> > graph reports. HTML reports gives you a good understanding of what ivy
> > did,
> > and which dependencies your project depends upon. The graph reports
> let
> > you
> > have a good overview of the transitive dependencies (see below) and
> > conflicts in your project.</p>
> > -<p>Here are some samples of what ivy generates for you:<br />
> > -<center><br />
> > -<a href="samples/ivy-sample-xslt.xml"><img src="images/ivyfile-
> small.png"
> > title="browsable ivy file through simple xslt"/></a> <a
> > href="images/hibgraph.png" alt="ivyfile"><img src="images/hibgraph-
> > small.png "
> > title="full dependency graph"/></a> <a href="samples/jayasoft-
> > ivyrep-example-default.html" alt="graph"><img src="images/report-
> small.png
> > "
> > title="detailed dependency report" alt="report"/></a><br />
> > -</center></p>
> > -<h1>Non intrusive</h1>
> > -<p>Ivy most common use is to resolve dependencies and copy them in
> the
> > lib
> > dir of your project. Once copied, your build does not depend on ivy
> any
> > more. Thus you can easily migrate existing builds using the lib dir
> > pattern
> > to store dependencies. Moreover, you can easily deliver your project
> with
> > its dependencies so that the build file does not depend on ivy.</p>
> > -<h1>Extremely flexible</h1>
> > -<p>With Ivy, you usually do not have to adapt your project to ivy
> > structure, it's ivy which can be adapted to your environment.</p>
> > -<p>Even if Ivy comes with a lots of default values to work out of the
> > box,
> > you can change many things in ivy. Of course, the dependencies
> > repositories
> > possibilities covers a lot of uses (file system, url based, repository
>
> > chaining, ...). But that's not all. You can change the way ivy finds
> > latest
> > versions of your dependencies, you can change of conflict manager, you
> can
> > choose if you want ivy to copy deps in your project libs or to use
> them
> > directly from ivy cache, ...</p>
> > -<h1>Easily extensible</h1>
> > -<p>When ivy does not what you want out of the box, you can often
> extend
> > it
> > to solve your problem. For instance, you can plug your own repository
> > (like
> > scott haug did for a svn repository now available in ivy tools). But
> you
> > can
> > also defines your own latest strategy and your own conflict manager.
> See
> > <a
> > href="doc/extend.html">how to extend ivy</a> in the reference doc.
> </p>
> > -<p>Since Ivy 1.4 you can even define very easily your own metadata on
> > your
> > modules, with <a href="doc/concept.html#extra">extra
> attributes</a>.</p>
> > -<h1>High performances</h1>
> > -<p>In Ivy, performances have been taken in consideration from the
> > beginning. It uses a cache to avoid downloading twice a dependency,
> its
> > strong conflict management system has been thought to avoid
> downloading a
> > dependency if not necessary, all configuration and ivy file parsing
> are
> > done
> > using SAX for maximum performance, and so on...</p>
> > -<h1>Transitive dependencies</h1>
> > -<p>Imagine you have a component that you often reuse in your software
>
> > developments. Imagine that this component has itself dependencies.
> Then
> > with
> > classical dependencies management, each time you use this component in
> > your
> > software you have to declare it as a dependency, but also all its
> > dependencies.</p>
> > -<p>With ivy it's different: you simply write a dependency file once
> for
> > the
> > component, declaring its own dependencies, then anytime you want to
> use
> > this
> > component you simply have to declare a dependency on it.</p>
> > -<p>And this is even more powerful if the component your software
> depends
> > on
> > changes of dependencies during its own development. Then, without ivy,
> you
> > have to maintain all your components dependencies declaration each
> time
> > the
> > dependencies of this component change. With ivy, you update the ivy
> file
> > of
> > the component and that's it !</p>
> > -<p><i>If you want to quickly start using this feature or simply see
> it in
> > action with real world examples, check the official repository: <a
> href="
> > ivyrep.html">ivyrep</a></i></p>
> > -<h1>Strong conflict management</h1>
> > -<p>The problem with transitive dependencies is that it's sometimes
> > difficult to know exactly which version of a dependency you get,
> because
> > several modules are depending on it in different versions. Ivy
> provides a
> > strong and flexible conflict management engine, which let you easily
> > choose
> > which version should be evicted or kept if its default behaviour does
> not
> > fit your needs. </p>
> > -<p>It is also fully integrated with transitive dependencies
> management,
> > which means that conflicts are solved for each dependency before being
> > solved for your whole module. This ensures that problematics
> conflicts
> > will
> > only need to solved in the dependency they are encountered.</p>
> > -<h1>Out of the box ibiblio repository support</h1>
> > -<p>Maven users all know this repository, where you can find a lot of
> java
> > projects artifacts. With ivy, you benefit from this repository out of
> the
> > box. But you even benefit from more, since Ivy also uses its <a href="
> > http://ivyrep.jayasoft.org/ ">own repository</a> for dependencies
> metadata,
> > leveraging the power of transitive dependencies.</p>
> > -<h1>Continuous Integration Ready</h1>
> > -<p>Are you working in a continuous integration environment ? No ? You
>
> > should ;-)</p>
> > -<p>If you are working in a continuous integration environment, and if
> you
> > have many projects that depend one on each other, then you are maybe
> > experiencing the dependency management nightmare... Fortunately, ivy
> is
> > there to help !</p>
> > -<p>With ivy you can declare that a component depends on the latest
> > version
> > of another component. Knowing that, ivy will search for the latest
> version
> > of the dependency whenever you ask it to do so. This latest version is
>
> > computed by ivy simply either by checking the date of the dependency
> > versions or by comparing versions as text (either lexicographically or
> > with
> > an algorithm close to the one used in php version_compare
> function).</p>
> > -<h1>Publication handling</h1>
> > -<p>Ivy handles for you the publication of your projects to your
> > repository,
> > as defined in ivy. This simplifies a lot the management of
> multi-project
> > environment.</p>
> > -<h1>Pluggable module descriptor parsers</h1>
> > -<p>Ivy is able to use ivy files as module descriptors, but also
> maven2
> > poms, or even your own module descriptors! This can help you move
> softly
> > from an existing repository of modules to an ivy managed one.</p>
> > -<h1>Unique enterprise features</h1>
> > -<p>Ivy is the only dependency management tool to support powerful
> > features
> > such as repository namespace and building through the install task. A
> <a
> > href="doc/tutorial/build-repository.html">tutorial</a> is dedicated to
> > this
> > feature, and show you how you can build your own repository importing
> data
> > from public one, and converting heterogeneous repositories into a
> stable
> > and
> > homogeneous one.</p>
> > -<h1>Heavily tested</h1>
> > -<p>Ivy benefits from a lot of unit tests checked at each change. It
> is
> > also
> > under heavy tests by the community itself, and bugs reported by the
> > community are often fixed in only a few days.</p>
> > -<h1>Supported by several tools</h1>
> > -<p>A growing number of tools support ivy, see the <a
> > href="links.html">links</a>
> > page for details.</p>
> > -<h1>Free and open source</h1>
> > -<p>Ivy is an incubating Apache project, which means that it's fully
> open
> > sourced, with a business friendly Apache license.</p>
> > -<p>Being open source, you can even modify it for your own needs, and
> make
> > the community benefit from your enhancements if you like.</p>
> > -<h1>Extensively documented</h1>
> > + <textarea id="xooki-source">
> > +<p>Ivy is a very powerful dependency manager oriented toward Java
> > dependency management, even though it could be used to manage
> dependencies
> > of any kind.</p>
> > +<p>If you don't see why you should use a dependency manager at all,
> or
> > have
> > any question concerning Ivy in general, have a look at the <a
> > href=" faq.html">FAQ</a>
> > and at the [[mailing-lists]].</p>
> > +<h1>Integrated with Ant</h1>
> > +<p>Of course, Ivy is integrated with the most popular build
> management
> > system for Java projects. But the integration goes way beyond common
> Ant
> > integration. Indeed Ivy has been designed with Ant integration and
> design
> > principles in mind. If you have Ant skills, you already have Ivy
> skills!
> > The
> > plugin mechanism in Ivy follows the same design as Ant, you will find
> > macrodef and files import in Ivy configuration, many things with which
> Ant
> > users are already familiar with.<br/>
> > +And since Ivy is now an Apache project, we are getting even closer to
> Ant
> > development.</p>
> > +<h1>Simple to use</h1>
> > +<p>For simple cases, Ivy is easy to use. Declare your dependencies,
> and
> > that's all. See the <a href="doc/tutorial/start.html">quick start
> > tutorial</a> to check yourself, it should take less than 5
> minutes!</p>
> > +<p>Ivy can therefore be used to bring the dependency management
> feature
> > of
> > maven to Ant build files, for those of you who already use Ant and who
> do
> > not want to setup a maven project. But Ivy does not stop there, it
> > provides
> > many more great features!</p>
> > +<h1>Clean dependency reports</h1>
> > +<p>Ivy is able to produce mainly two kind of reports: HTML reports
> and
> > graph reports. HTML reports gives you a good understanding of what Ivy
> > did,
> > and which dependencies your project depends upon. The graph reports
> let
> > you
> > have a good overview of the transitive dependencies (see below) and
> > conflicts in your project.</p>
> > +<p>Here are some samples of what Ivy generates for you:<br />
> > +<center><br />
> > +<a href="samples/ivy-sample-xslt.xml"><img src="images/ivyfile-
> small.png"
> > title="browsable ivy file through simple xslt"/></a> <a
> > href="images/hibgraph.png" alt="ivyfile"><img src="images/hibgraph-
> > small.png "
> > title="full dependency graph"/></a> <a href="samples/jayasoft-
> > ivyrep-example-default.html" alt="graph"><img src="images/report-
> small.png
> > "
> > title="detailed dependency report" alt="report"/></a><br />
> > +</center></p>
> > +<h1>Non intrusive</h1>
> > +<p>Ivy most common use is to resolve dependencies and copy them in
> the
> > lib
> > dir of your project. Once copied, your build does not depend on Ivy
> any
> > more. Thus you can easily migrate existing builds using the lib dir
> > pattern
> > to store dependencies. Moreover, you can easily deliver your project
> with
> > its dependencies so that the build file does not depend on Ivy.</p>
> > +<h1>Extremely flexible</h1>
> > +<p>With Ivy, you usually do not have to adapt your project to Ivy
> > structure, Ivy will conform to your environment.</p>
> > +<p>Even though Ivy comes with a lots of default values to work out of
> the
> > box, you can change many things in Ivy. Of course, the dependencies
> > repositories possibilities covers a lot of uses (file system, URL
> based,
> > repository chaining, ...). But that's not all. You can change the way
> Ivy
> > finds latest versions of your dependencies, you can change of conflict
> > manager, you can choose if you want Ivy to copy dependencies in your
> > project
> > libs or use them directly from Ivy cache, ...</p>
> > +<h1>Easily extensible</h1>
> > +<p>When Ivy does not do what you want out of the box, you can often
> > extend
> > it to solve your problem. For instance, you can plug your own
> repository
> > (like Scott Haug did for a svn repository now available in Ivy tools).
> But
> > you can also define your own latest strategy and your own conflict
> > manager.
> > See <a href="doc/extend.html">how to extend Ivy</a> in the reference
> doc.
> > </p>
> > +<p>Since Ivy 1.4 you can even define very easily your own metadata on
>
> > your
> > modules, with <a href="doc/concept.html#extra">extra
> attributes</a>.</p>
> > +<h1>High performances</h1>
> > +<p>In Ivy, performances have been taken in consideration from the
> > beginning. It uses a cache to avoid downloading twice a dependency,
> its
> > strong conflict management system has been thought to avoid
> downloading a
> > dependency if not necessary, all configuration and Ivy file parsing
> are
> > done
> > using SAX for maximum performance, and so on...</p>
> > +<h1>Transitive dependencies</h1>
> > +<p>Imagine you have a component that you often reuse in your software
> > development. Imagine that this component has dependencies as well.
> Then
> > with
> > classical dependency management, each time you use this component in
> your
> > software you have to declare it as a dependency, but also all its
> > dependencies.</p>
> > +<p>With Ivy it's different: you simply write a dependency file once
> for
> > the
> > component, declaring its own dependencies, then anytime you want to
> use
> > this
> > component you simply have to declare a dependency on it.</p>
> > +<p>And this is even more powerful if the component your software
> depends
> > on
> > changes of dependencies during its own development. Then, without Ivy,
> you
> > have to maintain all your components dependencies declaration each
> time
> > the
> > dependencies of this component change. With Ivy, you update the Ivy
> file
> > of
> > the component and that's it !</p>
> > +<p><i>If you want to quickly start using this feature or simply see
> it in
> > action with real world examples, check the official repository: <a
> href="
> > ivyrep.html">ivyrep</a></i></p>
> > +<h1>Strong conflict management</h1>
> > +<p>The problem with transitive dependencies is that it's sometimes
> > difficult to know exactly which version of a dependency you get,
> because
> > several modules are depending on it in different versions. Ivy
> provides a
> > strong and flexible conflict management engine, which let you easily
> > choose
> > which version should be evicted or kept if its default behaviour does
> not
> > fit your needs. </p>
> > +<p>It is also fully integrated with transitive dependencies
> management,
> > which means that conflicts are solved for each dependency before being
> > solved for your whole module. This ensures that problematic conflicts
>
> > will
> > only need to solved in the dependency they are encountered.</p>
> > +<h1>Out of the box ibiblio repository support</h1>
> > +<p>Maven users all know this repository, where you can find a lot of
> Java
> > projects artifacts. With Ivy, you benefit from this repository out of
> the
> > box. But you even benefit from more, since Ivy also uses its <a href="
> > http://ivyrep.jayasoft.org/ ">own repository</a> for dependencies
> metadata,
> > leveraging the power of transitive dependencies.</p>
> > +<h1>Continuous Integration Ready</h1>
> > +<p>Are you working in a continuous integration environment? No? You
> > should
> > ;-)</p>
> > +<p>If you are working in a continuous integration environment, and if
> you
> > have many projects that depend one on each other, then you are maybe
> > experiencing the dependency management nightmare... Fortunately, Ivy
> is
> > there to help !</p>
> > +<p>With Ivy you can declare that a component depends on the latest
> > version
> > of another component. Knowing that, Ivy will search for the latest
> version
> > of the dependency whenever you ask it to do so. This latest version is
>
> > computed by Ivy either by checking the date of the dependency
> versions or
> > by comparing versions as text (either lexicographically or with an
> > algorithm
> > close to the one used in php version_compare function).</p>
> > +<h1>Publication handling</h1>
> > +<p>Ivy handles for you the publication of your projects to your
> > repository,
> > as defined in Ivy. This simplifies a lot the management of
> multi-project
> > environment.</p>
> > +<h1>Pluggable module descriptor parsers</h1>
> > +<p>Ivy is able to use Ivy files as module descriptors, but also
> maven2
> > POMs, or even your own module descriptors! This can help you move
> softly
> > from an existing repository of modules to an Ivy managed one.</p>
> > +<h1>Unique enterprise features</h1>
> > +<p>Ivy is the only dependency management tool to support powerful
> > features
> > such as repository namespace and building through the install task. A
> <a
> > href="doc/tutorial/build-repository.html">tutorial</a> is dedicated to
> > this
> > feature, and show you how you can build your own repository importing
> data
> > from public one, and converting heterogeneous repositories into a
> stable
> > and
> > homogeneous one.</p>
> > +<h1>Heavily tested</h1>
> > +<p>Ivy benefits from a lot of unit tests checked at each code
> > modification.
> > It is also under heavy testing by the community itself, and bugs
> reported
> > by
> > the community are often fixed in only a few days.</p>
> > +<h1>Supported by several tools</h1>
> > +<p>A growing number of tools support Ivy, see the <a
> > href="links.html">links</a>
> > page for details.</p>
> > +<h1>Free and open source</h1>
> > +<p>Ivy is an incubating Apache project, which means that it's fully
> open
> > sourced, with a business friendly Apache license.</p>
> > +<p>Being open source, you can even modify it for your own needs, and
> let
> > the community benefit from your enhancements if you like.</p>
> > +<h1>Extensively documented</h1>
> > <p>With Ivy, not only the tool is free and open source, but you also
> have
> > access to a documentation of about 120 pages in its printer friendly
> > version
> > for free!</p></textarea>
> > <script type="text/javascript">xooki.postProcess();</script>
> > </body>
> >
> >
> > --
> > Demian L. Neidetcher
> >
>
>
>
> --
> Learn Ivy at ApacheCon: http://www.eu.apachecon.com/
> Manage your dependencies with Ivy!
> http://incubator.apache.org/ivy/
>
--
Demian L. Neidetcher