<!-- | |
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> | |
<id>executable-plugin</id> | |
<name>ExecutablePlugin</name> | |
<description>A configuration file for compilers.</description> | |
<defaults> | |
<default> | |
<key>package</key> | |
<value>npanday.model.compiler.plugins</value> | |
</default> | |
</defaults> | |
<classes> | |
<class rootElement="true"> | |
<name>ExecutablePluginsModel</name> | |
<fields> | |
<field> | |
<name>executablePlugins</name> | |
<description>Plugin configurations.</description> | |
<association> | |
<type>ExecutablePlugin</type> | |
<multiplicity>*</multiplicity> | |
</association> | |
</field> | |
</fields> | |
</class> | |
<class xml.tagName="executablePlugin"> | |
<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 compiler. NPanday will pass an instance of this class to the | |
requesting plugin. | |
</description> | |
</field> | |
<field> | |
<name>vendor</name> | |
<version>1.0.0</version> | |
<type>String</type> | |
<description>Vendor of the compiler: MICROSOFT, MONO, DotGNU</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> | |
<description>Executable, as run from the command line.</description> | |
</field> | |
<field> | |
<name>frameworkVersions</name> | |
<description>Supported framework version(s) of the compiler: 1.1.4322, 2.0.50727, 3.0</description> | |
<association> | |
<type>String</type> | |
<multiplicity>*</multiplicity> | |
</association> | |
</field> | |
<field> | |
<name>platforms</name> | |
<version>1.0.0</version> | |
<description>Platform configuration capabilities.</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 (Currently | |
unused) | |
</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 compiler is capable of running on.</description> | |
</field> | |
<field> | |
<name>architecture</name> | |
<version>1.0.0</version> | |
<type>String</type> | |
<description>The architecture that the compiler is capable of running on (Currently | |
unused).</description> | |
</field> | |
</fields> | |
</class> | |
</classes> | |
</model> |