Hi Sven,
  Try starting from the Persistence section of the architecture wiki:

https://wiki.jenkins-ci.org/display/JENKINS/Architecture

  That has links to lead to good tips related to evolving data structures.

  -- Dean

From: Hans Dampf 
<[email protected]<mailto:[email protected]>>
Reply-To: 
"[email protected]<mailto:[email protected]>" 
<[email protected]<mailto:[email protected]>>
Date: Monday, February 25, 2013 5:14 AM
To: "[email protected]<mailto:[email protected]>" 
<[email protected]<mailto:[email protected]>>
Subject: How to purge serialized descriptor data on plugin update

Hi all,

after some years I refactored my SCM plugin: 
https://github.com/weltraumschaf/darcs-plugin

One refactoring was to extract the class DarcsScm$DescriptorImpl in a separate 
class. Because I like smaller class more in sake of good software design etc. 
pp. But now I have the problem on updating the plugin Jenkins try to find 
DarcsScm$DescriptorImpl on start up. Although I changed the 
DarcsScm#serialVersionUid. I found that there is a file 
'org.jenkinsci.plugins.darcs.xml' in the Jenkins root directory which 
references to the class name in the root XML tag. If I delete that file Jenkins 
starts and the plugin installs clean. But this is no good usability tell the 
plugin users to delete that file before upgrading.

Is there a hook or something like that, where I can trigger 
deletion/regeneration of this file on plugin installation?

I don't want to put the descriptor claqss back into the plugin class because 
this will lead to messy code (> 700 LOCs). AFAIK is it a problem with Java 
serialisation at this point. I will have same problems if I delete, rename, add 
properties to the DarcsScm class. What is the best and most clean approach to 
refactor such a serializable plugin class?

I tried to find information about that topic in the net, but found only 
genereall not Jenkins related topics. What are the keywyrds to find more 
information about this serialisation stuff in Jenkins? Why is DarcsScm clas 
sserialiszed? What is the purpose?

kind regards
Sven

--
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to 
[email protected]<mailto:[email protected]>.
For more options, visit https://groups.google.com/groups/opt_out.


-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to