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:
If you still don't find what you need, there are two solutions:
- prepare yourself to enter in ivy internals
- contact us to ask for specific development or advice. As ivy creators, we will always spend less time to implement your features or help you make good developement environment a reality. So do not hesitate to contact us and ask for a pricing.
And what if you still want to develop your own plugins ? Here are the main things to know...
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:
Several things are pluggable in ivy:
- module descriptor parsers
- dependency resolvers
- latest strategies
- conflict managers
- report outputters
- version matchers
- triggers
If you still don't find what you need, there are two solutions:
- prepare yourself to enter in ivy internals
- contact us to ask for specific development or advice. As ivy creators, we will always spend less time to implement your features or help you make good developement environment a reality. So do not hesitate to contact us and ask for a pricing.
And what if you still want to develop your own plugins ? Here are the main things to know...
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:
- fr.jayasoft.ivy.DependencyResolver for dependency resolvers
- fr.jayasoft.ivy.LatestStrategy for latest strategies
- fr.jayasoft.ivy.ConflictManager for conflict managers
- fr.jayasoft.ivy.parser.ModuleDescriptorParser for module descriptor parsers