IsoFrieze / DiztinGUIsh

A Super NES ROM Disassembler
GNU General Public License v3.0
270 stars 26 forks source link

test XML version migrations #25

Closed binary1230 closed 3 years ago

binary1230 commented 4 years ago

One reason I went through the trouble of getting an XML based file format setup for Diz projects is ease of adding new types of data to the save file. You simply add a public get/set property to a class, and the library we're using, ExtendedXmlSerializer, picks it up and load/saves it to the XML file. Pretty great.

If we classes later, we need to add migration support to deal with those changes. Luckily, EXS has solid-looking support for that with its Migrations feature, as seen here: https://github.com/ExtendedXmlSerializer/home/wiki/Example-Scenarios#migrate-xml-based-on-older-class-model (search for .AddMigration()

This task basically boils down to: before we release v2.0, demonstrate that migration support (at least the basics) works. I don't want to have 2.0 ship and then have to deal with supporting project save files that work around not having setup migration support.

binary1230 commented 3 years ago

I think with the fix for #50 in, this should be pretty well covered now