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.
Milestone 5 of the profiler adds its own helpset into the Services/JavaHelp folder. If the IDE runs on JDK 1.5, the Help | Help Contents correctly has the profiler help merged in, if the IDE runs on JDK 1.4.2, it does not. I've spent about a day trying to figure out what is happening, but ws not able to make any progress => filing an issue against the help system, as I believe we declare everything correct. Reproducible in NB 4.0, and all build (EA2, recent qbuild) of 4.1
Bumping up the priority, as currently this does not have any workaround, and if not resolved for 4.1, th eprofiler, once released, would not be able to provide any JavaHelp help.
Stan, as discussed, re-assigning to you. Patrick, any ideas? Have you encountered any JDK specific issues when merging help sets?
Ian, are you using version 2.0_02 when building Javahelp?
I am using JK 2.0_01
It doesn't seem like this should make a difference, but I think I heard of another case where it does. Try _02.
Just tried, but it does not help. (Nonetheless will modify the build to use _02 from now on)
i found out that the problem is in profiler's helpset-decl.xml file. the xml is correct but the file contains three bytes at its beginning (ef bb bf) identifying it as an utf-8 encoded file. it seems that the xml parser cannot digest this under jdk 1.4 as it reports an xml parsing error. removing these three bytes makes the helpset merge correctly into the main helpset.
Cool, thanks! BTW, can you please modify the code so that it provides some meaningful error reporting in this case? Figuring this out took much larger amount of time than it should.
unfortunatelly javahelp module cannot report such an error as it happens deep inside the fileobjects/dataobjects/loaders code so these mangled helpset declarations won't even arrive to the javahelp module.
We already have validation for menu, toolbar, windowsystem and it is possible to add also one for javahelp. The javahelp module tests can just scan the folder dedicated to its XML files and verify that all of them represent HelpSet. Possible, however this is going to help only modules in standard CVS as you need to run commit validation to invoke this test, which I doubt profiler runs.
Another possibility is to write a sanity-check task into nbbuild/build.xml for validating of XML files in CVS tree. See the comment at the beggining of this file.
fixed i added a sanity check for the Services/JavaHelp folder. module developers are encouraged to use this test to validate their helpset declarations. Checking in test/unit/src/org/netbeans/core/javahelp/ValidateLayerJavaHelpTest.java; /cvs/core/javahelp/test/unit/src/org/netbeans/core/javahelp/ValidateLayerJavaHelpTest.java,v <-- ValidateLayerJavaHelpTest.java initial revision: 1.1 done
Unfortunately the fix was to correct and caused commit validation to fail. The change in master-config.xml was rolled back. [thurka-mac:nb_all/xtest/instance] thurka% cvs commit -m "rollback of last change to fix broken commit validation" master-config.xml Checking in master-config.xml; /cvs/xtest/instance/master-config.xml,v <-- master-config.xml new revision: 1.127; previous revision: 1.126 done
fixed the broken properties file Checking in project.properties; /cvs/core/javahelp/nbproject/project.properties,v <-- project.properties new revision: 1.5; previous revision: 1.4 done
ValidateLayerJavaHelpTest.java should not be in core/javahelp/test/unit/src; it should be in ide/test/qa-functional/src. It is not a unit test of the JavaHelp API; it is a functional test of the complete IDE build. (Yes I know there are ValidateLayer*Test.java in core/test/unit/src but those should be moved too, we just haven't gotten to it yet.)
I've added Jesse's comment to issue 41356.