| <!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> |