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 30836 - Update module dependencies in manifests
Summary: Update module dependencies in manifests
Status: RESOLVED FIXED
Alias: None
Product: ide
Classification: Unclassified
Component: Code (show other bugs)
Version: 3.x
Hardware: All All
: P3 blocker (vote)
Assignee: issues@ide
URL: http://www.netbeans.org/download/dev/...
Keywords:
Depends on: 30837 30838 30839 30840 30841 30843 30844 30845 30847 30848 30849 30850 30851 30852 30853 30854 30855 30856 30857 30858 30859
Blocks:
  Show dependency tree
 
Reported: 2003-02-07 17:12 UTC by Jan Chalupa
Modified: 2003-08-07 14:46 UTC (History)
1 user (show)

See Also:
Issue Type: TASK
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jan Chalupa 2003-02-07 17:12:50 UTC
[dev-200302070100]

Module manifests should be updated to not include
dependencies on deprecated APIs. Currently, all
such cases are reported as warnings during the
startup of the IDE. The
goal is to eliminate those warnings by updating
the manifests for the 3.5 release.

More info on the subject from Jesse Glick
<jglick@netbeans.org>:

Module's manifest requests an old version of
various APIs, and so for compatibility the module
system automatically offers it everything that was
once in that API. If you manually edit the
manifest a bit to specify which dependencies you
are really using, the warning goes away.

Note that it is not always obvious which
dependencies you are using - ideally you could
just look at the build.xml and that would be
enough. However sometimes people put JARs in their
<classpath> which they are not actually using.
*If* you have gone through your code to remove
unused imports (note: PMD is not always enough, as
it does not apparently find unused package
imports) then you can try removing suspicious
<classpath> entries to see if they are really
being used.

http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/doc-files/upgrade.html#4.0i-sep
Comment 1 _ pkuzel 2003-02-20 17:11:36 UTC
Jesse, does following classpath in build.xml:

<fileset dir="${nbroot}/core/external">
   <include name="xml-apis*.jar"/>
</fileset>

require following dependency in manifest.mf:

OpenIDE-Module-Module-Dependencies: 
 org.netbeans.libs.jaxp/1

?

libs homepage reads that it's necessary only for JAXP/transformations.
Does  the IDE (>3.14) dependency guarantees the JAXP/parsers part?
Comment 2 _ pkuzel 2003-02-20 17:17:33 UTC
Let me extend the question. What dependency have to be declared if
module relies on jars in lib/ext?

crimson-1.1.3.jar
regexp-1.2.jar
rmi-ext.jar
xerces-2.0.2.jar
xml-apis-1.0b2.jar
Comment 3 _ pkuzel 2003-02-20 17:25:36 UTC
Never mind, found it for lib/ext:

OpenIDE-Module-Package-Dependencies: org.apache.regexp[RE]

Comment 4 Jan Chalupa 2003-02-20 17:29:50 UTC
More questions for you, Jesse -- cc'ing.
Comment 5 Jesse Glick 2003-02-20 18:07:07 UTC
Please avoid package dependencies wherever possible.

You do not need, and should not use, any special dependencies just to
get access to xml-apis.jar and to request a SAX or DOM parser.

For xerces, you can use a package dependency, *or* (preferred) use the
module.

For crimson and regexp, you must use a package dependency if you need
to access them. I plan to make regexp into a module someday, so these
deps will be autoconverted.

For rmi-ext, you do not currently require a package dependency (I hate
this JAR) but you should have one if you are using it (just rmi module
I hope).
Comment 6 Jan Jancura 2003-02-24 16:16:46 UTC
fixed in the main trunk
Comment 7 Jan Jancura 2003-02-24 16:17:32 UTC
sorry, it was mistake... 
Comment 8 iformanek 2003-08-06 16:43:03 UTC
Has not been touched for 6 months => closing as fixed. 
Please reopen and update this issue if it is still relevant.
Comment 9 Jesse Glick 2003-08-07 14:46:30 UTC
Fine, all fixed except scripting, which was not in 3.5 anyway.