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 65924 - [50cat] Suite Module List ignores module dependencies
Summary: [50cat] Suite Module List ignores module dependencies
Status: RESOLVED FIXED
Alias: None
Product: apisupport
Classification: Unclassified
Component: Project (show other bugs)
Version: 5.x
Hardware: All All
: P1 blocker with 1 vote (vote)
Assignee: Jesse Glick
URL:
Keywords:
: 71262 (view as bug list)
Depends on:
Blocks:
 
Reported: 2005-10-05 03:15 UTC by rrochat
Modified: 2019-04-04 08:23 UTC (History)
3 users (show)

See Also:
Issue Type: ENHANCEMENT
Exception Reporter:


Attachments
Patch in progress (27.93 KB, patch)
2006-01-12 20:15 UTC, Jesse Glick
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description rrochat 2005-10-05 03:15:02 UTC
[ BUILD # : 200509261930 ]
[ JDK VERSION : 1.5.0_05 ]

The Module Suite's Project Properties / Build / Module List does not consider dependencies specified by the suite modules.
Module dependencies should
override the defaults provided by the suite.

Jesse will probably change this to an RFE because 
"The spec already mentions that further logic is desirable but will not be implemented for 5.0."
but I consider this to be a defect when the suite works until you go through the branding wizard and it ignores/overrides the module dependencies.  You end up with a message in the log file that says something like
"Warning - could not install some modules:
	module1 - No module providing the capability org.openide.windows.IOProvider could be found.
	module1 - The module named org.openide.io was needed and not found." 
and you have no idea why since you explicitly declared it in that module.  
You may also need to do several rounds of adding in a module and then testing it until you get all its prerequisites right.

It's hard to match the module display names in the Module List with the path names in the log file, so it's actually much easier to just go hand edit the project.properties file.

If this can't be fixed for 5.0, it needs to be documented:  The help topic needs to warn about it and tell you exactly which file to go edit and/or it needs to go in the list of known defects.
Comment 1 Jesse Glick 2005-10-06 01:41:05 UTC
It's a priority for a post-5.0 release.

Re. the platform module list not displaying code name bases - this could be
addressed with a trivial UI change (use tooltips), which I will do.
Comment 2 Jesse Glick 2006-01-05 20:33:08 UTC
Sketch:

1. All modules directly required by suite modules (according to formal
dependency declarations) are included and are not excludable.

2. Included modules with unsatisfied dependencies are marked with a red error
highlight; when selected, a description of the unsatisfied dependency is
displayed at the bottom of the panel. Clusters containing modules with
unsatisfied dependencies are highlighted as well.

3. There is a button to include all modules available in the platform which are
currently excluded but which if included would help currently included modules
satisfy currently unsatisfied dependencies.

4. There is a button to exclude all currently included modules with unsatisfied
dependencies.
Comment 3 Jesse Glick 2006-01-09 20:38:20 UTC
Alternate UI that would be simpler and perhaps more effective:

1. Display suite modules as well as platform modules, but of course they are
always checked and cannot be unchecked. (All platform modules can be freely
checked or unchecked as now.)

2. For any module (suite or platform) whose dependencies would currently be
unsatisfiable, mark that module and its containing cluster in red. At the bottom
of the panel display a warning message pertaining to the currently selected
module, if it is in error; else some erroneous module chosen arbitrarily, if
there are any.

2a. Deps on modules which have been excluded would be marked like this:

"Module A depends on module B (cluster ide6) which is not included in the
application."

2b. Deps on modules which are included but which would otherwise fail would be
marked like this (one example):

"Module A depends on module B but using a version which does not match the
actual version of B."

2c. Deps on tokens which are not provided by any included modules, but which are
provided by one or more excluded modules:

"Module A requires the token 'x'. Modules B (cluster ide6) and C (ide6) provide
'x' but are not included in the application."

2d. Deps on modules or tokens not present in the platform at all would be marked
(e.g.):

"Module A depends on a module named 'org.something.b' which cannot be found in
the platform or suite."

The user would have some choices as to what to do - include needed deps
(possibly with several options in the case of provide/require deps), exclude
unneeded modules, or even leave it alone to be resolved in some other way. There
would be no buttons for bulk operations, but I suspect that in practice these
would not be needed anyway.
Comment 4 Jesse Glick 2006-01-09 23:07:58 UTC
Even more simply - don't show the suite modules, skip the red highlighting, and
just show an arbitrary error if there are any outstanding.
Comment 5 Jesse Glick 2006-01-11 23:33:25 UTC
*** Issue 71262 has been marked as a duplicate of this issue. ***
Comment 6 Jesse Glick 2006-01-12 20:15:35 UTC
Created attachment 28364 [details]
Patch in progress
Comment 7 Jesse Glick 2006-01-13 02:03:03 UTC
Done. UI review would be appreciated, though it's more helpful to try it in a
build rather than read the spec. Seems to be both faster and more useful than I
initially feared.

committed   * Up-To-Date  1.7         apisupport/harness/nbproject/project.xml
committed   * Up-To-Date  1.25       
apisupport/project/src/org/netbeans/modules/apisupport/project/ManifestManager.java
committed   * Up-To-Date  1.70       
apisupport/project/src/org/netbeans/modules/apisupport/project/ui/customizer/Bundle.properties
committed   * Up-To-Date  1.24       
apisupport/project/src/org/netbeans/modules/apisupport/project/ui/customizer/SuiteCustomizerLibraries.java
added       * Up-To-Date  1.1        
apisupport/project/test/unit/src/org/netbeans/modules/apisupport/project/ui/customizer/SuiteCustomizerLibrariesTest.java
committed   * Up-To-Date  1.3         apisupport/www/50u1-ui.html
Comment 8 mandiriqq 2019-04-04 08:23:22 UTC
I Dont know what will happen about this. But i Will try my best. To Do Get this information. And i will answer it. As soon as posible. 
http://pkrmas99.site/
http://asik99.site/
http://ratusahabatqq.site/
http://jasaqq.site/
http://negarapoker.site/
http://qqdomino88.site/
http://srnpoker.info/
http://murni99.info/
http://mandiriq.co/
http://nagapkr.site/
http://wargapoker99.site/