Plugins (1085)


Training and Consulting (46)



EPIC Poll

What is your favourite developer portal?

[ Results | Polls ]

Votes: 585
Comments: 0


Category: Plugin Directory / Code Management / Savant Dependencies

Savant Dependencies 
Rate this plugin | Report broken link | Details
| hits: 0
Savant Dependencies

Version: 1.0.1
Support Eclipse Version: 3.x
License: Free EPL
Development Status: Production/Stable
Company: James Norton
Plugin home pageHome Page
Plugin SupportPlugin Support
Discussion ForumsDiscussion Forum

The Savant Dependency plugin eliminates 'Dependency Hell' by adding support for external (remote) build dependencies to Eclipse. The plugin adds the capabilities of the Savant system to Eclipse, allowing dependency artifacts, e.g., external jar files, to be maintained externally to any single project.

Almost every non-trivial project relies on external dependencies. Typically these are jar files contributed by other projects or third party developers. They may also be other types of dependencies such as configuration files and resource bundles.

Typically developers cope with these dependencies by placing them in a project directory named 'lib' or something similar. While this may be good enough for small projects with few dependencies, it very quickly bogs down as a project's dependency list grows. Add in the fact that external dependencies may in turn have their own dependencies that must be included and the number of files in the 'lib' directory can grow unwieldy quite quickly.

In addition to this, storing dependencies within a project directory requires them to be stored along with the project when using version control. And this approach does not allow for reuse between projects. It quickly reaches a state known as "Dependency Hell", in which developers spend a disproportionate amount of time coping with dependencies.

One solution to these problems is to keep all of these dependencies in a central directory, accessible to any project that needs them. The projects must have access to the file system containing this central directory, so this approach does not work well with distributed development. Also, this approach does nothing to obviate the problems associated with nested dependencies (dependencies of dependencies).

Savant solves these problems by using a central (possibly remote) repository to store dependencies. Additionally, a resource's nested depencies can be declared in a simple xml file stored with the resource. Thus, a project that depends on a single high level resource need only declare that single dependency - Savant will automatically handle any sub dependencies.

Savant provides access to this functionality through a set of Ant tasks and an API. This plugin accesses this API to provide this functionality to Eclipse.
Added on: 30-May-2005




Last 0 Comments