You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@netbeans.apache.org by Laszlo Kishalmi <la...@gmail.com> on 2021/11/01 02:01:00 UTC

Re: Graduating Friend APIs to Public APIs (Web Commons)

Just file a PR, that makes the API public. Generally we have no issue to 
do so. The reviewers might take a brief look on the exported API-s, but 
that's all.

On 10/31/21 08:47, Eric Bresie wrote:
> While working on a new python module (since I've seen little progress on
> python donation completion and trying to make an LSP based version) , I
> borrowed code from another language support (javascript/node js) to model
> som of the functionality after which had dependencies like
>
> import org.netbeans.modules.web.common.api.Version;
> import org.netbeans.modules.web.common.ui.api.ExternalExecutable;
>
>
> When attempting to build in the final steps (building the nbm) I
> encountered a build issue like the following (for full trace see end of
> email):
>
> Failed to execute goal
> org.apache.netbeans.utilities:nbm-maven-plugin:4.6:manifest
> (default-manifest) on project python: Module has friend dependency on
> org.netbeans.modules.web.common.ui but is not listed as a friend. -> [Help
> 1]
>
>
> My assumption is my module is not a "friend" to the web.common and/pr
> web.common.ui related packages which is preventing that from finishing up.
>
> While discussing on stack, it was suggested maybe making the Web.Commons
> packages "public" instead of requiring to update with all the "friends" may
> be a better option.
>
> I found
> https://cwiki.apache.org/confluence/display/NETBEANS/Public+vs+Friend+API
> which seems to imply after a time it may be worth making things public
> (i.e. if there are more than 5 friends, the API is stable and not changing
> a lot, etc.)
>
> So with that in mind and the fact that there appears to be a lot of friends
> on these packages, is it worth changing the web.common/web.common.ui to be
> a public API?
>
> If so, what is the process by which this is normally done (i.e. change from
> friend to public, any API documentation updates, any build changes,
> regression testing, etc.)?
>
> Eric Bresie
> ebresie@gmail.com
>
> Full stack trace:
>
> Failed to execute goal
> org.apache.netbeans.utilities:nbm-maven-plugin:4.6:manifest
> (default-manifest) on project python: Module has friend dependency on
> org.netbeans.modules.web.common.ui but is not listed as a friend. -> [Help
> 1]
> org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute
> goal org.apache.netbeans.utilities:nbm-maven-plugin:4.6:manifest
> (default-manifest) on project python: Module has friend dependency on
> org.netbeans.modules.web.common.ui but is not listed as a friend.
>      at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> (MojoExecutor.java:215)
>      at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> (MojoExecutor.java:156)
>      at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> (MojoExecutor.java:148)
>      at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
> (LifecycleModuleBuilder.java:117)
>      at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
> (LifecycleModuleBuilder.java:81)
>      at
> org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
> (SingleThreadedBuilder.java:56)
>      at org.apache.maven.lifecycle.internal.LifecycleStarter.execute
> (LifecycleStarter.java:128)
>      at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
>      at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
>      at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
>      at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
>      at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
>      at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
>      at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
>      at jdk.internal.reflect.NativeMethodAccessorImpl.invoke
> (NativeMethodAccessorImpl.java:62)
>      at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke
> (DelegatingMethodAccessorImpl.java:43)
>      at java.lang.reflect.Method.invoke (Method.java:566)
>      at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced
> (Launcher.java:282)
>      at org.codehaus.plexus.classworlds.launcher.Launcher.launch
> (Launcher.java:225)
>      at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode
> (Launcher.java:406)
>      at org.codehaus.plexus.classworlds.launcher.Launcher.main
> (Launcher.java:347)
> Caused by: org.apache.maven.plugin.MojoFailureException: Module has friend
> dependency on org.netbeans.modules.web.common.ui but is not listed as a
> friend.
>      at
> org.apache.netbeans.nbm.NetBeansManifestUpdateMojo.visibleModuleClasses
> (NetBeansManifestUpdateMojo.java:900)
>      at
> org.apache.netbeans.nbm.NetBeansManifestUpdateMojo.checkModuleClassPath
> (NetBeansManifestUpdateMojo.java:717)
>      at org.apache.netbeans.nbm.NetBeansManifestUpdateMojo.execute
> (NetBeansManifestUpdateMojo.java:561)
>      at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo
> (DefaultBuildPluginManager.java:137)
>      at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> (MojoExecutor.java:210)
>      at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> (MojoExecutor.java:156)
>      at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> (MojoExecutor.java:148)
>      at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
> (LifecycleModuleBuilder.java:117)
>      at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
> (LifecycleModuleBuilder.java:81)
>      at
> org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
> (SingleThreadedBuilder.java:56)
>      at org.apache.maven.lifecycle.internal.LifecycleStarter.execute
> (LifecycleStarter.java:128)
>      at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
>      at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
>      at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
>      at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
>      at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
>      at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
>      at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
>      at jdk.internal.reflect.NativeMethodAccessorImpl.invoke
> (NativeMethodAccessorImpl.java:62)
>      at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke
> (DelegatingMethodAccessorImpl.java:43)
>      at java.lang.reflect.Method.invoke (Method.java:566)
>      at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced
> (Launcher.java:282)
>      at org.codehaus.plexus.classworlds.launcher.Launcher.launch
> (Launcher.java:225)
>      at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode
> (Launcher.java:406)
>      at org.codehaus.plexus.classworlds.launcher.Launcher.main
> (Launcher.java:347)
>
>
> For more information about the errors and possible solutions, please read
> the following articles:
> [Help 1]
> http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@netbeans.apache.org
For additional commands, e-mail: dev-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists




Re: Graduating Friend APIs to Public APIs (Web Commons)

Posted by Neil C Smith <ne...@apache.org>.
On Wed, 3 Nov 2021 at 16:37, Matthias Bläsing <mb...@doppel-helix.eu> wrote:
> Am Mittwoch, dem 03.11.2021 um 16:23 +0000 schrieb Neil C Smith:
> > On Tue, 2 Nov 2021 at 16:30, Laszlo Kishalmi <la...@gmail.com> wrote:
> > >
> > > https://github.com/apache/netbeans/blob/4078eeb7c3ab73c21ce669f1a81b8477332afac1/ide/web.common/nbproject/project.xml#L197
> >
> > Wow, that is a friendly module! :-)
> >
> > I'm still in favour of getting rid of all friend APIs.  At least I
> > think they're the wrong choice for in-development modules.  At least,
> > this is better -
> > https://netbeans.apache.org/wiki/APIDevelopment.asciidoc#Support_for_Early_Adoption
> >
>
> I'm ok with graduating APIs from friend to public, BUT we need to be
> able to break compatibility if it does not make sense anymore and be
> willing to bump the major version of a module (i.e. break all users).

Absolutely!  That's discussed in that link btw.

> This still needs to be a planned process. It is never a "oh, just
> remove the friend flag", but a "I had a look at the API, thought about
> the potential issues, suggest the following changes and then lets make
> it public" process. It will be painful.

I remain of the view that's painful anyway as soon as the API has been
exposed, whether via the friends mechanism or not.  And anyway, one of
the best ways to get feedback on the potential issues is to make them
public?!  So, yes, I'm very much in the "oh, just remove the friend
flag" camp - much prefer JDK's concept of preview features.

Neil

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@netbeans.apache.org
For additional commands, e-mail: dev-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists




Re: Graduating Friend APIs to Public APIs (Web Commons)

Posted by Matthias Bläsing <mb...@doppel-helix.eu>.
Hi,

Am Mittwoch, dem 03.11.2021 um 16:23 +0000 schrieb Neil C Smith:
> On Tue, 2 Nov 2021 at 16:30, Laszlo Kishalmi <la...@gmail.com> wrote:
> > 
> > https://github.com/apache/netbeans/blob/4078eeb7c3ab73c21ce669f1a81b8477332afac1/ide/web.common/nbproject/project.xml#L197
> 
> Wow, that is a friendly module! :-)
> 
> I'm still in favour of getting rid of all friend APIs.  At least I
> think they're the wrong choice for in-development modules.  At least,
> this is better -
> https://netbeans.apache.org/wiki/APIDevelopment.asciidoc#Support_for_Early_Adoption
> 

I'm ok with graduating APIs from friend to public, BUT we need to be
able to break compatibility if it does not make sense anymore and be
willing to bump the major version of a module (i.e. break all users).

This still needs to be a planned process. It is never a "oh, just
remove the friend flag", but a "I had a look at the API, thought about
the potential issues, suggest the following changes and then lets make
it public" process. It will be painful.

Greetings

Matthias




---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@netbeans.apache.org
For additional commands, e-mail: dev-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists




Re: Graduating Friend APIs to Public APIs (Web Commons)

Posted by Neil C Smith <ne...@apache.org>.
On Tue, 2 Nov 2021 at 16:30, Laszlo Kishalmi <la...@gmail.com> wrote:
>
> https://github.com/apache/netbeans/blob/4078eeb7c3ab73c21ce669f1a81b8477332afac1/ide/web.common/nbproject/project.xml#L197

Wow, that is a friendly module! :-)

I'm still in favour of getting rid of all friend APIs.  At least I
think they're the wrong choice for in-development modules.  At least,
this is better -
https://netbeans.apache.org/wiki/APIDevelopment.asciidoc#Support_for_Early_Adoption

Friend APIs make more sense for OS, JDK, specific things - ie. JDK 11
enhancement modules make sense as friends.

Best wishes,

Neil

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@netbeans.apache.org
For additional commands, e-mail: dev-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists




Re: Graduating Friend APIs to Public APIs (Web Commons)

Posted by Eric Bresie <eb...@gmail.com>.
Does removing a package from the list of friend, make it public?  Or does
it need to be changed to something else?

I ask because of the comparison of different Java access possibilities in
basic have (i.e. public, private, protected, default).

On Tue, Nov 2, 2021 at 11:30 AM Laszlo Kishalmi <la...@gmail.com>
wrote:

>
> https://github.com/apache/netbeans/blob/4078eeb7c3ab73c21ce669f1a81b8477332afac1/ide/web.common/nbproject/project.xml#L197
>
>
> On 11/1/21 18:01, Eric Bresie wrote:
> > Silly question, what is necessary to make API public(i.e. what file needs
> > to be change)?
> >
> > On Sun, Oct 31, 2021 at 9:01 PM Laszlo Kishalmi <
> laszlo.kishalmi@gmail.com>
> > wrote:
> >
> >> Just file a PR, that makes the API public. Generally we have no issue to
> >> do so. The reviewers might take a brief look on the exported API-s, but
> >> that's all.
> >>
> >> On 10/31/21 08:47, Eric Bresie wrote:
> >>
> >>> If so, what is the process by which this is normally done (i.e. change
> >> from
> >>> friend to public, any API documentation updates, any build changes,
> >>> regression testing, etc.)?
> >>>
> >>> Eric Bresie
> >>> ebresie@gmail.com
> >>>
> >>> Full stack trace:
> >>>
> >>> Failed to execute goal
> >>> org.apache.netbeans.utilities:nbm-maven-plugin:4.6:manifest
> >>> (default-manifest) on project python: Module has friend dependency on
> >>> org.netbeans.modules.web.common.ui but is not listed as a friend. ->
> >> [Help
> >>> 1]
> >>> org.apache.maven.lifecycle.LifecycleExecutionException: Failed to
> execute
> >>> goal org.apache.netbeans.utilities:nbm-maven-plugin:4.6:manifest
> >>> (default-manifest) on project python: Module has friend dependency on
> >>> org.netbeans.modules.web.common.ui but is not listed as a friend.
> >>>       at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> >>> (MojoExecutor.java:215)
> >>>       at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> >>> (MojoExecutor.java:156)
> >>>       at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> >>> (MojoExecutor.java:148)
> >>>       at
> >>> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
> >>> (LifecycleModuleBuilder.java:117)
> >>>       at
> >>> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
> >>> (LifecycleModuleBuilder.java:81)
> >>>       at
> >>>
> >>
> org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
> >>> (SingleThreadedBuilder.java:56)
> >>>       at org.apache.maven.lifecycle.internal.LifecycleStarter.execute
> >>> (LifecycleStarter.java:128)
> >>>       at org.apache.maven.DefaultMaven.doExecute
> (DefaultMaven.java:305)
> >>>       at org.apache.maven.DefaultMaven.doExecute
> (DefaultMaven.java:192)
> >>>       at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
> >>>       at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
> >>>       at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
> >>>       at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
> >>>       at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native
> >> Method)
> >>>       at jdk.internal.reflect.NativeMethodAccessorImpl.invoke
> >>> (NativeMethodAccessorImpl.java:62)
> >>>       at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke
> >>> (DelegatingMethodAccessorImpl.java:43)
> >>>       at java.lang.reflect.Method.invoke (Method.java:566)
> >>>       at
> org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced
> >>> (Launcher.java:282)
> >>>       at org.codehaus.plexus.classworlds.launcher.Launcher.launch
> >>> (Launcher.java:225)
> >>>       at
> >> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode
> >>> (Launcher.java:406)
> >>>       at org.codehaus.plexus.classworlds.launcher.Launcher.main
> >>> (Launcher.java:347)
> >>> Caused by: org.apache.maven.plugin.MojoFailureException: Module has
> >> friend
> >>> dependency on org.netbeans.modules.web.common.ui but is not listed as a
> >>> friend.
> >>>       at
> >>> org.apache.netbeans.nbm.NetBeansManifestUpdateMojo.visibleModuleClasses
> >>> (NetBeansManifestUpdateMojo.java:900)
> >>>       at
> >>> org.apache.netbeans.nbm.NetBeansManifestUpdateMojo.checkModuleClassPath
> >>> (NetBeansManifestUpdateMojo.java:717)
> >>>       at org.apache.netbeans.nbm.NetBeansManifestUpdateMojo.execute
> >>> (NetBeansManifestUpdateMojo.java:561)
> >>>       at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo
> >>> (DefaultBuildPluginManager.java:137)
> >>>       at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> >>> (MojoExecutor.java:210)
> >>>       at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> >>> (MojoExecutor.java:156)
> >>>       at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> >>> (MojoExecutor.java:148)
> >>>       at
> >>> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
> >>> (LifecycleModuleBuilder.java:117)
> >>>       at
> >>> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
> >>> (LifecycleModuleBuilder.java:81)
> >>>       at
> >>>
> >>
> org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
> >>> (SingleThreadedBuilder.java:56)
> >>>       at org.apache.maven.lifecycle.internal.LifecycleStarter.execute
> >>> (LifecycleStarter.java:128)
> >>>       at org.apache.maven.DefaultMaven.doExecute
> (DefaultMaven.java:305)
> >>>       at org.apache.maven.DefaultMaven.doExecute
> (DefaultMaven.java:192)
> >>>       at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
> >>>       at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
> >>>       at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
> >>>       at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
> >>>       at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native
> >> Method)
> >>>       at jdk.internal.reflect.NativeMethodAccessorImpl.invoke
> >>> (NativeMethodAccessorImpl.java:62)
> >>>       at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke
> >>> (DelegatingMethodAccessorImpl.java:43)
> >>>       at java.lang.reflect.Method.invoke (Method.java:566)
> >>>       at
> org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced
> >>> (Launcher.java:282)
> >>>       at org.codehaus.plexus.classworlds.launcher.Launcher.launch
> >>> (Launcher.java:225)
> >>>       at
> >> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode
> >>> (Launcher.java:406)
> >>>       at org.codehaus.plexus.classworlds.launcher.Launcher.main
> >>> (Launcher.java:347)
> >>>
> >>>
> >>> For more information about the errors and possible solutions, please
> read
> >>> the following articles:
> >>> [Help 1]
> >>> http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
> >>>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: dev-unsubscribe@netbeans.apache.org
> >> For additional commands, e-mail: dev-help@netbeans.apache.org
> >>
> >> For further information about the NetBeans mailing lists, visit:
> >> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
> >>
> >>
> >>
> >> --
> > Eric Bresie
> > ebresie@gmail.com
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@netbeans.apache.org
> For additional commands, e-mail: dev-help@netbeans.apache.org
>
> For further information about the NetBeans mailing lists, visit:
> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
>
>
>
> --
Eric Bresie
ebresie@gmail.com

Re: Graduating Friend APIs to Public APIs (Web Commons)

Posted by Laszlo Kishalmi <la...@gmail.com>.
https://github.com/apache/netbeans/blob/4078eeb7c3ab73c21ce669f1a81b8477332afac1/ide/web.common/nbproject/project.xml#L197


On 11/1/21 18:01, Eric Bresie wrote:
> Silly question, what is necessary to make API public(i.e. what file needs
> to be change)?
>
> On Sun, Oct 31, 2021 at 9:01 PM Laszlo Kishalmi <la...@gmail.com>
> wrote:
>
>> Just file a PR, that makes the API public. Generally we have no issue to
>> do so. The reviewers might take a brief look on the exported API-s, but
>> that's all.
>>
>> On 10/31/21 08:47, Eric Bresie wrote:
>>
>>> If so, what is the process by which this is normally done (i.e. change
>> from
>>> friend to public, any API documentation updates, any build changes,
>>> regression testing, etc.)?
>>>
>>> Eric Bresie
>>> ebresie@gmail.com
>>>
>>> Full stack trace:
>>>
>>> Failed to execute goal
>>> org.apache.netbeans.utilities:nbm-maven-plugin:4.6:manifest
>>> (default-manifest) on project python: Module has friend dependency on
>>> org.netbeans.modules.web.common.ui but is not listed as a friend. ->
>> [Help
>>> 1]
>>> org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute
>>> goal org.apache.netbeans.utilities:nbm-maven-plugin:4.6:manifest
>>> (default-manifest) on project python: Module has friend dependency on
>>> org.netbeans.modules.web.common.ui but is not listed as a friend.
>>>       at org.apache.maven.lifecycle.internal.MojoExecutor.execute
>>> (MojoExecutor.java:215)
>>>       at org.apache.maven.lifecycle.internal.MojoExecutor.execute
>>> (MojoExecutor.java:156)
>>>       at org.apache.maven.lifecycle.internal.MojoExecutor.execute
>>> (MojoExecutor.java:148)
>>>       at
>>> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
>>> (LifecycleModuleBuilder.java:117)
>>>       at
>>> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
>>> (LifecycleModuleBuilder.java:81)
>>>       at
>>>
>> org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
>>> (SingleThreadedBuilder.java:56)
>>>       at org.apache.maven.lifecycle.internal.LifecycleStarter.execute
>>> (LifecycleStarter.java:128)
>>>       at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
>>>       at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
>>>       at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
>>>       at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
>>>       at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
>>>       at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
>>>       at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native
>> Method)
>>>       at jdk.internal.reflect.NativeMethodAccessorImpl.invoke
>>> (NativeMethodAccessorImpl.java:62)
>>>       at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke
>>> (DelegatingMethodAccessorImpl.java:43)
>>>       at java.lang.reflect.Method.invoke (Method.java:566)
>>>       at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced
>>> (Launcher.java:282)
>>>       at org.codehaus.plexus.classworlds.launcher.Launcher.launch
>>> (Launcher.java:225)
>>>       at
>> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode
>>> (Launcher.java:406)
>>>       at org.codehaus.plexus.classworlds.launcher.Launcher.main
>>> (Launcher.java:347)
>>> Caused by: org.apache.maven.plugin.MojoFailureException: Module has
>> friend
>>> dependency on org.netbeans.modules.web.common.ui but is not listed as a
>>> friend.
>>>       at
>>> org.apache.netbeans.nbm.NetBeansManifestUpdateMojo.visibleModuleClasses
>>> (NetBeansManifestUpdateMojo.java:900)
>>>       at
>>> org.apache.netbeans.nbm.NetBeansManifestUpdateMojo.checkModuleClassPath
>>> (NetBeansManifestUpdateMojo.java:717)
>>>       at org.apache.netbeans.nbm.NetBeansManifestUpdateMojo.execute
>>> (NetBeansManifestUpdateMojo.java:561)
>>>       at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo
>>> (DefaultBuildPluginManager.java:137)
>>>       at org.apache.maven.lifecycle.internal.MojoExecutor.execute
>>> (MojoExecutor.java:210)
>>>       at org.apache.maven.lifecycle.internal.MojoExecutor.execute
>>> (MojoExecutor.java:156)
>>>       at org.apache.maven.lifecycle.internal.MojoExecutor.execute
>>> (MojoExecutor.java:148)
>>>       at
>>> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
>>> (LifecycleModuleBuilder.java:117)
>>>       at
>>> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
>>> (LifecycleModuleBuilder.java:81)
>>>       at
>>>
>> org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
>>> (SingleThreadedBuilder.java:56)
>>>       at org.apache.maven.lifecycle.internal.LifecycleStarter.execute
>>> (LifecycleStarter.java:128)
>>>       at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
>>>       at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
>>>       at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
>>>       at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
>>>       at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
>>>       at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
>>>       at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native
>> Method)
>>>       at jdk.internal.reflect.NativeMethodAccessorImpl.invoke
>>> (NativeMethodAccessorImpl.java:62)
>>>       at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke
>>> (DelegatingMethodAccessorImpl.java:43)
>>>       at java.lang.reflect.Method.invoke (Method.java:566)
>>>       at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced
>>> (Launcher.java:282)
>>>       at org.codehaus.plexus.classworlds.launcher.Launcher.launch
>>> (Launcher.java:225)
>>>       at
>> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode
>>> (Launcher.java:406)
>>>       at org.codehaus.plexus.classworlds.launcher.Launcher.main
>>> (Launcher.java:347)
>>>
>>>
>>> For more information about the errors and possible solutions, please read
>>> the following articles:
>>> [Help 1]
>>> http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
>>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@netbeans.apache.org
>> For additional commands, e-mail: dev-help@netbeans.apache.org
>>
>> For further information about the NetBeans mailing lists, visit:
>> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
>>
>>
>>
>> --
> Eric Bresie
> ebresie@gmail.com
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@netbeans.apache.org
For additional commands, e-mail: dev-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists




Re: Graduating Friend APIs to Public APIs (Web Commons)

Posted by Eric Bresie <eb...@gmail.com>.
Silly question, what is necessary to make API public(i.e. what file needs
to be change)?

On Sun, Oct 31, 2021 at 9:01 PM Laszlo Kishalmi <la...@gmail.com>
wrote:

> Just file a PR, that makes the API public. Generally we have no issue to
> do so. The reviewers might take a brief look on the exported API-s, but
> that's all.
>
> On 10/31/21 08:47, Eric Bresie wrote:
>
> > If so, what is the process by which this is normally done (i.e. change
> from
> > friend to public, any API documentation updates, any build changes,
> > regression testing, etc.)?
> >
> > Eric Bresie
> > ebresie@gmail.com
> >
> > Full stack trace:
> >
> > Failed to execute goal
> > org.apache.netbeans.utilities:nbm-maven-plugin:4.6:manifest
> > (default-manifest) on project python: Module has friend dependency on
> > org.netbeans.modules.web.common.ui but is not listed as a friend. ->
> [Help
> > 1]
> > org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute
> > goal org.apache.netbeans.utilities:nbm-maven-plugin:4.6:manifest
> > (default-manifest) on project python: Module has friend dependency on
> > org.netbeans.modules.web.common.ui but is not listed as a friend.
> >      at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> > (MojoExecutor.java:215)
> >      at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> > (MojoExecutor.java:156)
> >      at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> > (MojoExecutor.java:148)
> >      at
> > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
> > (LifecycleModuleBuilder.java:117)
> >      at
> > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
> > (LifecycleModuleBuilder.java:81)
> >      at
> >
> org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
> > (SingleThreadedBuilder.java:56)
> >      at org.apache.maven.lifecycle.internal.LifecycleStarter.execute
> > (LifecycleStarter.java:128)
> >      at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
> >      at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
> >      at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
> >      at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
> >      at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
> >      at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
> >      at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native
> Method)
> >      at jdk.internal.reflect.NativeMethodAccessorImpl.invoke
> > (NativeMethodAccessorImpl.java:62)
> >      at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke
> > (DelegatingMethodAccessorImpl.java:43)
> >      at java.lang.reflect.Method.invoke (Method.java:566)
> >      at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced
> > (Launcher.java:282)
> >      at org.codehaus.plexus.classworlds.launcher.Launcher.launch
> > (Launcher.java:225)
> >      at
> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode
> > (Launcher.java:406)
> >      at org.codehaus.plexus.classworlds.launcher.Launcher.main
> > (Launcher.java:347)
> > Caused by: org.apache.maven.plugin.MojoFailureException: Module has
> friend
> > dependency on org.netbeans.modules.web.common.ui but is not listed as a
> > friend.
> >      at
> > org.apache.netbeans.nbm.NetBeansManifestUpdateMojo.visibleModuleClasses
> > (NetBeansManifestUpdateMojo.java:900)
> >      at
> > org.apache.netbeans.nbm.NetBeansManifestUpdateMojo.checkModuleClassPath
> > (NetBeansManifestUpdateMojo.java:717)
> >      at org.apache.netbeans.nbm.NetBeansManifestUpdateMojo.execute
> > (NetBeansManifestUpdateMojo.java:561)
> >      at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo
> > (DefaultBuildPluginManager.java:137)
> >      at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> > (MojoExecutor.java:210)
> >      at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> > (MojoExecutor.java:156)
> >      at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> > (MojoExecutor.java:148)
> >      at
> > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
> > (LifecycleModuleBuilder.java:117)
> >      at
> > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
> > (LifecycleModuleBuilder.java:81)
> >      at
> >
> org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
> > (SingleThreadedBuilder.java:56)
> >      at org.apache.maven.lifecycle.internal.LifecycleStarter.execute
> > (LifecycleStarter.java:128)
> >      at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
> >      at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
> >      at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
> >      at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
> >      at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
> >      at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
> >      at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native
> Method)
> >      at jdk.internal.reflect.NativeMethodAccessorImpl.invoke
> > (NativeMethodAccessorImpl.java:62)
> >      at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke
> > (DelegatingMethodAccessorImpl.java:43)
> >      at java.lang.reflect.Method.invoke (Method.java:566)
> >      at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced
> > (Launcher.java:282)
> >      at org.codehaus.plexus.classworlds.launcher.Launcher.launch
> > (Launcher.java:225)
> >      at
> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode
> > (Launcher.java:406)
> >      at org.codehaus.plexus.classworlds.launcher.Launcher.main
> > (Launcher.java:347)
> >
> >
> > For more information about the errors and possible solutions, please read
> > the following articles:
> > [Help 1]
> > http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@netbeans.apache.org
> For additional commands, e-mail: dev-help@netbeans.apache.org
>
> For further information about the NetBeans mailing lists, visit:
> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
>
>
>
> --
Eric Bresie
ebresie@gmail.com