-
Notifications
You must be signed in to change notification settings - Fork 1
Build infrastructure adjusted to new LF repository structure #17
Conversation
a-sr
commented
Jun 15, 2023
•
edited
Loading
edited
- Updated LF submodule
- Adjusted build configuration in Maven and Eclipse
- Added mock classes that provide Kotlin-based classes for live runs. (This only affects live runs and debug runs from within Eclipse, not the final product, which will contain the real compiled Kotlin classes.)
- Fixed problem with URI access (requires Adjustments for running the LF compiler in Epoch lingua-franca#1844)
- Fixed compiler error detection in tests
- Fixed code in FederatedHelloWorld
This only affects live runs and debug runs from within Elcipse, not the final product, which will contain the real compiled Kotlin classes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good idea to introduce these mock classes. Much better than the injection we were doing in the main code base...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't really understand what you did here. What is the point of these changes?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I need to check whether there is an error during compilation but I don't want to parse the output of the compiler. Hence, I supply the compiler with a special error reporter to hook into the error handling. In the previous version, the occurrence on an error directly raised assertion error but it turns out the compilation is running in a separate thread, so JUnit does not notice the error and reported a successful test, even if the compilation failed. Admittedly, the new version is not perfect, but now it sets a static field to file the error in the compilation and then the JUnit test checks that field to raise an assertion error there.