- Home
- Download
- Documentation (2.0.0-beta1)
- History
- Trunk
- 2.x
- 2.0.x
- 2.0.0-beta1
- 2.0.0-alpha2
- 2.0.0-alpha-1
- 2.0.x
- 1.x
- 0.x
- Get Involved
- Search
Extending Ivy
Many things are configurable in ivy, and many things are available with ivy core. But when you want to do
something not built in ivy core, you can still plug your own code.
Several things are pluggable in ivy:
- module descriptor parsers
- dependency resolvers
- latest strategies
- conflict managers
- report outputters
- version matchers
- triggers
addressed by existing features, or by contributed ones. Do not hesitate to ask for help on the Mailing lists.
If you still don't find what you need, then you'll have to develop your own plugin or find someone who could do that for you.
Here are the main things to know if you want to develop your own plugins...
All ivy plug-ins use the same code patterns as ant specific tasks for parameters. This means that
if you want to have a "myattribute" of type String, you just have to declare a method called
setMyattribute(String val) on your plug-in. The same applies to child tags, you just have to follow ant specifications.
Knowing that, you then have to implement the appropriate interface:
- org.apache.ivy.DependencyResolver for dependency resolvers
- org.apache.ivy.LatestStrategy for latest strategies
- org.apache.ivy.ConflictManager for conflict managers
- org.apache.ivy.parser.ModuleDescriptorParser for module descriptor parsers