ant-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From maart...@apache.org
Subject svn commit: r1197924 - /ant/site/ivy/sources/features.html
Date Sat, 05 Nov 2011 11:00:39 GMT
Author: maartenc
Date: Sat Nov  5 11:00:39 2011
New Revision: 1197924

URL: http://svn.apache.org/viewvc?rev=1197924&view=rev
Log:
DOCUMENTATION: grammar rework on Features page (IVY-1317) (thanks to Dave Smith)

Modified:
    ant/site/ivy/sources/features.html

Modified: ant/site/ivy/sources/features.html
URL: http://svn.apache.org/viewvc/ant/site/ivy/sources/features.html?rev=1197924&r1=1197923&r2=1197924&view=diff
==============================================================================
--- ant/site/ivy/sources/features.html (original)
+++ ant/site/ivy/sources/features.html Sat Nov  5 11:00:39 2011
@@ -25,58 +25,57 @@
 </head>
 <body>
 	<textarea id="xooki-source">
-<p>Apache Ivy&#153; is a very powerful dependency manager oriented toward Java&#153;
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 Apache Ivy in general, have a look at the <a href="faq.html">FAQ</a>
and at the [[mailing-lists]].</p>
+<p>Apache Ivy&#153; is a very powerful dependency manager oriented toward Java&#153;
dependency management, although it can be used to manage dependencies of any kind.</p>
+<p>If you're unsure if you should use a dependency manager, or if you have general
questions about Apache Ivy, consult the <a href="faq.html">FAQ</a> and the [[mailing-lists]].</p>
 <h1>Integrated with Apache Ant&#153;</h1>
-<p>Of course, Aache Ivy is integrated with the most popular build management system
for Java projects. But the integration goes way beyond common Apache Ant integration. Indeed
Apache Ivy has been designed with Apache Ant integration and design principles in mind. If
you have Apache Ant skills, you already have Apache Ivy skills! The plugin mechanism in Apache
Ivy follows the same design as Apache Ant, you will find macrodef and files import in Apache
Ivy configuration, many things Apache Ant users are already familiar with</p>
-<p>And since Apache Ivy is a subproject of Apache Ant, we even share the same development
community!</p>
+<p>Apache Ivy is integrated with Apache Ant, the most popular Java build management
system, so Apache Ivy follows Apache Ant design principles.  If you have Apache Ant skills,
you already have Apache Ivy skills! The plugin mechanism in Apache Ivy follows the Apache
Ant model.  Also like Apache Ant, Apache Ivy supports macrodefs and file imports from configuration.</p>
+<p>Since Apache Ivy is a subproject of Apache Ant, we even share the same development
community!</p>
 <h1>Simple to use</h1>
 <p>For simple cases, Apache Ivy is easy to use. Declare your dependencies, and that's
all. See the [[doc:tutorial/start quick start tutorial]] to check yourself, it should take
less than 5 minutes!</p>
-<p>Apache Ivy can therefore be used to bring the dependency management feature of Apache
Maven&#153; to Apache Ant build files, for those of you who already use Apache Ant and
who do not want to setup an Apache Maven project. But Apache Ivy does not stop there, it provides
many more great features!</p>
+<p>Apache Ivy brings the dependency management advantages of Apache Maven&#153;
to Apache Ant build files, for those who already use Apache Ant and don't want to migrate
to Apache Maven. But Apache Ivy does not stop there, it provides many more great features!</p>
 <h1>Clean dependency reports</h1>
-<p>Apache Ivy is able to produce mainly two kind of reports: HTML reports and graph
reports. HTML reports gives you a good understanding of what Apache 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 Apache Ivy generates for you:<br />
+<p>Apache Ivy produces two primary report types: HTML reports and graph reports. HTML
reports give a good understanding of what Apache Ivy did, and of a project's immediate dependencies.
The graph reports provide a good overview of a project's transitive dependencies (see below)
and conflicts.</p>
+<p>Here are some sample Apache Ivy reports:<br />
 <center><br />
 <a href="history/latest-milestone/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="history/latest-milestone/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>Apache 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 Apache 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 Apache Ivy.</p>
+<p>Apache Ivy is most commonly used to resolve dependencies and copy them to the lib
directory of a project. After dependencies have been copied, a build no longer depends on
Apache Ivy. Therefore, existing builds may easily be migrated to Apache Ivy using the lib
directory pattern. Also, dependencies can be delivered with a project so that the build file
need not depend on Apache Ivy.</p>
 <h1>Extremely flexible</h1>
-<p>With Apache Ivy, you usually do not have to adapt your project to Apache Ivy structure,
Apache Ivy will conform to your environment.</p>
-<p>Even though Apache Ivy comes with a lots of default values to work out of the box,
you can change many of them. Of course, the standard resolvers covers a lot of uses (file
system, URL based, repository chaining, ...). But that's not all. You can change the way Apache
Ivy finds latest versions of your dependencies, you can change the conflict manager, you can
choose if you want Apache Ivy to copy dependencies in your project libs or use them directly
from the cache, ...</p>
+<p>In most cases, Apache Ivy will conform to your existing environment.</p>
+<p>Apache Ivy comes with many default values that work out of the box, and most can
be changed. For example, you can change the way Apache Ivy finds the latest dependency versions,
you can change the conflict manager, you can choose if you want Apache Ivy to copy dependencies
to your project libs or use them directly from the cache, etc.</p>
 <h1>Easily extensible</h1>
 <p>When Apache 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. But you can also define
your own latest strategy and your own conflict manager. See [[doc:extend how to extend Ivy]]
in the reference doc. </p>
-<p>Moreover you can even define very easily your own metadata on your modules, with
[[doc:concept extra attributes]].</p>
-<h1>High performances</h1>
-<p>In Apache Ivy, performance 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 settings and ivy
files parsing are done using SAX for maximum performance, and so on...</p>
+<p>You can even define your own metadata on your modules, with [[doc:concept extra
attributes]].</p>
+<h1>High performance</h1>
+<p>The Apache Ivy project has always emphasized performance. For example, Apache Ivy
uses a cache to avoid duplicate dependency downloads.  Also, all settings and ivy files are
parsed using SAX for maximum performance.</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 without a good dependency management
tool, 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 Apache 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 Apache Ivy, you have to maintain
all your components dependencies declaration each time the dependencies of this component
change. With Apache Ivy, you update the ivy file of the component and that's it!</p>
+<p>Imagine a component that's often reused by a software team, and that this component
has dependencies of its own. Without a good dependency management tool, each time this component
is reused, all its dependencies must be repeated. With Apache Ivy, it's different: simply
write a dependency file once for the component, and benefit from the work already done anytime
this component is reused.</p>
+<p>This model is even more powerful as the component's own dependencies change over
time. In this case, without Apache Ivy, the resulting ripple effect can disrupt your project.
With Apache Ivy, you update the ivy file of the component and that's it!</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. Apache Ivy provides a strong and flexible conflict management engine,
which let you easily choose which version should be evicted or kept if its default behavior
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>
+<p>Transitive dependencies can cause confusion over exactly which version of a dependency
gets bundled, because several modules require it in different versions. Apache Ivy provides
a strong and flexible conflict management engine, which allows choosing the version to be
evicted or kept in each case.</p>
+<p>Apache Ivy also implements 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 be solved in the dependency where they
are encountered.</p>
 <h1>Out of the box maven repository support</h1>
-<p>The public maven repository has many advantages: a lot of modules available, easy
search with mvnrepository.com, ... With Apache Ivy, you benefit from this repository out of
the box thanks to maven2 metadata compatibility. </p>
+<p>The public maven repository has many advantages: a lot of modules available, easy
search with mvnrepository.com, etc. With Apache Ivy, you benefit from this repository out
of the box thanks to maven2 metadata compatibility. </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, Apache Ivy is there to help !</p>
+<p>Are you working in a continuous integration (CI) environment? No? You should be
;-)</p>
+<p>If you are working in a CI environment, and if you have many projects that depend
one on each other, then you might be experiencing the dependency management nightmare. Fortunately,
Apache Ivy can help you!</p>
 <p>With Apache Ivy you can declare that a component depends on the latest version of
another component. Knowing that, Apache Ivy will search for the latest version of the dependency
whenever you ask it to do so. This latest version is computed 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>Apache Ivy handles for you the publication of your projects to your repository.
This simplifies a lot the management of multi-project environment.</p>
+<p>Apache Ivy helps you publish your projects to your repository. This simplifies the
management of multi-project environments.</p>
 <h1>Pluggable module descriptor parsers</h1>
-<p>Apache 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>
+<p>Apache 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>Apache Ivy is the only dependency management tool to support powerful features such
as repository namespace and building through the install task. A [[doc:tutorial/build-repository
tutorial]] 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>
+<p>Apache Ivy is the only dependency management tool to support powerful features such
as repository namespace and building through the install task. A [[doc:tutorial/build-repository
tutorial]] is dedicated to this feature which shows how to build your own repository by importing
data from a public one, and how to convert heterogeneous repositories into a stable and homogeneous
one.</p>
 <h1>Heavily tested</h1>
-<p>Apache Ivy benefits from a lot of unit tests checked at each code modification.
It is also under heavy testing by the community itself, and we pay a lot of attention to bug
fixing and code stability.</p>
+<p>Apache Ivy benefits from a lot of unit tests checked at each code modification.
It is also heavily tested by the community itself, and we pay a lot of attention to bug fixing
and code stability.</p>
 <h1>Free and open source</h1>
-<p>Apache Ivy is an 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>
+<p>Apache Ivy is an Apache project, which means that it's fully open sourced, with
a business-friendly Apache license.</p>
+<p>Since it's 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 Apache Ivy, not only the tool is free and open source, but you also have access
to a very detailed documentation including tutorials and reference documentation, all for
free!</p>
+<p>Not only is Apache Ivy free and open source, but you also have access to very detailed
tutorial and reference documentation.</p>
 <h1>Self contained</h1>
-<p>The core engine which allows to perform most of Apache Ivy features is provided
as a single jar with no dependency at all, except on JRE 1.4 or greater. This means that you
can very easily use Apache Ivy to bootstrap your build system, or embedded in your own tool.
Apache Ant support itself is provided only as a thin wrapper over the Apache Ivy engine so
that you can do everything in embedded or standalone mode.</p></textarea>
+<p>The core engine which enables most Apache Ivy features is provided as a single jar
with no dependency other than JRE 1.4 or greater. This means that you can very easily use
Apache Ivy to bootstrap your build system, or to embed in your own tool. Apache Ant support
is provided only as a thin wrapper over the Apache Ivy engine so that you can do everything
in embedded or standalone mode.</p></textarea>
 <script type="text/javascript">xooki.postProcess();</script>
 </body>
 </html>



Mime
View raw message