| <!-- |
| ~ 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/executables/1.5.0"> |
| <id>executable-plugin</id> |
| <name>ExecutablePlugin</name> |
| <description> |
| A configuration file for defining how npanday should locate exectuables |
| to be run in the context of a plugin. |
| </description> |
| <defaults> |
| <default> |
| <key>package</key> |
| <value>npanday.model.executable.plugins</value> |
| </default> |
| </defaults> |
| <versionDefinition> |
| <type>namespace</type> |
| </versionDefinition> |
| <classes> |
| <class rootElement="true" xml.tagName="executablePlugins" xsd.compositor="sequence"> |
| <name>ExecutablePluginsModel</name> |
| <fields> |
| <field> |
| <name>executablePlugins</name> |
| <description>Plugin configurations.</description> |
| <association xml.itemsStyle="flat"> |
| <type>ExecutablePlugin</type> |
| <multiplicity>*</multiplicity> |
| </association> |
| </field> |
| </fields> |
| </class> |
| <class> |
| <name>ExecutablePlugin</name> |
| <fields> |
| <field> |
| <name>identifier</name> |
| <version>1.0.0+</version> |
| <type>String</type> |
| <description> |
| The platform-independent identifier for the executable as it will be |
| requested through the npanday.executable.ExecutableRequirement. |
| </description> |
| </field> |
| <field> |
| <name>pluginClass</name> |
| <version>1.0.0+</version> |
| <type>String</type> |
| <description> |
| Class name of the executable implementation. Must implement npanday.executable.NetExecutable. |
| </description> |
| </field> |
| <field> |
| <name>pluginConfiguration</name> |
| <description> |
| Configuration properties, that will be passed along to npanday.executable.NetExecutable#init() |
| </description> |
| <version>1.5.0+</version> |
| <type>Properties</type> |
| <association xml.mapStyle="inline"> |
| <type>String</type> |
| <multiplicity>*</multiplicity> |
| </association> |
| </field> |
| <field> |
| <name>vendor</name> |
| <version>1.0.0+</version> |
| <type>String</type> |
| <description>Vendor this executable is provided by or compatible with. For example MICROSOFT, MONO, DotGNU</description> |
| </field> |
| <field> |
| <name>vendorVersion</name> |
| <!-- since NPanday 1.5.0 --> |
| <version>1.5.0+</version> |
| <type>String</type> |
| <description>The vendor version the executable is provided by or compatible with.</description> |
| </field> |
| <field> |
| <name>profile</name> |
| <version>1.0.0+</version> |
| <type>String</type> |
| <required>true</required> |
| <description>Profile for the plugin.</description> |
| </field> |
| <field> |
| <name>executable</name> |
| <version>1.0.0+</version> |
| <type>String</type> |
| <required>true</required> |
| <description>Executable name without extension, as run from the command line.</description> |
| </field> |
| <field> |
| <name>executableVersion</name> |
| <version>1.5.0+</version> |
| <type>String</type> |
| <description> |
| The version of the executable, since multiple could be found on different paths (specified in 'probingPaths'). |
| Applicable, if executable is NOT provided by the .NET vendor (as specified in 'vendor'). |
| </description> |
| <required>false</required> |
| </field> |
| <field> |
| <name>probingPaths</name> |
| <version>1.5.0+</version> |
| <description> |
| The paths this executable is likely to be found on. You can use expressions |
| referring to the pom or registry here. $(project.build.directory) would expect the executable |
| in the target directory, and $(HKLM/Software/MyComp/MySoftware@InstallDir) would look up a path in the |
| windows registry. |
| </description> |
| <association> |
| <type>String</type> |
| <multiplicity>*</multiplicity> |
| </association> |
| </field> |
| <field> |
| <name>frameworkVersions</name> |
| <description>Supported framework version(s): 1.1.4322, 2.0.50727, 3.0, ..</description> |
| <version>1.0.0+</version> |
| <association> |
| <type>String</type> |
| <multiplicity>*</multiplicity> |
| </association> |
| </field> |
| <field> |
| <name>platforms</name> |
| <version>1.0.0+</version> |
| <description>The platform this executable is compatible with.</description> |
| <association> |
| <type>Platform</type> |
| <multiplicity>*</multiplicity> |
| </association> |
| </field> |
| <field> |
| <name>commandFilter</name> |
| <version>1.0.0+</version> |
| <description>A filter for including/excluding user-passed commands options.</description> |
| <association> |
| <type>CommandFilter</type> |
| </association> |
| </field> |
| </fields> |
| </class> |
| |
| <class> |
| <name>CommandFilter</name> |
| <fields> |
| <field> |
| <name>excludes</name> |
| <version>1.0.0+</version> |
| <description> |
| The command options to exclude from the user specified pass-through parameters. |
| </description> |
| <association> |
| <type>String</type> |
| <multiplicity>*</multiplicity> |
| </association> |
| </field> |
| <field> |
| <name>includes</name> |
| <version>1.0.0+</version> |
| <description> |
| The command options to allow from the user specified pass-through parameters. |
| </description> |
| <association> |
| <type>String</type> |
| <multiplicity>*</multiplicity> |
| </association> |
| </field> |
| </fields> |
| </class> |
| |
| <class> |
| <name>Platform</name> |
| <fields> |
| <field> |
| <name>operatingSystem</name> |
| <version>1.0.0+</version> |
| <type>String</type> |
| <description>The operating system that the executable is compatible with.</description> |
| </field> |
| <field> |
| <name>architecture</name> |
| <version>1.0.0+</version> |
| <type>String</type> |
| <description>The architecture that the executable is compatible with.</description> |
| </field> |
| </fields> |
| </class> |
| </classes> |
| </model> |