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 173493 - Module Suite support broken
Summary: Module Suite support broken
Status: VERIFIED DUPLICATE of bug 168804
Alias: None
Product: apisupport
Classification: Unclassified
Component: Project (show other bugs)
Version: 6.x
Hardware: All All
: P2 blocker (vote)
Assignee: rmichalsky
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-10-01 14:13 UTC by Adam Sotona
Modified: 2009-10-23 20:55 UTC (History)
6 users (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
screenshot (245.92 KB, image/png)
2009-10-02 16:30 UTC, Adam Sotona
Details
Patched apisupport.project module JAR for NB 6.7.1 (2.98 MB, application/octet-stream)
2009-10-12 14:36 UTC, rmichalsky
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Adam Sotona 2009-10-01 14:13:16 UTC
JavaFx Module Suite does not see any NetBeans Platform modules.
We are not able to use NetBeans for development as the NetBeans part of the classpath is missing in all our modules,
everything is red-underlined, no code completion, no JavaDoc, no GoTo Sources.
NetBeans modules are also hidden in the project properties / libraraies tab.
Comment 1 Jesse Glick 2009-10-01 14:24:28 UTC
I guess you're going need to give some steps to reproduce, information about which build you are using (and whether this
is a regression), whether your log file shows relevant messages, etc.
Comment 2 Adam Sotona 2009-10-01 14:43:40 UTC
Steps to reproduce:
1. checkout http://hg.netbeans.org/javafx
2. build it using Ant (it downloads NB platform and all necessary binaries)
3. open any project in NetBeans for development


Log contains following messages:
WARNING [org.netbeans.modules.apisupport.project]: Warning - could not find dependent module org.netbeans.api.java for
C:\cvs\javafx\javafx.platform
WARNING [org.netbeans.modules.apisupport.project]: Warning - could not find dependent module
org.netbeans.api.java.classpath for C:\cvs\javafx\javafx.platform
WARNING [org.netbeans.modules.apisupport.project]: Warning - could not find dependent module org.netbeans.api.progress
for C:\cvs\javafx\javafx.platform
WARNING [org.netbeans.modules.apisupport.project]: Warning - could not find dependent module
org.netbeans.modules.classfile for C:\cvs\javafx\javafx.platform
WARNING [org.netbeans.modules.apisupport.project]: Warning - could not find dependent module
org.netbeans.modules.java.platform for C:\cvs\javafx\javafx.platform
WARNING [org.netbeans.modules.apisupport.project]: Warning - could not find dependent module
org.netbeans.modules.project.ant for C:\cvs\javafx\javafx.platform
WARNING [org.netbeans.modules.apisupport.project]: Warning - could not find dependent module
org.netbeans.modules.project.libraries for C:\cvs\javafx\javafx.platform
WARNING [org.netbeans.modules.apisupport.project]: Warning - could not find dependent module
org.netbeans.modules.projectapi for C:\cvs\javafx\javafx.platform
WARNING [org.netbeans.modules.apisupport.project]: Warning - could not find dependent module org.openide.actions for
C:\cvs\javafx\javafx.platform
WARNING [org.netbeans.modules.apisupport.project]: Warning - could not find dependent module org.openide.awt for
C:\cvs\javafx\javafx.platform
WARNING [org.netbeans.modules.apisupport.project]: Warning - could not find dependent module org.openide.dialogs for
C:\cvs\javafx\javafx.platform
WARNING [org.netbeans.modules.apisupport.project]: Warning - could not find dependent module org.openide.filesystems for
C:\cvs\javafx\javafx.platform
WARNING [org.netbeans.modules.apisupport.project]: Warning - could not find dependent module org.openide.loaders for
C:\cvs\javafx\javafx.platform
WARNING [org.netbeans.modules.apisupport.project]: Warning - could not find dependent module org.openide.modules for
C:\cvs\javafx\javafx.platform
WARNING [org.netbeans.modules.apisupport.project]: Warning - could not find dependent module org.openide.nodes for
C:\cvs\javafx\javafx.platform
WARNING [org.netbeans.modules.apisupport.project]: Warning - could not find dependent module org.openide.util for
C:\cvs\javafx\javafx.platform
WARNING [org.netbeans.modules.apisupport.project]: Warning - could not find dependent module org.netbeans.libs.jsr223
for C:\cvs\javafx\javafx.platform
WARNING [org.netbeans.modules.apisupport.project]: Warning - could not find dependent module org.netbeans.api.progress
for C:\cvs\javafx\javafx.platform
WARNING [org.netbeans.modules.apisupport.project]: Warning - could not find dependent module org.openide.util for
C:\cvs\javafx\javafx.platform
WARNING [org.netbeans.modules.apisupport.project]: Warning - could not find dependent module
org.netbeans.modules.projectapi for C:\cvs\javafx\javafx.platform
WARNING [org.netbeans.modules.apisupport.project]: Warning - could not find dependent module org.openide.actions for
C:\cvs\javafx\javafx.platform
WARNING [org.netbeans.modules.apisupport.project]: Warning - could not find dependent module
org.netbeans.modules.project.libraries for C:\cvs\javafx\javafx.platform
WARNING [org.netbeans.modules.apisupport.project]: Warning - could not find dependent module org.openide.awt for
C:\cvs\javafx\javafx.platform
WARNING [org.netbeans.modules.apisupport.project]: Warning - could not find dependent module
org.netbeans.modules.project.ant for C:\cvs\javafx\javafx.platform
WARNING [org.netbeans.modules.apisupport.project]: Warning - could not find dependent module org.openide.loaders for
C:\cvs\javafx\javafx.platform
WARNING [org.netbeans.modules.apisupport.project]: Warning - could not find dependent module org.openide.dialogs for
C:\cvs\javafx\javafx.platform
WARNING [org.netbeans.modules.apisupport.project]: Warning - could not find dependent module
org.netbeans.modules.java.platform for C:\cvs\javafx\javafx.platform
WARNING [org.netbeans.modules.apisupport.project]: Warning - could not find dependent module org.netbeans.api.java for
C:\cvs\javafx\javafx.platform
WARNING [org.netbeans.modules.apisupport.project]: Warning - could not find dependent module org.openide.filesystems for
C:\cvs\javafx\javafx.platform
WARNING [org.netbeans.modules.apisupport.project]: Warning - could not find dependent module org.netbeans.libs.jsr223
for C:\cvs\javafx\javafx.platform
WARNING [org.netbeans.modules.apisupport.project]: Warning - could not find dependent module
org.netbeans.modules.classfile for C:\cvs\javafx\javafx.platform
WARNING [org.netbeans.modules.apisupport.project]: Warning - could not find dependent module org.openide.nodes for
C:\cvs\javafx\javafx.platform
WARNING [org.netbeans.modules.apisupport.project]: Warning - could not find dependent module org.openide.modules for
C:\cvs\javafx\javafx.platform
WARNING [org.netbeans.modules.apisupport.project]: Warning - could not find dependent module
org.netbeans.api.java.classpath for C:\cvs\javafx\javafx.platform
Comment 3 Antonin Nebuzelsky 2009-10-02 12:03:49 UTC
Works for me.

today's build 200910010513, jdk 6u16, ubuntu 9.04

1. checkout http://hg.netbeans.org/javafx - OK
2. build it using Ant - OK
3. open any project in NetBeans for development - JavaFX Platform project sources are OK (e.g. JavaFXPlatform.java file)

I see error badges only on the Unit tests. E.g. in DefaultPlatformTest.java I see "package 
org.netbeans.api.javafx.platform does not exist". This is a problem of the project test sources configuration I guess.

Richard, Jesse, anyone sees the problem asotona mentioned?

Comment 4 Adam Sotona 2009-10-02 12:27:13 UTC
I see it works in the latest dev builds.
This issue happens when the development IDE is NB 6.7.1 or older dev builds of 6.8. So it is a compatibility problem -
noone could develop latest NetBeans using NB 6.7.1.

I am decreasing priority as we have a workaround (use latest dev builds as a primary development IDE).
Do you always expect people developing on top of NetBeans using the latest unstable dev builds for thir work? I would
rather prefer to use the latest released IDE.
Comment 5 Antonin Nebuzelsky 2009-10-02 13:10:19 UTC
> Do you always expect people developing on top of NetBeans
> using the latest unstable dev builds for thir work? I would
> rather prefer to use the latest released IDE.

The bug was filed against 6.8 and as such it was evaluated. I don't understand your comment.

Now the bug will be evaluated with 6.7.1.
Comment 6 rmichalsky 2009-10-02 16:05:22 UTC
Works for me in 6.7.1 with most recent JavaFX suite clone. Try cleaning userdir or the like.
Comment 7 Adam Sotona 2009-10-02 16:28:26 UTC
Still happens to me (even with clean userdir).
CCing Manowar as another person with the same problem.

Sorry for the confusing comments. For APIsupport there are two NetBeans versions important: 
1. the platform used for development 
2. the IDE used by developer

Here I assumed some change made in 6.8 that broke compatibility so the issue was filled against 6.8 as a platfform version.
Comment 8 Adam Sotona 2009-10-02 16:30:15 UTC
Created attachment 88752 [details]
screenshot
Comment 9 Jesse Glick 2009-10-02 17:38:29 UTC
Reproducible for me. Revert 7805265b35b1 (and possibly subsequent changes such as c692bbc56c24). You cannot expect the
6.7 IDE to know how to interpret 6.8-specific harness features.
Comment 10 Adam Sotona 2009-10-05 08:42:41 UTC
The changes you are asking to revert made our suite working with 6.7 harness: "Use cluster.path for 6.7. and later. Cf
harness".
And it was working for some time, but now it is not.
Comment 11 Antonin Nebuzelsky 2009-10-08 13:28:53 UTC
Being evaluated against 6.7.
Comment 12 rmichalsky 2009-10-12 14:36:03 UTC
Created attachment 89314 [details]
Patched apisupport.project module JAR for NB 6.7.1
Comment 13 rmichalsky 2009-10-12 14:38:30 UTC
Fixed in trunk some time ago, patched module jar for NB 6.7.1 attached (will get into update center as well).

*** This issue has been marked as a duplicate of 168804 ***
Comment 14 Antonin Nebuzelsky 2009-10-13 13:32:10 UTC
I want to hear from asotona that the attached patched JAR fixes the problem for him in 6.7.1.

I will ask sustaining to help with publishing the update then.
Comment 15 Adam Sotona 2009-10-13 13:56:34 UTC
works perfectly, thanks
Comment 16 pgebauer 2009-10-15 11:49:51 UTC
The fix has been ported into the release67_fixes repository.
http://hg.netbeans.org/release67_fixes/rev/8b6ed926a799
Comment 17 Antonin Nebuzelsky 2009-10-23 10:27:20 UTC
QE cannot verify this fix for 6.7.1 now.

But we have confirmation from asotona that it works for him and I want to ask Jesse to review and confirm too. After
Jesse confirms, please release the update for 6.7.1.
Comment 18 Jesse Glick 2009-10-23 15:28:06 UTC
I guess the patch is an improvement but I still don't really understand why the code is written this way. The comment
says "probably found nbbuild above the platform" but the code does not check for anything of the sort. My understanding
is that in the reporter's case the platform was unzipped beneath a suite directory somewhere, say build/netbeans. From
what I can gather of the code's flow (it is new to me), FileOwnerQuery.getOwner is inappropriate here since it would
match any project anywhere higher up in the tree; what you are looking for is ${suite}/build/cluster/ in which case you
want prj=${suite}, so you should check for that actual path and use ProjectManager.findProject to see if at the top is a
suite. (Or, to support customized build dir locations, use FOQ but verify that ${cluster} in that project in fact
evaluates to cd.)
Comment 19 rmichalsky 2009-10-23 20:55:51 UTC
> The comment says "probably found nbbuild above the platform" but the code does not check

It doesn't matter what kind of project has been found unless it is NBM project or suite project, both of which are
checked just above the comment. It's just the most common case that FOQ finds nbbuild above platform built from sources,
but it doesn't affect program flow in any way. If you find the comment misleading, I can change it.

> to support customized build dir locations, use FOQ but verify that ${cluster} in that project in fact
> evaluates to cd.

IMHO anyone who reuses suites (puts them on cluster.path) and cares about resulting cluster structure will likely
customize ${cluster} property (as is actually the case of JavaFX) so I'd rather use FOQ than hardcode "build/cluster".
The check you propose would indeed catch some exotic cases (like binary cluster, which is not part of a platform, but is
stored under suite root), I'll add it. 

The problem will still remain with not-yet-built suite with customized cluster or cluster built out of suite root, if
anyone goes that far, but these are less harmful - source and javadoc will not be picked up automatically from the
project, but user has to add them manually in customizer.