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.

Bug 136169 - API review: Split of the api.java to ide & java clusters
Summary: API review: Split of the api.java to ide & java clusters
Status: RESOLVED FIXED
Alias: None
Product: java
Classification: Unclassified
Component: Classpath (show other bugs)
Version: 6.x
Hardware: All All
: P3 blocker (vote)
Assignee: Tomas Zezula
URL:
Keywords: API, API_REVIEW_FAST
Depends on:
Blocks: 133900
  Show dependency tree
 
Reported: 2008-05-30 14:30 UTC by Tomas Zezula
Modified: 2008-06-07 16:06 UTC (History)
4 users (show)

See Also:
Issue Type: TASK
Exception Reporter:


Attachments
Diff: Moving ClassPath into the new module (310.73 KB, patch)
2008-05-30 14:38 UTC, Tomas Zezula
Details | Diff
Diff: Fixing project dependencies to keep source compatibility (115.14 KB, patch)
2008-05-30 14:40 UTC, Tomas Zezula
Details | Diff
Fixed contrib modules (46.64 KB, patch)
2008-06-03 13:35 UTC, Tomas Zezula
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Tomas Zezula 2008-05-30 14:30:38 UTC
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.
Comment 1 Tomas Zezula 2008-05-30 14:38:59 UTC
Created attachment 62170 [details]
Diff: Moving ClassPath into the new module
Comment 2 Tomas Zezula 2008-05-30 14:40:18 UTC
Created attachment 62171 [details]
Diff: Fixing project dependencies to keep source compatibility
Comment 3 Tomas Zezula 2008-05-30 14:43:24 UTC
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
Comment 4 Tomas Zezula 2008-05-30 14:45:04 UTC
In the attached diff I've forgot to remove the @since tags from moved classes, this is already fixed.
Comment 5 Jesse Glick 2008-05-30 15:08:18 UTC
[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".
Comment 6 Tomas Zezula 2008-05-30 18:26:58 UTC
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
Comment 7 Tomas Zezula 2008-06-03 13:35:33 UTC
Created attachment 62317 [details]
Fixed contrib modules
Comment 8 Tomas Zezula 2008-06-03 13:36:17 UTC
I will integrate it tomorrow.
Comment 10 _ rkubacki 2008-06-06 06:27:41 UTC
The documentation of ClassPath and similar classes is missing at http://bits.netbeans.org/dev/javadoc/index.html
Comment 11 Jesse Glick 2008-06-06 20:34:40 UTC
Good point, api.java.classpath Javadoc needs to be published. I will fix: #be34a97e4a80
Comment 12 Quality Engineering 2008-06-07 16:06:47 UTC
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)