Return-Path: X-Original-To: apmail-ant-notifications-archive@minotaur.apache.org Delivered-To: apmail-ant-notifications-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 5B832915F for ; Sun, 5 Feb 2012 21:07:10 +0000 (UTC) Received: (qmail 31151 invoked by uid 500); 5 Feb 2012 21:07:10 -0000 Delivered-To: apmail-ant-notifications-archive@ant.apache.org Received: (qmail 31120 invoked by uid 500); 5 Feb 2012 21:07:10 -0000 Mailing-List: contact notifications-help@ant.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ant.apache.org Delivered-To: mailing list notifications@ant.apache.org Received: (qmail 31113 invoked by uid 99); 5 Feb 2012 21:07:10 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 05 Feb 2012 21:07:10 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED,T_FRT_BELOW2 X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 05 Feb 2012 21:06:58 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id AF6BA23888D2 for ; Sun, 5 Feb 2012 21:06:35 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1240818 [1/4] - in /ant/site/ivyde/production/history/trunk: ./ cpc/ dev/ images/ sample/ style/ Date: Sun, 05 Feb 2012 21:06:34 -0000 To: notifications@ant.apache.org From: hibou@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20120205210635.AF6BA23888D2@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: hibou Date: Sun Feb 5 21:06:32 2012 New Revision: 1240818 URL: http://svn.apache.org/viewvc?rev=1240818&view=rev Log: Regenerate the site for the trunk version of the doc Added: ant/site/ivyde/production/history/trunk/images/add_ivy_nature.jpg (with props) ant/site/ivyde/production/history/trunk/images/install_ivy_ant_tasks.jpg (with props) ant/site/ivyde/production/history/trunk/images/ivy_project_properties.jpg (with props) ant/site/ivyde/production/history/trunk/images/launch_standalone_retrieve.jpg (with props) ant/site/ivyde/production/history/trunk/images/pref_advanced.jpg (with props) ant/site/ivyde/production/history/trunk/images/pref_source_javadoc_mapping.jpg (with props) ant/site/ivyde/production/history/trunk/images/resolve_visualizer.jpg (with props) ant/site/ivyde/production/history/trunk/images/resolve_visualizer_view_select.jpg (with props) ant/site/ivyde/production/history/trunk/images/retrieve_setup.jpg (with props) ant/site/ivyde/production/history/trunk/images/retrieve_setup_settings.jpg (with props) ant/site/ivyde/production/history/trunk/images/webapp-js-repo-launch.jpg (with props) ant/site/ivyde/production/history/trunk/images/xml_editor_color.jpg (with props) ant/site/ivyde/production/history/trunk/non-java.html (with props) ant/site/ivyde/production/history/trunk/resolve-visualizer.html (with props) ant/site/ivyde/production/history/trunk/sample/ ant/site/ivyde/production/history/trunk/sample/webapp-js-repo.zip (with props) Modified: ant/site/ivyde/production/history/trunk/ant.html ant/site/ivyde/production/history/trunk/book.html ant/site/ivyde/production/history/trunk/compatibility.html ant/site/ivyde/production/history/trunk/console.html ant/site/ivyde/production/history/trunk/cp_container.html ant/site/ivyde/production/history/trunk/cpc/cleancache.html ant/site/ivyde/production/history/trunk/cpc/create.html ant/site/ivyde/production/history/trunk/cpc/edit.html ant/site/ivyde/production/history/trunk/cpc/jarmapping.html ant/site/ivyde/production/history/trunk/cpc/launch.html ant/site/ivyde/production/history/trunk/cpc/maven.html ant/site/ivyde/production/history/trunk/cpc/resolve.html ant/site/ivyde/production/history/trunk/cpc/retrieve.html ant/site/ivyde/production/history/trunk/cpc/workspace.html ant/site/ivyde/production/history/trunk/cpc/wtp.html ant/site/ivyde/production/history/trunk/dev.html ant/site/ivyde/production/history/trunk/dev/build.html ant/site/ivyde/production/history/trunk/dev/release.html ant/site/ivyde/production/history/trunk/eclipsevar.html ant/site/ivyde/production/history/trunk/images/cleancache.jpg ant/site/ivyde/production/history/trunk/images/cp_configuration.jpg ant/site/ivyde/production/history/trunk/images/cp_resolve.jpg ant/site/ivyde/production/history/trunk/images/httpProject_pom.jpg ant/site/ivyde/production/history/trunk/images/ivy_file_def.jpg ant/site/ivyde/production/history/trunk/images/launch_manualconf.jpg ant/site/ivyde/production/history/trunk/images/launch_resolve.jpg ant/site/ivyde/production/history/trunk/images/maven2classpath1.jpg ant/site/ivyde/production/history/trunk/images/pref.jpg ant/site/ivyde/production/history/trunk/images/pref_classpath.jpg ant/site/ivyde/production/history/trunk/images/pref_settings.jpg ant/site/ivyde/production/history/trunk/images/pref_workspace.jpg ant/site/ivyde/production/history/trunk/images/project_specific_settings.jpg ant/site/ivyde/production/history/trunk/images/resolve_contextmenu.jpg ant/site/ivyde/production/history/trunk/images/retrieve.jpg ant/site/ivyde/production/history/trunk/images/workspace.jpg ant/site/ivyde/production/history/trunk/index.html ant/site/ivyde/production/history/trunk/install.html ant/site/ivyde/production/history/trunk/ivyeditor.html ant/site/ivyde/production/history/trunk/preferences.html ant/site/ivyde/production/history/trunk/release-notes.html ant/site/ivyde/production/history/trunk/revdepexplorer.html ant/site/ivyde/production/history/trunk/settingseditor.html ant/site/ivyde/production/history/trunk/style/style.css Modified: ant/site/ivyde/production/history/trunk/ant.html URL: http://svn.apache.org/viewvc/ant/site/ivyde/production/history/trunk/ant.html?rev=1240818&r1=1240817&r2=1240818&view=diff ============================================================================== --- ant/site/ivyde/production/history/trunk/ant.html (original) +++ ant/site/ivyde/production/history/trunk/ant.html Sun Feb 5 21:06:32 2012 @@ -68,7 +68,37 @@ @@ -78,8 +108,13 @@

Eclipse's Ant integration

-
Most Eclipse™ distributions include a plugin to launch Apache Ant build files. The provided Apache Ant distribution is a standard distribution of Ant that doesn't include Apache Ivy. You may wish to run Ivy targets against Eclipse's Ant distribution.

Configure Ant classpath

-For now, Apache IvyDE doesn't contribute to the Ant classpath of the Eclipse plugin, so you will have to do it manually.

In the global preference page of the Ant runtime, click on Add External JARs...

+
Most Eclipse™ distributions include a plugin to launch Apache Ant build files. The provided Apache Ant distribution is a standard distribution of Ant that doesn't include Apache Ivy. You may wish to run Ivy targets against Eclipse's Ant distribution.

Install the plugin

+ +Since IvyDE 2.2, a dedicated plugin can be install so that Ivy Ant tasks are automatically added to Ant's classpath. Go check the IvyDE updatesite and install the plugin named "Apache Ivy Ant Tasks"

+ +

Manual Configuration

+ +If you want to install your custom version of Ivy, you'll need to do it manually.

In the global preference page of the Ant runtime, click on Add External JARs...

Then browse your filesystem to the plugins directory of your Eclipse installation and select the Ivy jar named org.apache.ivy_2.X.X.XXXXXXXXX.jar. Now Ivy has been added to the classpath of the Ant distribution embedded in Eclipse.

Run Apache Ivy targets

@@ -117,7 +152,7 @@ The build will now be successful:
- Copyright © 2010 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
+ Copyright © 2012 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
Apache IvyDE, Apache Ivy, Apache Ant, IvyDE, Ivy, Ant, Apache, the Apache IvyDE logo, the Apache Ivy logo, the Apache Ant logo and the Apache feather logo are trademarks of The Apache Software Foundation.
Eclipse and the Eclipse logo are trademarks of Eclipse Foundation, Inc. All other marks mentioned may be trademarks or registered trademarks of their respective owners. Modified: ant/site/ivyde/production/history/trunk/book.html URL: http://svn.apache.org/viewvc/ant/site/ivyde/production/history/trunk/book.html?rev=1240818&r1=1240817&r2=1240818&view=diff ============================================================================== --- ant/site/ivyde/production/history/trunk/book.html (original) +++ ant/site/ivyde/production/history/trunk/book.html Sun Feb 5 21:06:32 2012 @@ -46,13 +46,14 @@
-
Documentation (trunk)

Apache IvyDE is the Eclipse plugin which integrates Apache Ivy's dependency management into Eclipse™. It lets you manage your dependencies declared in an ivy.xml in your Java Eclipse projects, or any other kind of project which needs dependency management.

A summary of the features it provides follows: +
Documentation (trunk)

Apache IvyDE Eclipse plugin integrates Apache Ivy's dependency management into Eclipse™. It lets you manage your dependencies declared in an ivy.xml in your Java Eclipse projects, or any other kind of project which needs dependency management.

A summary of the features it provides follows:
  • Managed classpath container: automatic downloads, access to the Ivy "resolve" task from your IDE, and a feature allowing you to develop interdependent multi-module applications in one workspace.
  • Ivy XML files editor: creation wizard, html preview and completion for Ivy XML tags, attributes, and attribute values.
  • Ivy settings files editor: completion for XML tags, attributes, and attribute values.
  • Ivy console: presents every log from Ivy to assist in debugging a failing resolve.
  • Reverse Dependency Explorer: helps you work with conflicting dependencies amongst several projects.
  • +
  • Resolve and retrieve for non Java project: use Ivy within Eclipse to manage files non necessarly Java-related
Apache IvyDE can be also used with other plugins like WTP and Apache Ant.


Release Notes

    @@ -66,7 +67,7 @@ Apache IvyDE can be also used with other

    Release Annoucement

    - +!! NOT RELEASED YET, THIS IS JUST A DRAFT !!

    The Apache IvyDE project is pleased to announce its 2.2.0 beta release.

    Apache IvyDE is the Eclipse plugin which integrates Apache Ivy's dependency management into Eclipse. It lets you manage your dependencies declared in an ivy.xml in your Java Eclipse projects, or any other kind of project which needs dependency management. Apache IvyDE will contribute to the classpath of your Java project or you can make it retrieve your dependencies directly into your project. Last but not least Apache IvyDE offer editors of ivy.xml and ivysettings.xml files with completion. Get some preview here: http://ant.apache.org/ivy/ivyde/screenshots.html

    Major changes in this release:
    * a synchronous resolve job has been introduced to take into account projet's inter dependencies and avoid too many workspace build,
    * resolved classpath can now be based on retrieved artifacts,
    * IvyDE retrieve feature can now be use on non Java projets

    Compatibility:
    * this release is expected to work with every version of Ivy 2.1 or superior
    * as for this release and the next ones, IvyDE now expects to be installed in Eclipse 3.4 or superior.

    This release is considered as beta since the important changes in IvyDE resolve feature. We encourage our early users to test it and report us any issue they found.

    A more detailed release notes can be read there:
    http://ant.apache.org/ivy/ivyde/history/latest-milestone/release-notes.html

    Issues should be reported to:
    https://issues.apache.org/jira/browse/IVYDE

    Download the 2.2.0 beta release at:
    http://ant.apache.org/ivy/ivyde/download.cgi

    Or use directly the Apache IvyDE's updatesite:
    http://www.apache.org/dist/ant/ivyde/updatesite

    More information can be found on the Apache IvyDE website:
    http://ant.apache.org/ivy/ivyde/

    What is Apache IvyDE?

    @@ -104,6 +105,11 @@ List of changes since IVYDE-159)
  1. NEW: Open the ivy file on the double click in the reverse dependency explorer
  2. NEW: The ivysettings field editor now supports the variable ${ivyproject_loc} which is referencing the current project being resolved (IVYDE-247)
  3. +
  4. NEW: Resolve error popups can now be avoided (IVYDE-268)
  5. +
  6. NEW: Add configuration option to use an extended revision id when resolving eclipse projects (IVYDE-235) (thanks to Jeffrey M. Metcalf)
  7. +
  8. NEW: Allow specifying source and javadoc mapping on binaries directly in the ivy.xml (IVYDE-267)
  9. +
  10. NEW: Ivy Resolve Visualizer (IVYDE-208)
  11. +
  12. NEW: "clean caches" operations have now a confirm popup (IVYDE-289)
    • IMPROVE: let IvyDE refresh workspace after a resolve (IVYDE-27) (thanks to Clint Burghduff)
    • IMPROVE: IvyDE now resolve by batch, then preventing too many workspace build (IVYDE-177)
    • @@ -114,15 +120,19 @@ List of changes since IVYDE-253)
    • FIX: Triggers are not called (IVYDE-244)
    • FIX: Missing ivysettings.xml can make the classpath container config to change (IVYDE-248)
    • +
    • FIX: Multiple eclipse projects with similar ivy library definitions results in launch config source path collisions (IVYDE-237)
    • +
    • FIX: NPE when starting the IvyPlugin (IVYDE-269)
    • +
    • FIX: IvyDE deletes entirely a project if the retrieve pattern resolved to be the root of the project (IVYDE-272)
    • +
    • FIX: java.lang.StackOverflowError on Ivy>Resolve of a pom.xml with a parent and the workspace resolver (IVYDE-273)
    Most of our changes are logged in our JIRA, where you can find comments and links to our subversion:
    https://issues.apache.org/jira/browse/ivyde


    License

    Compatibility

    Upgrading/Downgrading

    -This version is compatible with every earlier Apache release (since 2.0.0.alpha1). Any upgrade of Apache IvyDE should work without any worries.

    The reverse is not true, downgrading is not supported and may break your configuration

    Dependency on Apache Ivy

    +This version is compatible with every earlier Apache release (since 2.0.0.alpha1). Any upgrade of Apache IvyDE should work without any worries.

    The reverse is not true, downgrading is not supported and may break your configuration.

    Dependency on Apache Ivy

    Apache IvyDE expects to be used with a version 2.1 or superior of Apache Ivy.

    Eclipse™ integration

    -Apache IvyDE has been maintained to be compatible with Eclipse 3.4, 3.5 and 3.6.

    JVM compability

    +Apache IvyDE has been maintained to be compatible with Eclipse 3.4, 3.5, 3.6 and 3.7.

    JVM compability

    Apache IvyDE has been kept compatible with Java 1.4.


    Installation

    Install the last release via Internet

    @@ -151,7 +161,7 @@ Get the latest Apache Ivy feature and bu And then just copy them respectively in the $ECLIPSE_HOME/features and the $ECLIPSE_HOME/plugins folders.

    Restart Eclipse

    -After installing manually your plugins, you have to restart your Eclipse to have it take into account the changes. It is recommended to restart it with the -clean option on the command line.


    Classpath Container

    The IvyDE classpath container will help you manage the classpath of your Eclipse™ projects, based on the dependencies declared in Ivy files found in your projects.

    Some of the tasks that can be performed on the container include: +After installing manually your plugins, you have to restart your Eclipse to have it take into account the changes. It is recommended to restart it with the -clean option on the command line.


    Classpath Container

    The IvyDE classpath container will help you manage the classpath of your Java™ Eclipse™ projects, based on the dependencies declared in Ivy files found in your projects.

    Some of the tasks that can be performed on the container include:
    • Create a container
    • Edit its setup
    • @@ -181,7 +191,7 @@ Now your classpath is set and you can se You can also edit it via the build path configuration. Open the build path configuration dialog, select the "Libraries" panel and select the IvyDE classpath container. Then click on the "Edit" button: the IvyDE classpath container configuration dialog will pop up.
      This is particularly useful when Eclipse hides the empty classpath containers (since Eclipse 3.3). When the container is empty, this is the only way to trigger a resolve on this project.



      -
      Launching resolve

      You can explicitly ask for Ivy dependency resolution from your classpath container.

      This command will invoke the "resolve" Ivy task and update your classpath container.

      There is also a "refresh" action: this action is similar to the resolve one, but does not perform a full resolve if a report already exists in the cache. This is particularly useful if you work with Apache Ant and a command line so that you avoid two full resolves. It is also the default action performed on classpath containers when the Eclipse workspace is opened (Windows > Preferences > Ivy), in effect restoring the classpath container to its state prior to the last closing of the workspace if no other action is performed against the ivy.xml in the meantime.


      +
      Launching resolve

      You can explicitly ask for Ivy dependency resolution from your classpath container.

      This command will invoke the "resolve" Ivy task and update your classpath container.

      There is also a "refresh" action: this action is similar to the resolve one, but does not perform a full resolve if a report already exists in the cache. This is particularly useful if you work with Apache Ant and a command line so that you avoid two full resolves. It is also the default action performed on classpath containers when the Eclipse workspace is opened (Windows > Preferences > Ivy), in effect restoring the classpath container to its state prior to the last closing of the workspace if no other action is performed against the ivy.xml in the meantime.

      And there is a "reload settings " action: by default IvyDE does reload ivy settings files each time a resolve it required. But in case the ivy settings file is remote, this take make the user experience quite slow. To work around that, you can check in the preference page the option to only load on demand, and use the "reload settings" action in the context menu.


      You can also trigger a resolve (not a refresh!) of every IvyDE classpath container in the workspace via the button in the tool bar of Eclipse.


      @@ -194,25 +204,38 @@ And to launch a resolve on a specified s

      -
      Retrieve dependencies

      It is possible to make Apache IvyDE copy resolved dependencies into your project: a retrieve of the dependencies can be triggered on each resolve of the classpath container.

      To enable this behavior, enter the classpath container configuration panel, and select the second tab, "Retrieve".

      +
      Retrieve dependencies

      It is possible to make the classpath container be composed of a retrieved dependencies. Instead of having the container point to the jars in Ivy's cache, jars can be retrieved in the project with a specified pattern and have the container be composed of them.

      To enable this behavior, enter the classpath container configuration panel, select the third tab "Classpath" and select "retrieved artifacts".

      -The Retrieve pattern specifies the location where the dependencies should be copied relative to the containing project.

      The Delete old retrieved artifacts check box will cause IvyDE to clean the output directory before each retrieve. Note that any other artifacts other than those previously retrieved by IvyDE in this container will be deleted as well if this option is selected.

      Finally, you can select which Configurations should be resolved and you can select which Types of artifacts should actually be retrieved. In both fields, * means all.


      Jar mapping

      Apache IvyDE will resolve the dependencies and artifacts you are requiring. Then with the pool of resolved artifacts, it has to decide which is a binary jar, which contains sources, and whic h contains javadocs. And also how to bind one on each other.

      Finding jars types

      +The Retrieve pattern specifies the location where the dependencies should be copied relative to the containing project.

      The Delete old retrieved artifacts check box will cause IvyDE to clean the output directory before each retrieve. Note that any other artifacts other than those previously retrieved by IvyDE in this container will be deleted as well if this option is selected.

      Finally, you can select which Types of artifacts should actually be retrieved (* means all).


      Jar mapping

      Apache IvyDE will resolve the dependencies and artifacts you are requiring. Then with the pool of resolved artifacts, it has to decide which is a binary jar, which contains sources, and which contains javadocs. And also how to bind one on each other.

      Finding jars types

      -There are three types of jars handled by Eclipse™: +There are three types of jars handled by Eclipse":
      • the binary jars: they will be added to the classpath in oder to compile and run; they contain the .class files.
      • the source jars/zip: they will be bound to the binary one to browse dependency sources; they are basically a zip of .java files
      • -
      • the javadoc jars/zip: they will be bound to the binary one to browse the API documentation of the dependencies of your project; they are a zip of .html files respectin a layout produced by javadoc.
      • +
      • the javadoc jars/zip: they will be bound to the binary one to browse the API documentation of the dependencies of your project; they are a zip of .html files respectively in a layout produced by javadoc.
      To find the binary jars, Apache IvyDE is relying on the "Accepted types" preference field you can find in the container configuration panel, or in the global one. If the artifact has a type listed here, it is then added to the classpath.

      For the sources, it is relying on the "Sources types".

      For the javadocs, it is relying on the "Javadocs types".

      Binding the jars

      -The second step is to bind a source artifact with a binary one. Apache IvyDE has the folowing algorithm: +

      Alorithm

      + +The second step is to bind a source artifact with a binary one. IvyDE has the following algorithm:
        -
      • first if a binary jar has the same artifact name than a source one, there are bound together.
      • +
      • first, it looks up for a specified name in the ivy.xml via the "ivyde" namespace (see bellow)
      • +
      • next, if a binary jar has the same artifact name than a source one, there are bound together.
      • if none matched, then IvyDE search for sources which have one of the suffix specified in "Sources suffixes".
      +

      The IvyDE namespace

      + +In the ivy.xml file in your repository, you can specifically bind a binary artifact to a source one and to a javadoc one, so IvyDE knows for sure which bind to the other.

      In the artifact element, you can specify: +
        +
      • ivyde:source="my-source-artifact-name" which specify the artifact name of the source to bind to the current binary one
      • +
      • ivyde:javadoc="my-javadoc-artifact-name" which specify the artifact name of the javadoc to bind to the current binary one
      • +
      + +

      Exemples

      + For instance, searching for the sources of mylib.jar (type=jar), with the default value of "Sources suffixes" ("-source,-sources,-src"), IvyDE will look to bind it to the first one existing of:
      • mylib.jar (type=source)
      • @@ -221,23 +244,26 @@ For instance, searching for the sources
      • mylib-src.jar (type=source)
      -Note that Apache IvyDE don't care about the extension, it can be .zip too.

      Same apply for javadocs with respectively "Javadocs suffixes".
      Clean the caches

      Apache IvyDE has the ability to clean the various types of Ivy caches.

      On a configured IvyDE classpath container, open the context menu and select the Clean Ivy cache entry. A menu of configured caches will be shown.
      -
        -
      • All: will clean every cache
      • -
      • Resolution cache: will clean only the cache of the resolution report
      • -
      • Every repository cache: will clean every cache dedicated to the artifacts
      • -
      • Cache 'xxxxxx': will clean only the cache with the specified name
      • -
      +Note that Apache IvyDE don't care about the extension, it can be .zip too.

      Same apply for javadocs with respectively "Javadocs suffixes".


      -

      Reload settings

      In case you have selected the "Reload the settings only on demand" option in the preferences, you can manually reload the settings via the context menu on the classpath container.

      +With the IvyDE namespace, having the ivy.xml file: +
      +<ivy-module version="2.0" xmlns:ivyde="http://ant.apache.org/ivy/ivyde/ns/">
      <info organisation="com.acme" module="mylib" />
      <publications>
      <artifact name="mylib" type="jar" ext="jar" ivyde:source="the-sources-of-mylib" ivyde:javadoc="the-javadoc-of-mylib" />
      <artifact name="the-sources-of-mylib" type="source" ext="jar" />
      <artifact name="the-javadoc-of-mylib" type="javadoc" ext="jar" />
      </publications>
      </ivy-module> +
      -Notes: +Without furether setup in IvyDE preferences pages, IvyDE will bind:
        -
      • Reloading the settings will automatically launch a resolve
      • -
      • Reloading the settings in a project will not make other projects reload their settings even if they use the same settings file
      • +
      • the jar the-sources-of-mylib as sources of the jar mylib
      • +
      • the jar the-javadoc-of-mylib as javadoc of the jar mylib
      • +

      Clean the caches

      Apache IvyDE has the ability to clean the various types of Ivy caches.

      On a configured IvyDE classpath container, open the context menu: a list a different clean cache action are available.
      +
        +
      • Clean all caches: will clean every cache
      • +
      • Clean the resolution cache: will clean only the cache of the resolution reports
      • +
      • Clean every repository cache: will clean every cache dedicated to the artifacts
      • +
      • Clean the cache 'xxxxxx': will clean only the cache with the specified name
      -
      Resolve in workspace

      Some projects are composed of mulpliple modules. Often, these modules have dependencies between them, dependencies managed by Apache Ivy (of course!).

      Eclipse is capable of calculating the workspace's build order according to dependencies between projects. To leverage this advantage, Apache IvyDE has the ability to add a project reference to a dependency located in the workspace in place of downloading its published artifact(s) from the repository. In this way, developers can develop multi-module applications, and test the interaction between these modules, before building and publishing artifacts to the repository.

      Consider a multi-module application with a considerable amount of code in each of several projects. Many developers have experienced the delays involved in waiting for Eclipse™ to b uild code across all of these projects even though development is only being conducted in one isolated part of the application (maybe just one or two projects). If the latest published artifact in the Ivy repository has the same source code as a module that the developer is not currently working on, simply closing that project in the Eclipse workspace and resolving dependencies on dependent projects that would resolve that artifact speeds the compilation process considerably.

      First, each application module should be separate a project in Eclipse, and each of these projects should have a configured IvyDE classpath container.

      To enable resolution in the workspace, go to the advanced configuration panel of the classpath container and select Resolve dependencies in workspace.

      +

      Resolve in workspace

      Some projects are composed of mulpliple modules. Often, these modules have dependencies between them, dependencies managed by Apache Ivy (of course!).

      Eclipse is capable of calculating the workspace's build order according to dependencies between projects. To leverage this advantage, Apache IvyDE has the ability to add a project reference to a dependency located in the workspace in place of downloading its published artifact(s) from the repository. In this way, developers can develop multi-module applications, and test the interaction between these modules, before building and publishing artifacts to the repository.

      Consider a multi-module application with a considerable amount of code in each of several projects. Many developers have experienced th e delays involved in waiting for Eclipse™ to build code across all of these projects even though development is only being conducted in one isolated part of the application (maybe just one or two projects). If the latest published artifact in the Ivy repository has the same source code as a module that the developer is not currently working on, simply closing that project in the Eclipse workspace and resolving dependencies on dependent projects that would resolve that artifact speeds the compilation process considerably.

      First, each application module should be separate a project in Eclipse, and each of these projects should have a configured IvyDE classpath container.

      To enable resolution in the workspace, go to the "classpath" panel of the classpath container and select Resolve dependencies in workspace.

      Important notes: to make the resolve in workspace work correctly the info in the ivy.xml should be properly set:
        @@ -268,7 +294,9 @@ In some setup, if you want to mix some r
      • see the resolveMode attribute of module in the ivysettings.
      -
      Launch configuration

      The IvyDE classpath container can also be used in the launch configuration, run or debug.

      Default behavior

      +

      WTP support

      + +Note that WTP doesn't support IvyDE's workspace resolver. See the details in the page dedicated to WTP integration.


      Launch configuration

      The IvyDE classpath container can also be used in the launch configuration, run or debug.

      Default behavior

      By default, the container will be used because it is included in the default classpath of you project. This is the configuration that you implicitly have when you do a "Run As..." on a Java class. The container you see in the launch classpath is the same as the one you have in your project in the package explorer.

      @@ -321,21 +349,9 @@ Using the m2compatible attribute, you ca - On the pom.xml file, open the context menu and click on "Add Ivy Library...":

      - Select the configurations compile and runtime

      -
      - - - Go into the "Settings" tab, select "Enable project specific settings" and click on the "Workspace..." button

      - -
      - - - Choose the ivysettings.xml file in your project

      - -
      - - - click "Finish"

      -
      - - That's all! Your IvyDE classpath container resolves all dependencies including those that were transitive to the commons-httpclient module!

      + - click "Finish"

      - That's all! Your IvyDE classpath container resolves all dependencies including those that were transitive to the commons-httpclient module!


      WTP integration

      WTP refers to the Web Tools Platform project from the Eclipse Foundation which allows Eclipse™ users to easily develop, launch and debug web applications. Apache IvyDE works with WTP 2.0+ (Eclipse 3.3+).

      In the properties of your project configured to use WTP, there is a section titled "Java EE Module Dependencies". In this section you will find the IvyDE classpath container listed, usually with the name "ivy.xml [*]". Select it and dependencies found in the IvyDE classpath container will be deployed as well.

      @@ -351,7 +367,48 @@ Users of RAD 7.5.3 will notice that the
    • Load the modified .epf
    -
    Ivy file editor

    Apache IvyDE comes with an Ivy file editor that provides an editor that performs code completion for Ivy xml tags based on the real-time state of your repository. It also packs with an Ivy file creation wizard and HTML preview.

    Creation Wizard

    +

    Resolve in workspace

    + +WTP doesn't support classpath containers like IvyDE's or Maven's one which can link to a Java project in a workspace.

    A feature request has been opened in WTP's Bugzilla: see bug #184125.

    If you really want to link a Java project into the classpath of a WTP project, you should folow what is described in the comment #12 and the comment #17: +
      +
    • in your ivy.xml of your WTP project, exclude from your dependencies the java projects you want to link to (you can create a specific Ivy configuration for that, so it won't mess with the configurations used by an Ant build for instance)
    • +
    • make sure your Java project is a WTP "utility" project
    • +
    • make sure any IvyDE classpath container in the Java projects has been added to the deployment assembly
    • +
    • in your WTP project, add the IvyDE container which resolve the dependencies excluded your Java project dependencies
    • +
    • in your WTP project, add your Java project dependencies to the WTP project using existing deployment
      assembly facilities
    • +
    + +
    Non-Java dependencies


    Ivy is a generic dependency manager and can manipulate jars as well as any other kind of resources. IvyDE leverages this feature by bringing dependency management to non Java Eclipse projects.

    In this document we will document how to work with IvyDE and non Java dependencies with a concrete exemple: we will manage the dependencies between some javascript files and bring them into a Java webapp.

    Import the sample project into Eclipse

    + +The full project sample can be downloaded from there. Unzip it somewhere and import it into Eclipse (see "Existing Projects into Workspace" in the "Import" menu).

    The Eclipse project is already configured with an IvyDE classpath container so we can run the Java webapp. We will just have to add the retrieve of the javascript files.

    Configure the non-Java dependencies

    + +

    Configure the Ivy nature

    + +In order to manage dependencies with Ivy, it is required for the Eclipse project to have the "Ivy" nature.

    In the sample project, an Ivyde classpath container is already configured, so the Eclipse project already has the "Ivy" nature.

    In case your project doesn't has it, right click on the project and in the menu "Configure" select "Add Ivy dependency management".

    + +

    Add a retrieve setup

    + +Now that the project has the Ivy nature, a new entry should have appeared in the properties of your project. This is where non Java dependencies are managed.

    + +Now select "New..." to create a retrieve setup.

    + +

    Name

    +It gives a human readable name to the retrieve setup. This name will be used later in the context menu to actually launch a retreive of the dependencies.
    For the sample project, let's choose "javascripts".

    Ivy file

    +The ivy file which declares the dependencies to retrieve.
    For the sample project, we will use the same one has the one which is used for the Java dependencies (it is not required).

    Retrieve pattern

    +It defines where the dependencies should be retrieved.
    For the sample project we want them there: src/org/apache/ivyde/sample/webappjsrepo/js/[artifact]-[revision].[ext].

    Delete old retrieved artifacts

    +Before doing a retrieve, the location where the dependencies are dowloaded will be wiped out is this option is selected.

    Configurations

    +This is a comma separated list of configuration names which will be used for the resolve (* means All).
    For the sample project, we want it to be js.

    Types

    +This is a comma seperated list of type names which is be retrieved (* means All).
    For the sample project, we want them all: *.

    Now in the "Settings" tab, the setup entries are the same as the global ones. Click on "Enable project specific settings" to customize for your setup.

    + +For the sample project, we want to use the ivysettings in the java project: ${workspace_loc:ivyde-sample-webapp-js-repo/ivysettings.xml}.

    Finally, click OK to finish.

    Launch a retrieve

    + +Now that the retrieve is setup, a new entry should be available in the "Ivy" context menu. The menu entry should be "Retrieve 'xxx'" where "xxx" is the name you gave to the retrieve setup. For the sample project, it will be "Retrieve 'javascripts'".

    Select the entry to actually launch the retrieve. The Eclipse project get automatically refreshed with the retrieved files. For the sample project look into src/org/apache/ivyde/sample/webappjsrepo/js/jquery-1.7.1.min.js.

    + +

    Launch the sample webapp

    + +To see the result, we'll launch the Java webapp and look it it your browser locally.

    Right click the Java class org.apache.ivyde.sample.webappjsrepo.HTTPServer and select "Run As" / "Java Application".
    Now open the web page http://localhost:8888/index.html
    If working properly, the javascript files should have been properly loaded and the input field should have automatically been filled with a default value.

    + +
    Ivy file editor

    Apache IvyDE comes with an Ivy file editor that provides an editor that performs code completion for Ivy xml tags based on the real-time state of your repository. It also packs with an Ivy file creation wizard and HTML preview.

    Creation Wizard

    To use the creation wizard, choose File > New > Other > IvyDE > Ivy file in the Eclipse menu (Ctrl+N by default). Select it and click Next.

    @@ -401,67 +458,97 @@ Completion comes with contextual help. T Change colors: you can change the color used by the editor in the global preferences page.


    Eclipse global preferences

    Apache IvyDE maintains a global configuration, which controls the behaviour of every Ivy instance in every project in the workspace. This global configuration can be overrided in each project.

    The global configuration can be found in the preferences of Eclipse (menu Window > Preferences for Windows and Linux users, Eclipse > Preferences for mac users), and select the item Ivy.

    Global Ivy preferences

    -TODO: SCREENSHOT NOT UP TO DATE
    - -
      -
    • On Eclipse startup: Specifies what Apache IvyDE should do in every project containing an IvyDE managed classpath container when Eclipse™ is starting up.
    • -
    • On Ivy file change: Controls whether a resolve is performed each time Eclipse detects a change on an ivy.xml file configured by an IvyDE container via a save in the editor, a refresh, or a team/update.
    • -
    • Organisation: Your company name for Ivy editor completion.
    • -
    • Organisation URL: Your company web site url for Ivy editor completion.
    • -
    - -

    Classpath configuration

    +
    -TODO: SCREENSHOT NOT UP TO DATE
    - -
      -
    • Resolve dependencies in workpace: Apache IvyDE allows Ivy dependencies between projects in the workspace to be realized through project references rather than jars from the repository. See the documentation for further information on this feature.
    • -
    • Resolve before launch: an IvyDE container can be used in the classpath of a launch configuration, and the container can be resolved on each launch. See the documentation about launch configurations for further information on this feature.
    • -
    • Order of the classpath entries: By default, the classpath container entries are ordered by order of declaration in the ivy.xml. When there are many entries, it can be useful to have them ordered lexically for enhanced readability.
    • -
    • Accepted types: A comma separated list of extensions which will make IvyDE add the artifact to the classpath
    • -
    • Sources types: A comma separated list of Ivy "type" names which should be considered sources.
    • -
    • Sources suffixes: a comma separated list of suffixes which will make IvyDE attach as source the artifact with the suffix to the artifact without the suffix. For instance, "commons-lang-sources.jar" will be attached as source to "commons-lang.jar" with the default value.
    • -
    • Javadoc types: same as sources types but for javadocs
    • -
    • Javadoc suffixes: same as sources suffixes but for javadocs
    • -
    - -

    Retrieve setup

    - -TODO: SCREENSHOT NOT UP TO DATE
    - -
      - If checked, a retrieve job will be triggered after each the resolve.
      -
    • Retrieve pattern: The pattern to use for the retrieve. Check Ivy documentation for pattern explanation.
    • -
    • Delete old retrieve artifacts: On each retrieve, the previously retrieved libraries will be removed (similar to the sync argument in the Ant task).
    • -
    • Retrieve configurations: The configurations to retrieve (a comma separated list)
    • -
    • Retrieve types: The types of artifact to retrieve (a comma separated list)
    • -
    +

    Offline

    +

    If checked, it will force Ivy to never check resources via any network and trust its cache

    +

    On Eclipse startup:

    +

    Specifies what Apache IvyDE should do in every project containing an IvyDE managed classpath container when Eclipse™ is starting up.

    +

    On Ivy file change:

    +

    Controls whether a resolve is performed each time Eclipse detects a change on an ivy.xml file configured by an IvyDE container via a save in the editor, a refresh, or a team/update.

    +

    Organisation:

    +

    Your company name for Ivy editor completion.

    +

    Organisation URL:

    +

    Your company web site url for Ivy editor completion.

    +

    Open a popup on each failed resolve

    +

    On a resolve error, IvyDE mark an error on the ivy.xml of the project; if checked it will also open a popup with a detailed error message

    + +

    Advanced

    + +
    + +

    Resolve before launch:

    +

    An IvyDE container can be used in the classpath of a launch configuration, and the container can be resolved on each launch. See the documentation about launch configurations for further information on this feature.

    + +

    Use extended resolve id

    +

    A resolve id is an identifier which helps Ivy to make cache of results of resolve. By default IvyDE each the id which is composed of the organisation and the module name. An extended resolve id is also composed of the status, branch and revision. If you have troubles with the resolve of multiple versions of the same project within the same workspace, you should probably enable this option.

    + +

    Classpath container

    + +
    + +

    Resolve dependencies in workpace:

    +

    Apache IvyDE allows Ivy dependencies between projects in the workspace to be realized through project references rather than jars from the repository. See the documentation for further information on this feature.

    +

    Accepted types:

    +

    A comma separated list of extensions which will make IvyDE add the artifact to the classpath

    +

    Order of the classpath entries:

    +

    By default, the classpath container entries are ordered by order of declaration in the ivy.xml. When there are many entries, it can be useful to have them ordered lexically for enhanced readability.

    +

    Build the classpath with:

    +

    Either Ivy with build a classpath with references to the artifacts in its cache.

    +

    Or Ivy will retrieve the artifacts with the specified pattern, and then build a classpath with the retrieved jars.

    • Retrieve pattern: The pattern to use for the retrieve. Check Ivy documentation for pattern explanation.
    • +
    • Delete old retrieve artifacts: On each retrieve, the previously retrieved libraries will be removed (similar to the sync argument in the Ant task).
    • +
    • Types: The types of artifact to retrieve (a comma separated list)
    • +
    +

    Ivy settings

    -TODO: SCREENSHOT NOT UP TO DATE
    +
    -
      -
    • Reload the settings only on demand: By default, Apache IvyDE will parse the ivy settings file each times it is needed (each resolve, refresh, clean cache or completion in the ivy editor). For remote ivysettings this can slow the UI dramatically, so it is possible to make IvyDE keep the settings in a cache and only reload them via the context menu on the container).
    • -
    • Ivy settings path: The path to your ivy settings file. Leave it blank to use Ivy default resolvers. See also the documentation about Eclipse variables.
    • -
    • Property files: This is a comma separated list of Java properties files to be loaded along with the settings.
    • -
    +

    Reload the settings only on demand:

    +

    By default, Apache IvyDE will parse the ivy settings file each times it is needed (each resolve, refresh, clean cache or completion in the ivy editor). For remote ivysettings this can slow the UI dramatically, so it is possible to make IvyDE keep the settings in a cache and only reload them via the context menu on the container).

    +

    Ivy settings path:

    +

    The path to your ivy settings file. Leave it blank to use Ivy default resolvers. See also the documentation about Eclipse variables.

    +

    Property files:

    +

    This is a list of Java properties files to load before loading the ivysettings.xml. Specify in this files properties which you expect to use in the ivysettings.xml

    + +

    Source/Javadoc mapping

    + +
    + +

    Sources types:

    +

    A comma separated list of Ivy "type" names which should be considered sources.

    +

    Sources suffixes:

    +

    A comma separated list of suffixes which will make IvyDE attach as source the artifact with the suffix to the artifact without the suffix. For instance, "commons-lang-sources.jar" will be attached as source to "commons-lang.jar" with the default value.

    +

    Javadoc types:

    +

    same as sources types but for javadocs

    +

    Javadoc suffixes:

    +

    same as sources suffixes but for javadocs

    +

    Auto map jar artifacts with unique source artifact

    +

    If checked, in case there is only one artifact which is detected of type source, then IvyDE will consider this artifact the source of every jar of the module

    +

    Auto map jar artifacts with unique javadoc artifact

    +

    Same as above but with javadoc

    + +

    For further information on how the mapping works, checkout this specific documentation.

    Workspace resolver

    -TODO: SCREENSHOT NOT UP TO DATE
    +
    -
      -
    • Closing trigger resolve: Closing a project which has the workspace resolver enabled will trigger a resolve on every project that depends on it.
    • -
    • Opening trigger resolve: When a project is opened, IvyDE will trigger the resolve of every other project which has the workspace resolver enabled.
    • -
    • Ignore version when resolving workspace projects: This option forces the workspace resolver to ignore the version of a module specified in an ivy.xml if a project containing an Ivy file with that module organization and name is found in the workspace, instead substituting a project reference. This may have unintended consequences.
    • -
    +

    Closing trigger resolve:

    +

    Closing a project which has the workspace resolver enabled will trigger a resolve on every project that depends on it.

    +

    Opening trigger resolve:

    +

    When a project is opened, IvyDE will trigger the resolve of every other project which has the workspace resolver enabled.

    +

    Ignore version when resolving workspace projects:

    +

    This option forces the workspace resolver to ignore the version of a module specified in an ivy.xml if a project containing an Ivy file with that module organization and name is found in the workspace, instead substituting a project reference. This may have unintended consequences.

    + +

    For further information on how the workspace resolver works, checkout this specific documentation.

    XML Editor

    -TODO: SCREENSHOT
    +This configuration panel allow you to change the color used in the Ivy file editor and the Ivy settings editor.

    -This configuration panel allow you to change the color used in the Ivy file editor and the Ivy settings editor.

    Eclipse variables

    Eclipse contains a string substitution mecanism. This feature allows you to specify a path location that can be shared between developers.

    Apache IvyDE uses it to find the ivysettings.xml and properties files in both the glogal preference page and the project specific preference page.

    Using the "Workspace..." button will open a window to choose a file in the workspace. Apache IvyDE will auto matically fill the field with the proper variable.

    +
    Eclipse variables

    Eclipse contains a string substitution mecanism. This feature allows you to specify a path location that can be shared between developers.

    Apache IvyDE uses it to find the ivysettings.xml and properties files in both the glogal preference page and the project specific preference page.

    Using the "Workspace..." button will open a window to choose a file in the workspace. Apache IvyDE will automatically fill the field with the proper variable.

    Using the "File System..." button will allow you to choose a file in the file system. This path will not be portable.

    Finally, you can choose to depend on the Eclipse variable system by clicking on "Variable...".

    @@ -484,8 +571,13 @@ The colors in the console correspond to To change the level of logging in the console, use the button in the view:


    -
    Eclipse's Ant integration

    Most Eclipse™ distributions include a plugin to launch Apache Ant build files. The provided Apache Ant distribution is a standard distribution of Ant that doesn't include Apache Ivy. You may wish to run Ivy targets against Eclipse's Ant distribution.

    Configure Ant classpath

    -For now, Apache IvyDE doesn't contribute to the Ant classpath of the Eclipse plugin, so you will have to do it manually.

    In the global preference page of the Ant runtime, click on Add External JARs...

    +
    Eclipse's Ant integration

    Most Eclipse™ distributions include a plugin to launch Apache Ant build files. The provided Apache Ant distribution is a standard distribution of Ant that doesn't include Apache Ivy. You may wish to run Ivy targets against Eclipse's Ant distribution.

    Install the plugin

    + +Since IvyDE 2.2, a dedicated plugin can be install so that Ivy Ant tasks are automatically added to Ant's classpath. Go check the IvyDE updatesite and install the plugin named "Apache Ivy Ant Tasks"

    + +

    Manual Configuration

    + +If you want to install your custom version of Ivy, you'll need to do it manually.

    In the global preference page of the Ant runtime, click on Add External JARs...

    Then browse your filesystem to the plugins directory of your Eclipse installation and select the Ivy jar named org.apache.ivy_2.X.X.XXXXXXXXX.jar. Now Ivy has been added to the classpath of the Ant distribution embedded in Eclipse.

    Run Apache Ivy targets

    @@ -508,7 +600,15 @@ Organization/module pairs that have conf To synchronize revisions, click in the column and row of the item you want to change and type in the new revision. The item should be highlighted green to indicate that it is tagged for synchronization. Click the synchronize button as shown to save your changes.


    -
    Developer doc

    Adding new features or fixing bugs needs community involvement.
    Here you will find the basics for how to get involved: +
    Resolve Visualizer


    The resolve vizulizer show the graph of the dependencies of a project.

    Open the view

    + +To open it, you should open the corresponding view: in the "Window" menu, open the "Show View" submenu and select "Other..."; the view "Ivy Resolve Visualizer" should be found in the "IvyDE" category.

    + +

    Show a project dependencies

    + +Once the view is open, click on the button to select a container and see the result:

    + +
    Developer doc

    Adding new features or fixing bugs needs community involvement.
    Here you will find the basics for how to get involved: