mirror of https://github.com/apache/ant-ivy
71 lines
2.6 KiB
Plaintext
71 lines
2.6 KiB
Plaintext
////
|
|
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
|
|
|
|
https://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.
|
|
////
|
|
|
|
*Tag:* include *Parent:* link:../ivyfile/configurations{outfilesuffix}[configurations]
|
|
|
|
[*__since 1.3__*]
|
|
|
|
Include configurations specified in another file.
|
|
|
|
The included file should have a `configurations` tag as root tag, which follow the same specification as the link:../ivyfile/configurations{outfilesuffix}[configurations] tag of the Ivy file.
|
|
|
|
This means that it can contain conf declarations, other file inclusions, and have link:configurations{outfilesuffix}#attributes[attributes] controlling conf mapping.
|
|
|
|
When delivering an Ivy file with such an inclusion, the included descriptor file is inlined, i.e. Ivy removes the dependency on the external file.
|
|
|
|
[*__since 2.5__*] Attributes inherited through included file are set on `dependencies` element due to the way module descriptor updater works currently.
|
|
|
|
== Attributes
|
|
|
|
[options="header",cols="15%,50%,35%"]
|
|
|=======
|
|
|Attribute|Description|Required
|
|
|file|the file to include|Yes
|
|
|=======
|
|
|
|
== Examples
|
|
|
|
[source,xml]
|
|
----
|
|
<ivy-module version="1.0">
|
|
<info organisation="myorg"
|
|
module="mymodule"/>
|
|
<configurations>
|
|
<include file="path/to/included-configurations.xml"/>
|
|
<conf name="conf3"/>
|
|
</configurations>
|
|
<dependencies>
|
|
<dependency name="mymodule1" rev="1.0"/>
|
|
<dependency name="mymodule2" rev="2.0" conf="conf2,conf3->*"/>
|
|
</dependencies>
|
|
</ivy-module>
|
|
----
|
|
|
|
with `included-configurations.xml` like this:
|
|
|
|
[source,xml]
|
|
----
|
|
<configurations defaultconfmapping="*->@">
|
|
<conf name="conf1" visibility="public"/>
|
|
<conf name="conf2" visibility="private"/>
|
|
</configurations>
|
|
----
|
|
|
|
Defines 3 configurations, `conf1`, `conf2` and `conf3`. `mymodule1` is required in each configuration, with for each the same configuration (`conf1` is needed in `conf1`, `conf2` in `conf2`, and `conf3` in `conf3`) due to the `defaultconfmapping` defined in the included file.
|