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:
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.
Created attachment 62317 [details]
Fixed contrib modules
I will integrate it tomorrow.
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
User: Jesse Glick <email@example.com>
Log: Publishing api.java.classpath Javadoc. (see #136169)