metaborg / spoofax-pie

Spoofax implementation using PIE pipelines
Apache License 2.0
12 stars 9 forks source link

Updating the Eclipse LWB plugin and then building a language project causes build errors #39

Closed Gohla closed 2 years ago

Gohla commented 3 years ago

Summary

Updating the Eclipse LWB plugin and then building a language project causes unexpected/weird build errors.

What you did

Update the Eclipse LWB plugin to a newer version, and then build the language project.

What you expected to happen

Building to succeed.

What actually happened

Building fails with a PIE exception, such as hidden dependencies, overlapping provided files, etc.

Context

Additional information

Updating Spoofax may change the equals/hashCode of certain objects, which may influence the build and make it go wrong. It can also happen that deserializing an older serialized state may cause wierd errors.

Gohla commented 2 years ago

This could be fixed by adding code to SpoofaxDynamicLoadingEclipseParticipant#getPieModuleCustomizer that stores/loads the Spoofax version and does not deserialize when the version has changed.

Gohla commented 2 years ago

Fixed for release versions in https://github.com/metaborg/spoofax-pie/commit/3fd637eaf1e7520d098ab94ca7914e9a89233c74. Not fixed for the development version, but that is not something that users should use anyway.