Bug 378195 - Support Hot Code Replacement for OT/Equinox
Summary: Support Hot Code Replacement for OT/Equinox
Status: VERIFIED FIXED
Alias: None
Product: Objectteams
Classification: Tools
Component: OTEquinox (show other bugs)
Version: 2.0.2   Edit
Hardware: PC Linux
: P3 enhancement (vote)
Target Milestone: 2.1 M7   Edit
Assignee: Stephan Herrmann CLA
QA Contact:
URL:
Whiteboard:
Keywords: noteworthy
Depends on:
Blocks:
 
Reported: 2012-05-01 17:09 EDT by Stephan Herrmann CLA
Modified: 2012-11-11 16:38 EST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stephan Herrmann CLA 2012-05-01 17:09:33 EDT
After bug 378176 has brought HCR for plain OT/J applications, we want the same functionality for debugging OT/Equinox bundles, too.
However, in that case we don't yet have an agent to hook into.
It seems we need to add such an agent (just for the debugging case), which entails different command line args for debug launches etc.
Comment 1 Stephan Herrmann CLA 2012-05-08 13:52:36 EDT
The core implementation has been released via 77cb8e7bc8313aea7c901f6da62ec0443cb246c6.

I still want to integrate this with the UI as to automatically insert the -javaagent argument into the debugging command line.
Comment 2 Stephan Herrmann CLA 2012-05-08 13:56:16 EDT
One note on the implementation in commit 77cb8e7bc8313aea7c901f6da62ec0443cb246c6:

The layers of transformers were mixing dot based and slash-based names. With the patch we have this:
- the agent expects slash-based names and feeds dot-based names into the class loading hook
- TransformerHook operates with dot-based names and feeds slash-based names into the ObjectTeamsTransformer

As a side-effect jplis_dump files are now always stored in directories (used to happen only for OT/J not OT/Equinox).
Comment 3 Stephan Herrmann CLA 2012-05-08 14:49:13 EDT
Released for 2.1 M7

IDE level fix is in a678c3a8f59cccb3e9cdc55a34933b1ae114e63d:
- we know automatically pass the appropriate -javaagent to all OT/Equinox debug launches.
Did a bit of re-structuring to easily access the agent jar via the OTDT_INSTALL variable.
Comment 4 Stephan Herrmann CLA 2012-11-11 16:38:45 EST
Verified through use in day-to-day work.