blob: b20172f70b3c7eaf70cbc72380e1553b7d74e1c6 [file] [log] [blame]
<!--
~ 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.
-->
<model xmlns="http://modello.codehaus.org/MODELLO/1.4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://modello.codehaus.org/MODELLO/1.4.0 http://modello.codehaus.org/xsd/modello-1.4.0.xsd"
xml.namespace="http://npanday.apache.org/library-import/1.0.0">
<id>library-imports</id>
<name>LibraryImports</name>
<description></description>
<defaults>
<default>
<key>package</key>
<value>npanday.model.library.imports</value>
</default>
</defaults>
<versionDefinition>
<type>namespace</type>
</versionDefinition>
<classes>
<class rootElement="true" xml.tagName="libs" xsd.compositor="sequence">
<name>LibraryImports</name>
<fields>
<field>
<name>nugetSources</name>
<association>
<type>NugetSources</type>
<multiplicity>1</multiplicity>
</association>
</field>
<field>
<name>nugetImports</name>
<association xml.itemsStyle="flat" xml.tagName="nuget">
<type>NugetImport</type>
<multiplicity>*</multiplicity>
</association>
</field>
</fields>
</class>
<class>
<name>NugetSources</name>
<fields>
<field xml.attribute="true" xml.tagName="addNugetGallery">
<name>addNugetGallery</name>
<type>boolean</type>
</field>
<field>
<name>customSources</name>
<association xml.itemsStyle="flat" xml.tagName="custom">
<type>String</type>
<multiplicity>*</multiplicity>
</association>
</field>
</fields>
</class>
<class>
<name>NugetImport</name>
<fields>
<field xml.tagName="package">
<name>packageName</name>
<type>String</type>
</field>
<field>
<name>versions</name>
<association xml.itemsStyle="flat" xml.tagName="version">
<type>ImportVersion</type>
<multiplicity>n</multiplicity>
</association>
</field>
<field xml.tagName="libDirs">
<name>libraryDirectories</name>
<association>
<type>LibraryDirectories</type>
<multiplicity>1</multiplicity>
</association>
</field>
<field>
<name>referenceMappings</name>
<association xml.itemsStyle="flat" xml.tagName="mapReference">
<type>ReferenceMapping</type>
<multiplicity>*</multiplicity>
</association>
</field>
</fields>
</class>
<class>
<name>ImportVersion</name>
<fields>
<field xml.attribute="true">
<name>source</name>
<type>String</type>
</field>
<field xml.attribute="true" xml.tagName="mapTo">
<name>maven</name>
<type>String</type>
</field>
</fields>
</class>
<class>
<name>LibraryDirectories</name>
<fields>
<field xml.tagName="default">
<name>defaultDirectory</name>
<type>String</type>
</field>
<!-- TODO: support importing multiple library folders by adding classifiers to the version -->
</fields>
</class>
<class>
<name>ReferenceMapping</name>
<fields>
<field xml.attribute="true" xml.tagName="name">
<name>name</name>
<type>String</type>
</field>
<field xml.attribute="true" xml.tagName="ignore">
<name>ignore</name>
<type>boolean</type>
</field>
<!-- TODO: add 'namePattern' for regex matching -->
<field xml.tagName="toPackage">
<name>mapToPackage</name>
<association>
<type>ReferenceToPackageMapping</type>
<multiplicity>1</multiplicity>
</association>
</field>
<!-- TODO: allow for specify mapping to different artifact -->
</fields>
</class>
<class>
<name>ReferenceToPackageMapping</name>
<fields>
<field xml.attribute="true">
<name>id</name>
<type>String</type>
</field>
<field xml.attribute="true">
<name>version</name>
<type>String</type>
</field>
</fields>
</class>
</classes>
</model>