base-project merge requestshttps://code.fbi.h-da.de/db2-praktikum/base-project/-/merge_requests2020-10-14T18:29:06Zhttps://code.fbi.h-da.de/db2-praktikum/base-project/-/merge_requests/1Fix typos & grammar in README.md2020-10-14T18:29:06ZAndreas SeitzFix typos & grammar in README.mdhttps://code.fbi.h-da.de/db2-praktikum/base-project/-/merge_requests/2Lab03 fixes2019-12-02T21:08:46ZLukas KöhlerLab03 fixesas discussedas discussedStefan Ruehlstefan.ruehl@h-da.deStefan Ruehlstefan.ruehl@h-da.dehttps://code.fbi.h-da.de/db2-praktikum/base-project/-/merge_requests/3Pipeline fix2019-12-04T10:23:40ZLukas KöhlerPipeline fixStefan Ruehlstefan.ruehl@h-da.deStefan Ruehlstefan.ruehl@h-da.dehttps://code.fbi.h-da.de/db2-praktikum/base-project/-/merge_requests/42020 03 02 major update2020-04-17T09:34:02ZLukas Köhler2020 03 02 major updateLukas KöhlerLukas Köhlerhttps://code.fbi.h-da.de/db2-praktikum/base-project/-/merge_requests/5Revert dcc258fb2020-04-27T10:17:01ZGhost UserRevert dcc258fbhttps://code.fbi.h-da.de/db2-praktikum/base-project/-/merge_requests/6update der gradle version, to build successfully on Linux and Windows.2020-10-14T18:14:39ZThomas Weigelupdate der gradle version, to build successfully on Linux and Windows.# gradle version update
My college (on Windows 10) and I (on ubuntu) get some trubble with the build pipeline. We noticed, that we fixed it with an update of gradle to 6.3.# gradle version update
My college (on Windows 10) and I (on ubuntu) get some trubble with the build pipeline. We noticed, that we fixed it with an update of gradle to 6.3.https://code.fbi.h-da.de/db2-praktikum/base-project/-/merge_requests/7Load csv2020-04-27T10:24:23ZGhost UserLoad csvhttps://code.fbi.h-da.de/db2-praktikum/base-project/-/merge_requests/8Use gradle docker image for more resilient builds.2020-10-14T18:14:29ZGhost UserUse gradle docker image for more resilient builds.https://code.fbi.h-da.de/db2-praktikum/base-project/-/merge_requests/9Fix/Improve CI config2023-01-14T20:38:52ZGhost UserFix/Improve CI configFixes #3
Also run tests in ci (What is the whole point of having tests if you don't run them in your pipeline?)Fixes #3
Also run tests in ci (What is the whole point of having tests if you don't run them in your pipeline?)https://code.fbi.h-da.de/db2-praktikum/base-project/-/merge_requests/10Improve implementation and tests2022-04-08T06:14:45ZMarkus LöweImprove implementation and testsTries to improve the base lab implementation and the tests.
Changes:
- Update Gradle to 7.3
This also updated the Gradle Wrapper scripts and JARs. You can (and should) compare the scripts with the offical Gradle scripts https://github...Tries to improve the base lab implementation and the tests.
Changes:
- Update Gradle to 7.3
This also updated the Gradle Wrapper scripts and JARs. You can (and should) compare the scripts with the offical Gradle scripts https://github.com/gradle/gradle/blob/master/gradlew and https://github.com/gradle/gradle/blob/master/gradlew.bat to verify that they are legit. For the modified `gradle-wrapper.jar` I highly encourage you to compare its checksum with the expected checksum for version 7.3 listed at https://gradle.org/release-checksums/#v7.3 to verify that it is legit (and that I am not adding malicious binaries).
- Uses [Gradle toolchains](https://docs.gradle.org/current/userguide/toolchains.html) to specify usage of JDK 11. This will download a matching JDK if none is found locally, making sure that (at least when running Gradle from command line), students will get consistent results. IDE support for automatically detecting the version might vary. Students might still have to download a JDK manually.
- Updates dependencies and plugins
- Fix Controller not working when project has file path with special characters or spaces (caused by incorrect conversion from `URL` to `File`)
- Improve Controller handling of incorrect student defined classes
- Simplify CsvDataReader implementation
- Improve Lab02EntityManager API to better handle closing of EntityManagerFactory
- Switches from JUnit 4 to JUnit 5
- Dynamically skips tests when students have not implemented the tasks for all labs yet. This allows them to perform a complete Gradle build (`./gradlew clean build`) even when they have not implemented the classes for lab 2 or lab 3 yet.
- Run Lab01Test by CI. As mentioned in the point above this won't cause test failures when students have not implemented classes for this lab yet. Lab02Test and Lab03Test are not run because they require a database connection. (It might be possible to implement this with [Testcontainers](https://www.testcontainers.org/) or [GitLab services](https://docs.gitlab.com/ee/ci/services/postgres.html) but it appears the usage of `javax.persistence.schema-generation.database.action` `none` starting with lab 3 would not work well for this; unless a new PU for unit tests is added and Lab02EntityManager API is changed to take a PU name as argument.)
- Perform more assertions in test classes avoiding some runtime exceptions caused by incorrect implementations by students
- Improve Gradle test output when run from command line, logging test executions on console (will hopefully be helpful for students new to Gradle); by default Gradle is not logging successful test executions.
These changes might require adjustments to the lab task PDFs.
Note that I have not completed all lab tasks, therefore I was not able to verify that all lab tasks still work as expected. Could you please test against your sample solution?
I hope these proposed changes are useful. Please let me know if you want anything changed. Any feedback is appreciated.
Also feel free to only incorporate parts of this merge request.
Sorry in case this merge request is too intrusive.https://code.fbi.h-da.de/db2-praktikum/base-project/-/merge_requests/11run tests on ci server2022-06-07T21:59:11ZSteffen Schnitzerrun tests on ci serverRun Tests with DB access also on the CI Server.
This requires the students to push only with the configured persistence unit: fbi-postgresPU.
However, this requirement is already stated in the task sheets.Run Tests with DB access also on the CI Server.
This requires the students to push only with the configured persistence unit: fbi-postgresPU.
However, this requirement is already stated in the task sheets.Steffen SchnitzerMichael Rothmichael.roth@h-da.deSteffen Schnitzer