| <!-- |
| ~ 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"> |
| <id>compiler-plugin</id> |
| <name>CompilerPlugin</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" xml.tagName="compilerPlugins"> |
| <name>CompilerPluginsModel</name> |
| <fields> |
| <field> |
| <name>compilerPlugins</name> |
| <description>Plugin configurations.</description> |
| <association xml.itemsStyle="flat"> |
| <type>CompilerPlugin</type> |
| <multiplicity>*</multiplicity> |
| </association> |
| </field> |
| </fields> |
| </class> |
| <class> |
| <name>CompilerPlugin</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>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 of the compiler: 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>language</name> |
| <version>1.0.0+</version> |
| <type>String</type> |
| <description>The .NET language to use for compilation.</description> |
| </field> |
| <field> |
| <name>profile</name> |
| <version>1.0.0</version> |
| <type>String</type> |
| <description>Profile for the plugin.</description> |
| </field> |
| <field> |
| <name>profiles</name> |
| <version>1.5.0+</version> |
| <association> |
| <type>Profile</type> |
| <multiplicity>*</multiplicity> |
| </association> |
| <description>Profiles 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>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) of the compiler: 1.1.4322, 2.0.50727, 3.0</description> |
| <association> |
| <type>String</type> |
| <multiplicity>*</multiplicity> |
| </association> |
| </field> |
| <field> |
| <name>defaultAssemblyPath</name> |
| <version>1.0.0</version> |
| <description> |
| Path (absolute or relative) of the assemblies given in the assembly fields. This field |
| is used in conjunction with the profile and the assemblies fields. |
| </description> |
| <type>String</type> |
| </field> |
| <field> |
| <name>targetFramework</name> |
| <version>1.0.0</version> |
| <description> |
| Target framework for the compiled artifact. |
| </description> |
| <type>String</type> |
| </field> |
| <field> |
| <name>assemblies</name> |
| <version>1.0.0</version> |
| <description> |
| Assemblies to reference from the command line. This is used to create custom profiles (such as |
| .NET Compact) that use a different set of system assemblies. Only include the name of the |
| assembly, not the .dll extension. |
| </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.</description> |
| </field> |
| </fields> |
| </class> |
| <class> |
| <name>Profile</name> |
| <version>1.5.0+</version> |
| <fields> |
| <field> |
| <name>id</name> |
| <identifier>true</identifier> |
| <version>1.5.0+</version> |
| <type>String</type> |
| </field> |
| <field> |
| <name>defaultAssemblyPath</name> |
| <version>1.5.0+</version> |
| <description> |
| Path (absolute or relative) of the assemblies given in the assembly fields. This field |
| is used in conjunction with the profile and the assemblies fields. |
| </description> |
| <type>String</type> |
| </field> |
| <field> |
| <name>targetFramework</name> |
| <version>1.5.0+</version> |
| <description> |
| Target framework for the compiled artifact. |
| </description> |
| <type>String</type> |
| </field> |
| <field> |
| <name>assemblies</name> |
| <version>1.5.0+</version> |
| <description> |
| Assemblies to reference from the command line. This is used to create custom profiles (such as |
| .NET Compact) that use a different set of system assemblies. Only include the name of the |
| assembly, not the .dll extension. |
| </description> |
| <association> |
| <type>String</type> |
| <multiplicity>*</multiplicity> |
| </association> |
| </field> |
| </fields> |
| </class> |
| </classes> |
| </model> |