| //// |
| 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. |