| <!-- |
| 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.apacha.org/executable/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>An id for the compiler. It should be (but is not required to be) unique.</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>vendor</name> |
| <version>1.0.0+</version> |
| <type>String</type> |
| <description>Vendor this executable is provided by or compatible with: 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> |
| <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>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/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> |