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
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.
-->
<?xml-stylesheet type="text/xml"href="../../nbbuild/javadoctools/apichanges.xsl"?>
<!DOCTYPE apichanges PUBLIC"-//NetBeans//DTD API changes list 1.0//EN""../../nbbuild/javadoctools/apichanges.dtd">
<!--
INFO FOR PEOPLE ADDING CHANGES:
Check the DTD (apichanges.dtd) for details on the syntax. You do not need to regenerate the HTML, as this is part of Javadoc generation; just change the XML. Rough syntax of a change (several parts optional):
<change> <api name="compiler"/> <summary>Some brief description here, can use <b>XHTML</b></summary> <version major="1" minor="99"/> <date day="13" month="6" year="2001"/> <author login="jrhacker"/> <compatibility addition="yes"/> <description> The main description of the change here. Again can use full <b>XHTML</b> as needed. </description> <class package="org.openide.compiler" name="DoWhatIWantCompiler"/> <issue number="14309"/> </change>
Also permitted elements: <package>, <branch>. <version> is API spec version, recommended for all new changes. <compatibility> should say if things were added/modified/deprecated/etc. and give all information related to upgrading old code. List affected top-level classes and link to issue numbers if applicable. See the DTD for more details.
Changes need not be in any particular order, they are sorted in various ways by the stylesheet anyway.
Dates are assumed to mean "on the trunk". If you *also* make the same change on a stabilization branch, use the <branch> tag to indicate this and explain why the change was made on a branch in the <description>.
Please only change this file on the trunk! Rather: you can change it on branches if you want, but these changes will be ignored; only the trunk version of this file is important.
Deprecations do not count as incompatible, assuming that code using the deprecated calls continues to see their documented behavior. But do specify deprecation="yes" in <compatibility>.
This file is not a replacement for Javadoc: it is intended to list changes, not describe the complete current behavior, for which ordinary documentation is the proper place.
-->
<apichanges>
<!-- First, a list of API names you may use: -->
<apidefs>
<apidef name="general">Maven Project API</apidef> <!-- etc. -->
</apidefs>
<!-- ACTUAL CHANGES BEGIN HERE: -->
<changes>
<change id="RunConfig-options">
<api name="general"/>
<summary>RunConfig provides access to Maven options</summary>
<version major="2" minor="167"/>
<date day="5" month="11" year="2024"/>
<author login="petrovic-d"/>
<compatibility addition="yes" semantic="compatible"/>
<description>
<p>
RunConfig now provides access to Maven options / flags. Client can decide which
options / flags will be passed to command line.
</p>
</description>
<class package="org.netbeans.modules.maven.api.execute" name="RunConfig"/>
</change>
<change id="pluginconfigpathparams-pathitem-name-null">
<api name="general"/>
<summary>Enable using PluginConfigPathParams with null valued pathItemName</summary>
<version major="2" minor="164"/>
<date day="10" month="8" year="2024"/>
<author login="matthiasblaesing"/>
<compatibility addition="yes" semantic="compatible"/>
<description>
Maven <a href="https://maven.apache.org/guides/mini/guide-configuring-plugins.html#mapping-collections-and-arrays"
>documentation for plugin configuration</a> declares, that for
list and array typed configuration plugins, the name of the
single entry element does not matter, only the name of the
wrapping element is relevant. This change modifies
<pre>PluginPropertyUtils.PluginConfigPathParams</pre> to always
report <pre>null</pre> for <pre>pathItemName</pre> and adds a
constructor without that parameter, deprecating the original
constructor.
</description>
<class package="org.netbeans.modules.maven.api" name="PluginPropertyUtils"/>
<issue number="GITHUB-7658" />
</change>
<change id="partial-maven-project">
<api name="general"/>
<summary>Support for partially loaded projects</summary>
<version major="2" minor="162"/>
<date day="3" month="10" year="2023"/>
<author login="sdedic"/>
<compatibility addition="yes" semantic="compatible"/>
<description>
Added a <a href="@TOP@/org/netbeans/modules/maven/api/NbMavenProject.html#getPartialProject(org.apache.maven.project.MavenProject)">
getPartialProject</a> that returns potentially incompletely loaded project instead of a mocked-up fallback (see <a href="@TOP@/org/netbeans/modules/maven/api/NbMavenProject.html#isErrorPlaceholder(org.apache.maven.project.MavenProject)">isErrorPlaceholder()</a>.
Also added a <a href="@TOP@/org/netbeans/modules/maven/api/NbMavenProject.html#isIncomplete(org.apache.maven.project.MavenProject)">isIncomplete()</a> check that checks project's status.
</description>
<class package="org.netbeans.modules.maven.api" name="NbMavenProject"/>
</change>
<change id="declare-run-goals">
<api name="general"/>
<summary>Allow extensions to declare run-like goals</summary>
<version major="2" minor="161"/>
<date day="6" month="12" year="2023"/>
<author login="sdedic"/>
<compatibility addition="yes" semantic="compatible"/>
<description>
<p>
The GUI recognizes user modifications to actions and refuses to configure
a modified "run" action with vm and app arguments. It is now possible for a plugin
to register an alternative goal, which is recognized as "exec"-like one and does
not disable the GUI.
</p>
<p>
For an example, see <a href="@TOP@/org/netbeans/modules/maven/spi/actions/MavenActionsProvider.html#declare-run-goals">MavenActionProvider</a>.
</p>
</description>
</change>
<change id="runutils-createconfig-action">
<api name="general"/>
<summary></summary>
<version major="2" minor="157"/>
<date day="23" month="1" year="2023"/>
<author login="sdedic"/>
<compatibility addition="yes" semantic="compatible"/>
<description>
Added a <a href="@TOP@/org/netbeans/modules/maven/api/execute/RunUtils.html#createRunConfig(java.lang.String,org.netbeans.api.project.Project,org.netbeans.spi.project.ProjectConfiguration,org.openide.util.Lookup)">
RunUtils.createRunConfig()</a> variant that allows to create a <a href="@TOP@/org/netbeans/modules/maven/api/execute/RunConfig.html">RunConfig</a> for a project-defined action.
Clients can use this function to use all user customizations that may have been configured for the project action before executing it using
<a href="@TOP@/org/netbeans/modules/maven/api/execute/RunUtils.html#run(org.netbeans.modules.maven.api.execute.RunConfig)">RunUtils.run</a>.
</description>
<class package="org.netbeans.modules.maven.api.execute" name="RunUtils"/>
</change>
<change id="lifecycle-white-list">
<api name="general"/>
<summary>LifecycleParticipants can be ignored</summary>
<version major="2" minor="156"/>
<date day="9" month="9" year="2022"/>
<author login="sdedic"/>
<compatibility addition="yes" semantic="compatible"/>
<description>
NetBeans warns if a project / plugin provides AbstractLifecycleParticipants that
can reconfigure the project after load. Now some harmless ones can be whitelisted
so they do not produce warning / project problem. See <a href="@TOP@/architecture-summary.html#layer-LifecycleParticipants">LifecycleParticipants</a>.
</description>
</change>
<change id="evaluated-project">
<api name="general"/>
<summary>Project model can be customized for specific action or usage</summary>
<version major="2" minor="155"/>
<date day="10" month="8" year="2022"/>
<author login="sdedic"/>
<compatibility addition="yes" semantic="compatible"/>
<description>
Project state can be inspected with respect to an intended action to be run or used, and possible
customized properties or profiles. This allows clients to more precisely follow customizations in
the project file and/or action mapping that would be applied when actually using project actions.
</description>
<class package="org.netbeans.modules.maven.api" name="NbMavenProject"/>
</change>
<change id="plugin.conf.paths">
<api name="general"/>
<summary>Added helper method to get artifact paths from build plugin configurations.</summary>
<version major="2" minor="151"/>
<date day="24" month="9" year="2021"/>
<author login="sdedic"/>
<compatibility addition="yes" semantic="compatible"/>
<description>
In addition to String property values, or String lists, artifact-based paths, that are convertible to
files, are sometimes present in plugin configuration. The new helper function
<a href="@TOP@/org/netbeans/modules/maven/api/PluginPropertyUtils.html#getPluginPathProperty(org.netbeans.api.project.Project,org.netbeans.modules.maven.api.PluginPropertyUtils.PluginConfigPathParams,boolean,java.util.List)">getPluginPathProperty</a>
resolves a list of artifacts from the POM configuration and reports errors encountered.
</description>
</change>
<change id="disable-actions">
<api name="general"/>
<summary>Plugin-dependent Lookup</summary>
<version major="2" minor="149"/>
<date day="24" month="6" year="2021"/>
<author login="sdedic"/>
<compatibility addition="yes" semantic="compatible"/>
<description>
<p>
Actions can be <b>disabled</b> by the MavenActionsProvider for a configuration.
</p>
</description>
<class name="ActionToGoalUtils" package="org.netbeans.modules.maven.execute"/>
</change>
<change id="plugin-lookup">
<api name="general"/>
<summary>Plugin-dependent Lookup</summary>
<version major="2" minor="148"/>
<date day="15" month="5" year="2021"/>
<author login="sdedic"/>
<compatibility addition="yes" semantic="compatible"/>
<description>
<p>
Register services for a specific <i>maven plugin</i>
used in the project. See <a href="@TOP@/architecture-summary.html#layer-PluginLookup">PluginLookup</a>.
</p>
</description>
</change>
<change id="disable-maven-repo-indexing">
<api name="general"/>
<summary>Default for frequency of indexing</summary>
<version major="2" minor="147"/>
<date day="1" month="4" year="2021"/>
<author login="jtulach"/>
<compatibility semantic="compatible"/>
<description>
<p>
Introducing <a href="@TOP@architecture-summary.html#group-branding">branding APIs</a>
specify default frequency for downloading Maven index.
</p>
</description>
</change>
<change id="ProjectLookup.fallback">
<api name="general"/>
<summary>Allow project services, that are ordered <b>after</b> specific packaging type</summary>
<version major="2" minor="144"/>
<date day="10" month="2" year="2021"/>
<author login="sdedic"/>
<compatibility addition="yes" binary="compatible" semantic="compatible"/>
<description>
<p>
Project lookup consists of base services, plus services for the project's packaging type. This change allows for
generic post-processing after packaging-specific service. See <a href="@TOP@/architecture-summary.html#layer-MavenPackagingLookup">MavenPackagingLookup</a>
for more details.
</p>
</description>
</change>
<change id="RunConfig.getActionLookup">
<api name="general"/>
<summary>RunConfig provides access to action lookup for parameters extensibility</summary>
<version major="2" minor="144"/>
<date day="10" month="2" year="2021"/>
<author login="sdedic"/>
<compatibility addition="yes" source="incompatible" binary="compatible" semantic="compatible"/>
<description>
<p>
RunConfig now serves the originating action's context Lookup from RunConfig.getActionContext()
so that the caller can pass extended one-time configuration for the action.
</p>
</description>
<class package="org.netbeans.modules.maven.api.execute" name="RunConfig"/>
</change>
<change id="execution.explicitParameters">
<api name="general"/>
<summary>Allow to extend or override parameters for user execution from action caller</summary>
<version major="2" minor="144"/>
<date day="10" month="2" year="2021"/>
<author login="sdedic"/>
<compatibility semantic="compatible"/>
<description>
Added support for <a href="@org-netbeans-modules-extexecution-base@/org/netbeans/api/extexecution/base/ExplicitProcessParameters.html">ExplicitProcessParameters</a>
for Maven-nature projects. The <code>ExternaProcessParameterss</code> instructions now append to or replace VM argsuments or
user program arguments. See <a href="@TOP@/org/netbeans/modules/maven/execute/MavenCommandLineExecutor.html">MavenCommandLineExecutor</a>
for more details.
</description>
</change>
<change id="reusetabs-cos">
<api name="general"/>
<summary>Default for reusing tabs and compile on save</summary>
<version major="2" minor="141"/>
<date day="12" month="10" year="2020"/>
<author login="jtulach"/>
<compatibility semantic="compatible"/>
<description>
<p>
Introducing <a href="@TOP@architecture-summary.html#group-branding">branding APIs</a>
to configure default value for <b>reusing tabs</b> and also for
<b>compile on save behavior</b> in Maven projects.
</p>
</description>
</change>
<change id="jpda-attach-trigger">
<api name="general"/>
<summary>Attach to Debugger on triggers</summary>
<version major="2" minor="127"/>
<date day="8" month="12" year="2017"/>
<author login="monacotoni"/>
<compatibility modification="yes" semantic="compatible"/>
<description>
<p>
New property to allow to attach debugger while goal execution is in progress:
<code>ACTION_PROPERTY_JPDAATTACH_TRIGGER</code>. Read more about
usage of this property in
the <a href="@TOP@architecture-summary.html#property-jpda.attach.trigger">nbactions.xml file</a>.
</p>
</description>
<class package="org.netbeans.modules.maven.api" name="Constants"/>
</change>
<change id="jpda-attach">
<api name="general"/>
<summary>Attach to Debugger after Goal Execution</summary>
<version major="2" minor="113"/>
<date day="10" month="3" year="2015"/>
<author login="jtulach"/>
<compatibility modification="yes" semantic="compatible"/>
<description>
<p>
New properties to allow one to attach debugger after
a goal is executed:
<code>ACTION_PROPERTY_JPDAATTACH</code>,
<code>ACTION_PROPERTY_JPDAATTACH_ADDRESS</code>,
<code>ACTION_PROPERTY_JPDAATTACH_PORT</code>. Read more about
usage of these properties in
the <a href="@TOP@architecture-summary.html#property-jpda.attach">nbactions.xml file</a>.
</p>
</description>
<class package="org.netbeans.modules.maven.api" name="Constants"/>
<issue number="229192"/>
</change>
<change id="nbactions-profiles">
<api name="general"/>
<summary>nbactions.xml supports profiles section</summary>
<version major="2" minor="107"/>
<date day="15" month="7" year="2014"/>
<author login="jtulach"/>
<compatibility modification="yes" semantic="compatible"/>
<description>
<p>
Format of <code>nbactions.xml</code> file has been
extended to support <a href="@TOP@architecture-summary.html#java.io.File-nbactions.xml">
profiles section</a>.
</p>
</description> <!-- <class package="org.netbeans.spi.project.ui" name="LogicalViewProvider"/>
-->
<issue number="229192"/>
</change>
</changes>
<!-- Now the surrounding HTML text and document structure: -->
<htmlcontents> <!--
NO NO NO NO NO!
==============> DO NOT EDIT ME! <==============
AUTOMATICALLY GENERATED FROM APICHANGES.XML, DO NOT EDIT
SEE projects/projectuiapi/apichanges.xml
-->
<head>
<title>Change History for the Maven Project API</title>
<link rel="stylesheet"href="prose.css"type="text/css"/>
</head>
<body>
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.