blob: 1931551fa0f362cfd11dacae1e62778420b35d08 [file] [log] [blame]
<?xml version="1.0"?>
<!--
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>nbm</id>
<name>NetBeansModule</name>
<description><![CDATA[Maven's model for the NetBeans module descriptor.]]></description>
<defaults>
<default>
<key>package</key>
<value>org.netbeans.nbm.model</value>
</default>
</defaults>
<classes>
<class rootElement="true" xml.tagName="nbm">
<name>NetBeansModule</name>
<description>Describes the layout, dependencies and packaging of a NetBeans module.</description>
<version>1.0.0+</version>
<fields>
<field>
<name>moduleType</name>
<version>1.0.0+</version>
<description><![CDATA[
<p>DEPRECATED, use the plugin configuration instead. Type of the module. Possible values are </p>
<p><b>autoload</b> - Such a module is automatically enabled when some other module requires it and automatically disabled otherwise.</p>
<p><b>eager</b> - This module type gets automatically enabled when all it's dependencies are satisfied. Disabled otherwise.</p>
<p><b>normal</b> - This is the default value. This kind of module is enabled/disabled manually by the user. It installs enabled.</p>
]]> </description>
<type>String</type>
<annotations>
<annotation>@Deprecated</annotation>
</annotations>
</field>
<field>
<name>codeNameBase</name>
<version>1.0.0+</version>
<description>DEPRECATED, use the plugin configuration instead. Codenamebase of the module. Primary identification of the module. Usually the package name. Eg. "org.codehaus.mevenide.project".
If not defined here, the default value is constructed from groupId and artifactId.</description>
<type>String</type>
<annotations>
<annotation>@Deprecated</annotation>
</annotations>
</field>
<field>
<name>cluster</name>
<version>1.0.0+</version>
<description>DEPRECATED, use the plugin configuration instead. Each modules should belong to a cluster. A cluster is a group of related modules. For individual modules it's not that important. Refer to netbeans.org documentation for more details.</description>
<type>String</type>
<annotations>
<annotation>@Deprecated</annotation>
</annotations>
</field>
<field>
<name>requiresRestart</name>
<version>1.0.0+</version>
<description>DEPRECATED, use the plugin configuration instead. Determines if the module requires restart of the IDE/platform upon installation.</description>
<type>boolean</type>
<annotations>
<annotation>@Deprecated</annotation>
</annotations>
</field>
<field>
<name>manifest</name>
<version>1.0.0+</version>
<description>DEPRECATED, use the plugin configuration instead. Location of the manifest file with NetBeans specific manifest entries.
</description>
<type>String</type>
<!--defaultValue>src/main/nbm/manifest.mf</defaultValue-->
<annotations>
<annotation>@Deprecated</annotation>
</annotations>
</field>
<field>
<name>homepageUrl</name>
<version>1.0.0+</version>
<description>DEPRECATED, use the plugin configuration instead. Homepage URL of the module. Is accessible from NetBeans UI upon installation, should point to place with additional information about the functionality. If not defined, it defaults to POM's url element.</description>
<type>String</type>
<annotations>
<annotation>@Deprecated</annotation>
</annotations>
</field>
<field>
<name>distributionUrl</name>
<version>1.0.0+</version>
<description>DEPRECATED, use the plugin configuration instead. Http URL of the location where the module can be downloaded from the internet. This value put into the NBM and used when generating the Autoupdate Site. Should point directly to the NBM download.</description>
<type>String</type>
<annotations>
<annotation>@Deprecated</annotation>
</annotations>
</field>
<field>
<name>author</name>
<version>1.0.0+</version>
<description>DEPRECATED, use the plugin configuration instead. Author of the module. Is used when generating the NBM file.</description>
<type>String</type>
<annotations>
<annotation>@Deprecated</annotation>
</annotations>
</field>
<field>
<name>licenseName</name>
<version>1.0.0+</version>
<description>DEPRECATED, use the plugin configuration instead. Name of the license. If the user already agreed to the same license before, he/she won't be asked again to agree.</description>
<type>String</type>
<annotations>
<annotation>@Deprecated</annotation>
</annotations>
</field>
<field>
<name>licenseFile</name>
<version>1.0.0+</version>
<description>DEPRECATED, use the plugin configuration instead. Path to the license agreement file.</description>
<type>String</type>
<annotations>
<annotation>@Deprecated</annotation>
</annotations>
</field>
<field>
<name>libraries</name>
<version>1.0.0+</version>
<description>groupId:artifactId of artifacts that shall become part of the module and be added on the classpath
(ClassPath: manifest entry gets created and the jar is included in the nbm file)</description>
<association>
<type>String</type>
<multiplicity>*</multiplicity>
</association>
</field>
<field>
<name>dependencies</name>
<description>DEPRECATED, use the plugin configuration instead. List of module dependencies. The plugin will use it to Generate the OpenIDE-Module-Module-Dependencies manifest entry.</description>
<version>1.0.0+</version>
<association>
<type>Dependency</type>
<multiplicity>*</multiplicity>
</association>
</field>
<field>
<name>nbmResources</name>
<description>DEPRECATED, use the plugin configuration instead. List of resources that shall be also included into the Nbm file along with the module jar and library jars.</description>
<version>1.0.0+</version>
<association>
<type>NbmResource</type>
<multiplicity>*</multiplicity>
</association>
<annotations>
<annotation>@Deprecated</annotation>
</annotations>
</field>
</fields>
</class>
<class>
<name>Dependency</name>
<description></description>
<version>1.0.0+</version>
<fields>
<field>
<name>id</name>
<description>groupId:artifactId of the dependency defined in the POM (or a transitive dependency)</description>
<version>1.0.0+</version>
<type>String</type>
<required>true</required>
</field>
<field>
<name>type</name>
<description><![CDATA[
Type of module dependency. 3 possible values allowed.
<p><b>spec</b> - specification dependency, module can only use public APIs in public packages. Works with the version defined and any later version.</p>
<p><b>impl</b> - implementation dependency, module can use any class in the dependency module, but works with just the one version of the module.</p>
<p><b>loose</b> - similar to spec, but isa very loose connection, no version is required, just the module presence.</p>
]]>
</description>
<version>1.0.0+</version>
<type>String</type>
<defaultValue>spec</defaultValue>
</field>
<field>
<name>explicitValue</name>
<description><![CDATA[
The plugin tries to resolve the correct module name and module specification/implementation version by examining the
dependency jar's manifest.
You can override this behaviour by explicitly defining the value here. For example org.openide.io/1 &gt; 10.1 for a "spec" type of dependency.
]]>
</description>
<version>1.0.0+</version>
<type>String</type>
</field>
</fields>
</class>
<class>
<name>NbmResource</name>
<version>1.0.0+</version>
<fields>
<field>
<name>baseDirectory</name>
<description>The base directory, all paths within the nbm file will be the same as paths within the base directory.</description>
<version>1.0.0+</version>
<type>String</type>
<required>true</required>
</field>
<field>
<name>relativeClusterPath</name>
<description>A relative path to be added to cluster root where the files will be copied to.</description>
<version>1.0.0+</version>
<type>String</type>
<required>false</required>
</field>
<field>
<name>includes</name>
<description>Include pattern, what shall be included in the nbm. </description>
<version>1.0.0+</version>
<association>
<type>String</type>
<multiplicity>*</multiplicity>
</association>
</field>
<field>
<name>excludes</name>
<description>Exclude pattern, what files within the basedir shall not be included. </description>
<version>1.0.0+</version>
<association>
<type>String</type>
<multiplicity>*</multiplicity>
</association>
</field>
</fields>
</class>
</classes>
</model>