mirror of https://github.com/apache/ant-ivy
67 lines
2.9 KiB
HTML
67 lines
2.9 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
|
<!--
|
|
Licensed to the Apache Software Foundation (ASF) under one
|
|
or more contributor license agreements. See the NOTICE file
|
|
distributed with this work for additional information
|
|
regarding copyright ownership. The ASF licenses this file
|
|
to you under the Apache License, Version 2.0 (the
|
|
"License"); you may not use this file except in compliance
|
|
with the License. You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing,
|
|
software distributed under the License is distributed on an
|
|
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
KIND, either express or implied. See the License for the
|
|
specific language governing permissions and limitations
|
|
under the License.
|
|
-->
|
|
<html>
|
|
<head>
|
|
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
|
|
<script type="text/javascript">var xookiConfig = {level: 0};</script>
|
|
<script type="text/javascript" src="xooki/xooki.js"></script>
|
|
</head>
|
|
<body>
|
|
<textarea id="xooki-source">
|
|
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.<br/><br/>
|
|
|
|
Several things are pluggable in ivy:
|
|
<ul>
|
|
<li>module descriptor parsers</li>
|
|
<li>dependency resolvers</li>
|
|
<li>latest strategies</li>
|
|
<li>conflict managers</li>
|
|
<li>report outputters</li>
|
|
<li>version matchers</li>
|
|
<li>triggers</li>
|
|
</ul>
|
|
|
|
Before trying to implement your own, we encourage you to check if the solution to your problem cannot be
|
|
addressed by existing features, or by <a href="../links.html">contributed ones</a>. Do not hesitate to ask for help on the [[mailing-lists]].<br/><br/>
|
|
|
|
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.<br/><br/>
|
|
|
|
Here are the main things to know if you want to develop your own plugins...<br/><br/>
|
|
|
|
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.<br/><br/>
|
|
|
|
Knowing that, you then have to implement the appropriate interface:
|
|
<ul>
|
|
<li>org.apache.ivy.DependencyResolver for dependency resolvers</li>
|
|
<li>org.apache.ivy.LatestStrategy for latest strategies</li>
|
|
<li>org.apache.ivy.ConflictManager for conflict managers</li>
|
|
<li>org.apache.ivy.parser.ModuleDescriptorParser for module descriptor parsers</li>
|
|
</ul>
|
|
|
|
To help you understand what is required in each implementation, and what you can use to do it, have a look to existing implementations, it's the best advice we can give you!
|
|
|
|
</textarea>
|
|
<script type="text/javascript">xooki.postProcess();</script>
|
|
</body>
|
|
</html>
|