This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
The ClassPath structure is used by the GSF framework and java. Since the GSF cannot depend on the java cluster it needed to copy it. To be able to remove the GSF copy the current api.java needs to be split into the IDE cluster (the classpath part) and the Java cluster (the rest of the api.java). The backward binary compatibility is achieved by the modules auto deps.
Created attachment 62170 [details] Diff: Moving ClassPath into the new module
Created attachment 62171 [details] Diff: Fixing project dependencies to keep source compatibility
The new module contains following API|SPI classes: org/netbeans/api/java/classpath/ClassPath.java org/netbeans/api/java/classpath/GlobalPathRegistry.java org/netbeans/api/java/classpath/GlobalPathRegistryEvent.java org/netbeans/api/java/classpath/GlobalPathRegistryListener.java org/netbeans/api/java/queries/BinaryForSourceQuery.java org/netbeans/api/java/queries/SourceForBinaryQuery.java org/netbeans/spi/java/classpath/ClassPathFactory.java org/netbeans/spi/java/classpath/ClassPathImplementation.java org/netbeans/spi/java/classpath/ClassPathProvider.java org/netbeans/spi/java/classpath/FilteringPathResourceImplementation.java org/netbeans/spi/java/classpath/PathResourceImplementation.java org/netbeans/spi/java/classpath/support/ClassPathSupport.java org/netbeans/spi/java/classpath/support/CompositePathResourceBase.java org/netbeans/spi/java/classpath/support/PathResourceBase.java org/netbeans/spi/java/queries/BinaryForSourceQueryImplementation.java org/netbeans/spi/java/queries/SourceForBinaryQueryImplementation.java org/netbeans/spi/java/queries/SourceForBinaryQueryImplementation2.java org/netbeans/spi/java/queries/support/SourceForBinaryQueryImpl2Base.java
In the attached diff I've forgot to remove the @since tags from moved classes, this is already fixed.
[JG01] Your diff shows some files being renamed, but others (e.g. ClassPathAccessor.java) copied and deleted. Please use 'hg ren' for all file moves. Otherwise file history is lost, merges become difficult, diffs are hard to review, etc. etc. I hope you are using MQ, but if you are not, use 'hg strip' to discard your #fc4d12ede2eb and redo the patches. [JG02] Do not use test.unit.cp.run.extra. Use project.xml test dependencies if you need them. Probably you do not need to add core to your test CP to begin with. [JG03] "splitted" is not a word. You mean "split".
jg01: Strange I did everything from the IDE in the same way (Ctrl+X,Ctrl+V) on packages and classes. I will fix it. jg02: The core is needed because of jar url mapper. Thanks
Created attachment 62317 [details] Fixed contrib modules
I will integrate it tomorrow.
http://hg.netbeans.org/main/rev/1443c41446f3 http://hg.netbeans.org/main/rev/1c13cf13764e http://hg.netbeans.org/main/rev/06d1179bb9a4 http://hg.netbeans.org/main/rev/1326cc11a6ee http://hg.netbeans.org/main/rev/1326cc11a6ee http://hg.netbeans.org/main/rev/1326cc11a6ee http://hg.netbeans.org/main/rev/1326cc11a6ee http://hg.netbeans.org/main/contrib/rev/42cf4e967c20
The documentation of ClassPath and similar classes is missing at http://bits.netbeans.org/dev/javadoc/index.html
Good point, api.java.classpath Javadoc needs to be published. I will fix: #be34a97e4a80
Integrated into 'main-golden', available in NB_Trunk_Production #243 build Changeset: http://hg.netbeans.org/main/rev/be34a97e4a80 User: Jesse Glick <jglick@netbeans.org> Log: Publishing api.java.classpath Javadoc. (see #136169)