xtclang / xvm

Ecstasy and XVM
Other
200 stars 17 forks source link

The XTC Platform project ModuleGenerator doesn't recompile libraries in ~/xqiz.it/platform/build #147

Closed lagergren closed 8 months ago

lagergren commented 9 months ago

I am testing the platform after bugfixing the resource directory thing. One problem I have now is that in the ~/xqiz.it directory, there are xtc modules generated from the "ModuleGenerator.x" class in "common". It seems to create and write xtc module files with an underscore suffix before xtc to ~/xqiz.it/platform/build. However, if there are xtc files there already, they don't seem to get replaced. This has probably always been the case, but I noticed it only because I used an xtc plugin version that changed the internal version to "202402xx". Without explicitly deleting that module directory from ~/xqiz.it, the module generator seems to just ignore overwriting them existing files there, no matter what version they are or if they are generated with a compatible XDK platform. Do I understand that correctly, and how can I fix it? I'm also curious why this code wasn't replacing them, becasue there is a state check of the timestamp for the files, but I was not getting any errors. It seems impossible to me if the timestamp check works that the files should not have been overwritten.

ggleyzer commented 9 months ago

The logic in ModuleGenerator compares the timestamps of the actual DB module (in this case the platform/lib/platformDB.xtc) and the auto-generated wrapper (in this case `~/xqiz.it/platform/build/platformDB_jsondb.xtc).

I assume that when the xdk version changes, the platform developer would be required to clean rebuild the project.

I tested this a couple of times and everything works as expected: as soon as the platformDB.xtc timestamp changes, the platformDB_jsondb.xtc gets rebuilt.

Could you please provide me with a more detailed reproducer?