These are chat archives for alpapad/HotswapAgent

17th
Apr 2016
alpapad
@alpapad
Apr 17 2016 18:58
This gitter thingy is a monster! It gets everything from the repo!!
Anyway, just some random updates: I am working on getting some jar version resolving mechanism so it will be possible to know if the classes being patched come from a specific version (triggered by hibernate4 vs hibernate3 module which don't work together -- there is always the option to enable/disable modules via the configuration, but...).
So far I have the version ranges algorithm ripped from maven. So it is possible to say match version [3.0,4.0) and [4.0,)
Second part is how you get the version from the jar itself. The Manifest has some info which comes in various forms:
Implementation-Version, Bundle-Version and them Bundle-Symbolic-Name (for artifact id) etc etc...
alpapad
@alpapad
Apr 17 2016 19:04
This has worked but there is one major drawback: You can have shaded jars, that is jars which package multiple artifacts (one example is weld which in Jboss As is packaged as multiple jars while there is also the se jar which packages everything together...)
So we have to revert to another technique.. Luckily maven packages pom.xml and a pom.properties file and for shaded jars you get them all (in different paths groupId/artifactId)..
Work on this is moving slowly, but steadily.
-- I was told, there is a gitter space for HotswapAgent. Shouldn't we move the discussions there??? I opened this account as a test....
Vladimir Dvorak
@skybber
Apr 17 2016 19:36
I'm trying to resolve weird bug either in DCEVM or in Eclipse for several days. The problem arises when inner class is added or changed then DCEVM receives through JVMTI old versions of inner classes. It is pretty anoying especially in frameworks like Deltaspike where navigation rules are based on complex class structure. I spent several hours by debugging DCEVM code but it looks the problem is somewhere in JDI layer or even in eclipse.
Vladimir Dvorak
@skybber
Apr 17 2016 19:42
Otherwise DCEVM is very nice patch. Sometime I'm missing initialization of new enumeration items and initialization of new static members. But both can be solved as I believe.
alpapad
@alpapad
Apr 17 2016 19:42
(Not sure if this is relavant, but...) Does it work with just autoHotswap=true and no eclipse debuging? And maybe an increased delay in the watcher?
I noticed (while trying to get a kind of working watcher for darn windows) that eclipse will do lots of deletes, modifies etc etc before you actually get the final create/modify...
In there work going on for jav9 && DCEVM?
Vladimir Dvorak
@skybber
Apr 17 2016 19:45
I dont have any information from Ivan Dubrov about java9 support.
I have java7 and java8 in my personal git repositories, sometimes I'm looking on Ivan updates but no info about java9.
alpapad
@alpapad
Apr 17 2016 19:49
They are making lots of changes, with modularity and the likes.. I hope they don;t break the hot-swapping support...
Vladimir Dvorak
@skybber
Apr 17 2016 19:52
Hotswapping code in DCEVM completely replaces the original one.
alpapad
@alpapad
Apr 17 2016 19:52
bon, I need to go to bed... GMT+2 here :-) Cu
Vladimir Dvorak
@skybber
Apr 17 2016 19:53
OK :) Cu