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 189649 - missing OpenIDE-Module-Implementation-Version
Summary: missing OpenIDE-Module-Implementation-Version
Status: RESOLVED FIXED
Alias: None
Product: cnd
Classification: Unclassified
Component: execution (show other bugs)
Version: 7.0
Hardware: All All
: P2 normal (vote)
Assignee: Egor Ushakov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-08-18 18:40 UTC by Thomas Preisler
Modified: 2010-09-16 02:55 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Preisler 2010-08-18 18:40:16 UTC
Many of our modules (~40) in cnd and dlight don't have Implementation Version set. It will cause update problems if another module declares an implementation version dependency on one of these modules and the module gets rebuilt. Bug assigned to Andrew for his fixes. Please re-assign to next person when done.

More details:

If a module *doesn't* have "Implementation Version" set in it's properties (API Versioning), it will get a new random implementation version assigned every time you build it. nativeexecution module doesn't have this set and it's implementation version is something like
    OpenIDE-Module-Implementation-Version: 100817-76836433d241
when we build it.

If a module *has* "Implementation Version" set in it's properties (usually just '1'), this value doesn't change when you build it and it shows up as for instance:
    OpenIDE-Module-Implementation-Version: 1

So, if a module is well written, you can put it on the update center and all modules, even those with a implementation dependency, will continue to work.
Comment 1 Vladimir Kvashin 2010-08-19 13:47:53 UTC
Why should we use implementation dependencies?
I strongly believe we should not.
And if we don't, why should we care?
Comment 2 Thomas Preisler 2010-08-19 18:48:11 UTC
We should not use implementation dependencies, but the core issue is many of our modules don't have the declared implementation version and it creates an update problem for those modules that has a implementation dependencies. And that includes third-party code like THA, dbxgui (if it has any), MC code, and whatever is out there. It is a vali to use our modules this way so we have to make sure they are well-written by adding the implementation version.

Another task for us (CND/dlight) is to move from using implementation dependencies to a specification-version dependency, but it is a secondary task and doesn't fix the core issue.
Comment 3 Andrew Krasny 2010-08-20 12:10:30 UTC
OK... 
Modules that have implementation dependencies on (current state) are:

First column description: 
   first '+' means that this module already has impl spec number defined
   first '-' means that this module has no impl spec number defined
   second '+' means that all (known) impl dependent modules are in the same 
              repository
   second '-' means we have (known) 3rd-party/close-source modules (from 
              different repository) that have impl dependency on it

-+: analytics.management
++: cnd
--: cnd.dwarfdump
+-: dlight
+-: dlight.collector.stdout
+-: dlight.core.stack
--: dlight.extras
+-: dlight.management
--: dlight.memory
--: dlight.nativeexecution
--: dlight.spi
-+: dlight.targets
++: dlight.threadmap.support
++: dlight.threads
-+: dlight.ui
--: dlight.util
+-: dlight.visualizers


Modules that have second '-' have cross-repositories implementation dependencies. We should do our best to avoid them. 
Those that have '--' - will definitely lead to problems once they are updated from UC.
Those that have '+-' - may lead to problems once they are updated from UC.

For now at least we need to define impl. version spec for them...
Comment 4 Egor Ushakov 2010-09-15 13:13:01 UTC
added implementation version 1 to all cnd and dlight modules just in case:
http://hg.netbeans.org/cnd-main/rev/930a4cc7f6d4
Comment 5 Quality Engineering 2010-09-16 02:55:13 UTC
Integrated into 'main-golden', will be available in build *201009160000* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main/rev/930a4cc7f6d4
User: Egor Ushakov <gorrus@netbeans.org>
Log: fixed #189649 (missing impl versions)