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 58258 - Turn core.jar into real module (separate module system from it)
Summary: Turn core.jar into real module (separate module system from it)
Status: RESOLVED FIXED
Alias: None
Product: platform
Classification: Unclassified
Component: Module System (show other bugs)
Version: 5.x
Hardware: All All
: P1 blocker (vote)
Assignee: Jaroslav Tulach
URL:
Keywords: API_REVIEW
Depends on: 61107
Blocks: 19443 59013
  Show dependency tree
 
Reported: 2005-04-24 22:03 UTC by Jaroslav Tulach
Modified: 2008-12-23 08:36 UTC (History)
5 users (show)

See Also:
Issue Type: TASK
Exception Reporter:


Attachments
Moving the module system to boot.jar (had to remove ManifestSection from the list) (6.43 KB, patch)
2005-04-24 22:03 UTC, Jaroslav Tulach
Details | Diff
Additional changes in openide to make the branch work at least a bit (9.49 KB, patch)
2005-05-03 15:31 UTC, Jaroslav Tulach
Details | Diff
Changes in other modules (mostly xtest) to let everything compile (10.87 KB, patch)
2005-05-06 14:32 UTC, Jaroslav Tulach
Details | Diff
Updated to BLD200505111800 - use: cvs co -r BLD200505111800 openide core nbbuild xtest + apply the patch (2.95 KB, patch)
2005-05-12 09:13 UTC, Jaroslav Tulach
Details | Diff
Changes in all other modules, especially in their project.xml files (679.00 KB, patch)
2005-05-18 09:17 UTC, Jaroslav Tulach
Details | Diff
Log of the merge into main trunk (162.11 KB, text/plain)
2005-06-04 06:42 UTC, Jaroslav Tulach
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jaroslav Tulach 2005-04-24 22:03:14 UTC
Implement the layout of files described at 
http://openide.netbeans.org/proposals/arch/modularize.html 
 
Make independent part of module system part of boot.jar, separate the startup code 
and rest of modulesystem from core.jar and make the rest of core.jar real module.
Comment 1 Jaroslav Tulach 2005-04-24 22:03:55 UTC
Created attachment 21844 [details]
Moving the module system to boot.jar (had to remove ManifestSection from the list)
Comment 2 Jesse Glick 2005-04-25 18:29:55 UTC
BTW your style of expressing source moves is pretty confusing. Would be much
clearer what you are doing if you prepared source patches to look like what the
final state would be, *plus* attaching separate temporary files that do the
moves themselves. What e.g. core/bootstrap/build.xml will be doing *after* you
integrate is very difficult to understand from the patch.

ProxyClassLoader and JarClassLoader are already in bootstrap (in a different
package); no need to move them!
Comment 3 Jaroslav Tulach 2005-05-02 14:45:24 UTC
Re. confusing - if I was sure nobody modifies the sources, in trunk meanwhile, 
I could move the sources physically, but I was not a week ago. I can however do 
it on the branch. 
 
The branch is now rooted at BLD200505020835 and can be checked out by 
cvs upd -r move_58258  nbbuild core 
 
Comment 4 Jaroslav Tulach 2005-05-03 15:31:39 UTC
Created attachment 21957 [details]
Additional changes in openide to make the branch work at least a bit
Comment 5 Jaroslav Tulach 2005-05-03 15:34:02 UTC
For an unknown reason I trigger the dependency check more than once. At first 
all modules are updated to not depend on core, then they are updated once more 
for: 
 
  [exec] Log: 16 msg: Warning - had to add recursive class loader dependencies 
for module org.openide.windows on [org.openide.dialogs]; see 
http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/doc-files/upgrade.html#3.5i-indirect-dep-cp                                                                                                                                             
 
and once more and once more. Jesse, if you know how to prevent that, please 
suggest what to do. 
Comment 6 Jesse Glick 2005-05-03 17:12:05 UTC
...because org.openide.windows does not depend on the right version of openide,
as I have mentioned before:

http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/doc-files/upgrade.html#3.5i-indirect-dep-cp

We have to remove that compatibility check now I guess. Only applies to modules
written against 3.4 or earlier so I doubt we care about compatibility any more.
Comment 7 Jaroslav Tulach 2005-05-04 06:19:11 UTC
I have also branched openide and updated to latest daily build BLD200505031800  
  
Use: cvs upd -r move_58258  nbbuild core openide 
Comment 8 Jaroslav Tulach 2005-05-06 14:32:59 UTC
Created attachment 22008 [details]
Changes in other modules (mostly xtest) to let everything compile
Comment 9 Jaroslav Tulach 2005-05-06 14:49:04 UTC
Current files layout: 
# these jar files will be on classpath 
platform5/lib/boot.jar 
platform5/lib/nbexec.cmd 
platform5/lib/nbexec.exe 
platform5/lib/org-openide-modules.jar 
platform5/lib/org-openide-util.jar 
 
# these jars will be on our dynamic path 
platform5/core/core.jar 
platform5/core/org-netbeans-swing-plaf.jar 
platform5/core/org-openide-filesystems.jar 
platform5/core/updater.jar 
 
# the rest are real modules 
platform5/modules/ext/jh-2.0_02.jar 
platform5/modules/org-netbeans-core-execution.jar 
platform5/modules/org-netbeans-core-multiview.jar 
platform5/modules/org-netbeans-core-output2.jar 
platform5/modules/org-netbeans-core-ui.jar 
platform5/modules/org-netbeans-core-windows.jar 
platform5/modules/org-netbeans-core.jar 
platform5/modules/org-netbeans-modules-autoupdate.jar 
platform5/modules/org-netbeans-modules-javahelp.jar 
platform5/modules/org-netbeans-modules-masterfs.jar 
platform5/modules/org-netbeans-modules-queries.jar 
platform5/modules/org-netbeans-modules-settings.jar 
platform5/modules/org-netbeans-swing-tabcontrol.jar 
platform5/modules/org-openide-actions.jar 
platform5/modules/org-openide-awt.jar 
platform5/modules/org-openide-compat.jar 
platform5/modules/org-openide-dialogs.jar 
platform5/modules/org-openide-execution.jar 
platform5/modules/org-openide-explorer.jar 
platform5/modules/org-openide-io.jar 
platform5/modules/org-openide-loaders.jar 
platform5/modules/org-openide-nodes.jar 
platform5/modules/org-openide-options.jar 
platform5/modules/org-openide-text.jar 
platform5/modules/org-openide-util-enum.jar 
platform5/modules/org-openide-windows.jar 
 
Comment 10 Jaroslav Tulach 2005-05-10 15:31:16 UTC
The initial review will be on Wednesday May 18, 2005. The assigned reviewer is 
going to be Radim Kubacki, other voting reviewers include Adam, Jesse and 
Jiri. 
 
http://openide.netbeans.org/proposals/arch/modularize.html  
 
I'd like the inception to produce "checklist of things" that need to be done 
before merge. If you know about something which is not correct, then please 
reply to my announcement on nbdev@ even sooner than next Wednesday. 
 
Especially of my interest is whether you agree with the proposed move of the 
classes and introduction of core/modules. I'd like to start to work on that 
soon, and it would be pain to revert that. 
 
Comment 11 Jesse Glick 2005-05-10 17:07:59 UTC
Wed May 18 when?
Comment 12 Jaroslav Tulach 2005-05-11 12:58:41 UTC
Merged with trunk BLD200505101800 and added xtest.  
 
Use: cvs upd -r move_58258  nbbuild core openide xtest 
Comment 13 Jaroslav Tulach 2005-05-12 09:13:27 UTC
Created attachment 22105 [details]
Updated to BLD200505111800 - use: cvs co -r BLD200505111800 openide core nbbuild xtest  + apply the patch
Comment 14 Jaroslav Tulach 2005-05-18 09:17:56 UTC
Created attachment 22173 [details]
Changes in all other modules, especially in their project.xml files
Comment 15 Jesse Glick 2005-05-18 16:31:23 UTC
Why the hack to apisupport/ant's cp.extra? It should be using the proper dep
(o.n.c.modules or whatever core.jar is now) and not this hack. Ditto for
autoupdate. And why did you remove apisupport/ant's dep on the ant module?
That's wrong, it needs the ant module to be enabled. Could you review the diffs
to check for cases like these?

Don't make changes to modules in
apisupport/project/test/unit/data/example-external-projects/; I think your
script is broken on those.

Why the funny indentation in websvc/registry/nbproject/project.xml?
Comment 16 Jaroslav Tulach 2005-05-20 17:16:53 UTC
The whole source base has been branched and synchronized with BLD200505191800 
Use cvs co -r move_58258 standard to get the changes. Btw. currently the 
commit validation is failing as Jemmy is broken (in trunk) and reads wrong 
Bundle.properties. 
 
Re. Jesse's comment, I'll re-run the ant fix-dependencies once more and will 
try to follow your suggestions. Then I'll commit the changes to the branch. 
Comment 17 Jaroslav Tulach 2005-05-23 12:55:34 UTC
Made up-to-date with BLD200505221800. Commit validation will run soon. 
Comment 18 Jaroslav Tulach 2005-05-31 08:47:23 UTC
Made up-to-date with BLD200505301800 
Comment 19 Jaroslav Tulach 2005-06-03 08:49:58 UTC
Made up-to-date with BLD200506021800 
Comment 20 Jaroslav Tulach 2005-06-04 06:42:05 UTC
Created attachment 22495 [details]
Log of the merge into main trunk
Comment 21 Jaroslav Tulach 2005-06-04 07:35:32 UTC
We agreed with Radim, that I can integrate it, but I will get TCR to improve 
the startup time. 
Comment 22 Jaroslav Tulach 2005-06-04 07:35:59 UTC
As log indicates, this is in the trunk now.