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
ebre...@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-unsubscr...@netbeans.apache.org
For additional commands, e-mail: dev-h...@netbeans.apache.org

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



Reply via email to