-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Maven build #6
Merged
Merged
Maven build #6
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- Moved core source to core module - Added POM for core module
- Moved examples to core resources
- Moved grammar files to core resources
- Added GUI module and POM - Moved GUI source and tests
- Moved tests - Moved runtime to GUI (is not really independent) - Fixed "bug" in USE grammar (values is a reserved word) - Changed some libraries to be compatible with maven and JDK 15
- Moved USE-Compiler tests to resource folder - Moved model test helper to source, because it is used by core and GUI (not really sound, I know) - Improved error handling in USECompilerTest
- Removed libraries
- POM file for USE - Ignore target directories
- Move generated parser and lexer to folder structure for package (IntelliJ now finds them) - gitignore file for IntelliJ IDE
- Moved etc to ressource folder - Moved Images to resource folder - Changed access to images and properties - Set UTF-8 as source encoding
- First version of integration tests from input files done with JUnit instead of using shell commands. - Uses the TestFactory feature of JUnit 5. - Integration tests are read from files placed in "it/resources/shell" - Expected and actual output are compared via a diff library
- Second version of integration tests from input files done with JUnit instead of using shell commands. - Now for each test a new USE instance is started to simulate the previous behavior of shell based tests - Failing tests now writer an .expected and .actual file to ease diffing
- Aligned to styleguide
- Refactored and documented ShellIT
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR switches the build process entirely to Maven as grounding work for an continuous integration prcoess at GitHub.
Major changes
To be able to switch to Maven, some major changes to the structure of USE needed to be done.
Maven modules
USE was split up into two modules:
use-core
This module can be used as a library by other tools. It has no dependency to graphical artifacts or to the shell.
use-gui
This module contains all parts for user interaction, i.e., the Shell and the USE GUI. As a consequence, the existing integration tests are also placed here, since they use the shell as the their interface.
This is not same separation as bofore, where to jar-archives were build. Beforehand, the
use.jar
archive, included the shell, that is now moved to theuse-gui
part. From an architectural point of view this is more strict.Unit-Tests
The unit-tests were moved to the default locations recommendet by Maven:
src/test/
.The input files for the
USECompilerTest
were moved to theresource
folder.Tests touching GUI elements were moved to the
use-gui
module.Integration tests
The integration tests (sometimes called regression tests) that were located in
./test
are now executed by using a JUnit TestFactory that uses the same input files as before to generate the tests. SeeShellIT.java
for details.The execution itself is done during an integration testphase in maven.
This removes some dependencies that required Linux to execute (even on Windows operation systems) the tests.
Open issues
There are some things to do, to complete the switch to Maven: