mirror of https://github.com/apache/ant-ivy
93 lines
5.3 KiB
HTML
93 lines
5.3 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>
|
|
<script type="text/javascript">var xookiConfig = {level: 1};</script>
|
|
<script type="text/javascript" src="../xooki/xooki.js"></script>
|
|
</head>
|
|
<body>
|
|
<textarea id="xooki-source">
|
|
<table class="resolver">
|
|
<tr><td class="title">Tag</td><td class="value">filesystem</td></tr>
|
|
<tr><td class="title">Handle latest</td><td class="value">yes</td></tr>
|
|
<tr><td class="title">Handle publish</td><td class="value">yes</td></tr>
|
|
</table><br/>
|
|
|
|
<span class="tagdoc" id="ivysettings.resolvers.filesystem">This resolver uses the file system to resolve ivy files and artifacts.</span> An advantage of this resolver is that it usually provides very good performance. Moreover, it is easy to setup using basic OS file sharing mechanisms.
|
|
|
|
The configuration of such a resolver is mainly done through ivy and artifact patterns, indicating where ivy files and artifacts can be found in the file system. These patterns must be absolute paths (<span class="since">since 2.0</span>). You can indicate a list of patterns which will be checked one after the other.
|
|
|
|
<span class="since">since 1.3</span> Using the m2compatible attribute, this resolver will convert dots found in organisation into slashes like maven2 does for groupId. For instance, it will transform the organisation from 'com.company' into 'com/company' when replacing the token [organisation] in your pattern.
|
|
<strong>Limitation</strong>: in m2compatible mode, this resolver is not able list available organizations. It means some features like [[ant:repreport]] are not available.
|
|
|
|
<h2>Atomic publish support</h2>
|
|
<span class="since">since 2.0</span> This resolver supports atomic publish, which is useful for environments with a lot of concurrent publish and resolve actions. The atomic publish relies on the atomicity of the rename operation in the underlying filesystem (which includes NTFS and POSIX based filesystems).
|
|
In this case the resolver starts by publishing the module according to the pattern, but where a '.part' suffix is appended to the revision. Then the publish is committed with a rename to the final location.
|
|
|
|
<b>Limitations</b>
|
|
Atomic publish is currently limited in several ways:
|
|
<ul>
|
|
<li>you need to use a pattern for both the artifact and the ivy files which uses the revision as a directory. For instance "${repository.dir}/[module]/[revision]/[artifact].[ext]" works, "${repository.dir}/[module]/[artifact]-[revision].[ext]" doesn't</li>
|
|
<li>both the artifact and ivy pattern should have the same prefix until the [revision] token.</li>
|
|
<li>overwrite during publish is not supported</li>
|
|
<li>you should not use revision names ending with '.part'</li>
|
|
</ul>
|
|
|
|
The <b>transactional</b> attribute can be used to configure the atomicity behavior:
|
|
<ul>
|
|
<li>auto</li> use transaction if possible (according to limitation), otherwise don't
|
|
<li>true</li> always use transaction, fail the build if a limitation is not fulfilled
|
|
<li>false</li> don't use transaction at all
|
|
</ul>
|
|
|
|
|
|
<h1>Attributes</h1>
|
|
This resolver shares the <a href="../settings/resolvers.html#common">common attributes</a> of standard resolvers.
|
|
<table class="ivy-attributes">
|
|
<thead>
|
|
<tr><th class="ivy-att">Attribute</th><th class="ivy-att-desc">Description</th><th class="ivy-att-req">Required</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr><td>m2compatible</td><td>True if this resolver should be maven2 compatible, false otherwise <span class="since">since 1.3</span></td>
|
|
<td>No, defaults to false</td></tr>
|
|
<tr><td>local</td><td>True if this resolver should be considered local, false otherwise <span class="since">since 1.4</span>. See useOrigin attribute on the [[settings/caches]] element for details.</td>
|
|
<td>No, defaults to true</td></tr>
|
|
<tr><td>transactional</td><td>true to force the use of transaction, false to prevent the use of transaction, auto to get transaction when possible <span class="since">since 2.0</span>. See above for details.</td>
|
|
<td>No, defaults to auto</td></tr>
|
|
</tbody>
|
|
</table>
|
|
<h1>Child elements</h1>
|
|
<table class="ivy-children">
|
|
<thead>
|
|
<tr><th class="ivy-chld">Element</th><th class="ivy-chld-desc">Description</th><th class="ivy-chld-card">Cardinality</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr><td>ivy</td><td>defines a pattern for ivy files, using the pattern attribute</td>
|
|
<td>0..n</td></tr>
|
|
<tr><td>artifact</td><td>defines a pattern for artifacts, using the pattern attribute</td>
|
|
<td>1..n</td></tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
</textarea>
|
|
<script type="text/javascript">xooki.postProcess();</script>
|
|
</body>
|
|
</html>
|