Hi Stephen,
the package is exported as public (not friend), so You should be able to
look for the implementation (which might not be public, but we only need
the FQCN).
What "parameter 3" are You referring to?
Regards
P.
Am 25.05.2018 um 14:44 schrieb sgpa...@mainscreen.com:
I'll try looking up the pcpmi if the visibility will let me - The pcpmi can at
least provide a list of the extensible source groups, which should lead to the
right value for the second parameter to addLibraries. How do get the list of
types for parameter 3 I wonder?
On 2018/05/25 11:57:42, Peter Nabbefeld <peter.nabbef...@gmx.de> wrote:
Hi Stephen,
I've found the following source code:
@SuppressWarnings("deprecation")
public static
org.netbeans.spi.java.project.classpath.ProjectClassPathExtender
extenderForModifier(final Project p) {
return new
org.netbeans.spi.java.project.classpath.ProjectClassPathExtender() {
@Override public boolean addLibrary(Library library) throws
IOException {
ProjectClassPathModifierImplementation pcpmi =
p.getLookup().lookup(ProjectClassPathModifierImplementation.class);
return pcpmi != null ?
extenderForModifier(pcpmi).addLibrary(library) : false;
}
...
As the J2SE implementation is rather old, I'd guess it does not provide
its own ProjectClassPathModifierImplementation - could You check its
exact type (FQCN)? That will probably make things more clear (and easier
to find the implementation code).
Kind regards
Peter
Am 25.05.2018 um 12:59 schrieb sgpa...@mainscreen.com:
Hi Peter,
Thanks for the quick reply.
The plugin adds a library to the classpath, currently by rewriting the projevct
properties file. I am trying to use the API instead. I can get it working using
ProjectClassPathExtender but not ProjectClassPathModifier, which gives me:
Java.lang.UnsupportedOperationException: Project in
C:\Users\sparry\ownCloud\development\NetbeansProjects\JavaApplication16 of
class org.netbeans.modules.java.j2seproject.J2SEProject has a
ProjectClassPathModifierImplementation but it will not handle classpath/compile
for C:\Users\sparry\ownCloud\development\NetbeansProjects\JavaApplication16
extensible source groups:
C:\Users\sparry\ownCloud\development\NetbeansProjects\JavaApplication16\src
at
org.netbeans.api.java.project.classpath.ProjectClassPathModifier.findExtensible(ProjectClassPathModifier.java:388)
The code I have been trying, including the three different variations I have
tried follows:
FileObject projectRoot = project.getProjectDirectory();
Sources sources = ProjectUtils.getSources(project);
SourceGroup sourceGroup =
sources.getSourceGroups(Sources.TYPE_GENERIC)[0];
FileObject sgRoot = sourceGroup.getRootFolder();
Library lib = libraryManager.getLibrary(LIB_NAME);
ProjectClassPathModifier pcpm =
projectLookup.lookup(ProjectClassPathModifier.class);
ProjectClassPathExtender pcpe = pcpm.extenderForModifier(project);
pcpe.addLibrary(lib); // Works but deprecated
pcpm.addLibraries(new Library[]{lib}, projectRoot,
ClassPath.COMPILE); // Fails regardless
pcpm.addLibraries(new Library[]{lib}, sgRoot, ClassPath.COMPILE);
// Fails regardless
On 2018/05/25 10:11:41, Peter Nabbefeld <peter.nabbef...@gmx.de> wrote:
Hi Stephen,
what does it mean, You "cannot get it working"? Which problems
(behaviour or exceptions) do You have exactly?
Kind regards
Peter
Am 25.05.2018 um 11:50 schrieb sgpa...@mainscreen.com:
Hi,
Can someone please direct me to the correct place for asking questions
regarding plugin devlopment?
I am having trouble contributing a fix to a bug in a third-party NB 8 plugin -
I have a fix using the deprecated ProjectClassPathExtender class but I want to
use the replacement ProjectClassPathModifier class, but I cannot get it working.
Thanks
Stephen Parry
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@netbeans.incubator.apache.org
For additional commands, e-mail: dev-h...@netbeans.incubator.apache.org
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@netbeans.incubator.apache.org
For additional commands, e-mail: dev-h...@netbeans.incubator.apache.org
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@netbeans.incubator.apache.org
For additional commands, e-mail: dev-h...@netbeans.incubator.apache.org
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@netbeans.incubator.apache.org
For additional commands, e-mail: dev-h...@netbeans.incubator.apache.org
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@netbeans.incubator.apache.org
For additional commands, e-mail: dev-h...@netbeans.incubator.apache.org
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@netbeans.incubator.apache.org
For additional commands, e-mail: dev-h...@netbeans.incubator.apache.org
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists