Change Log Report

Total number of changed sets: 1

Changes between 2023-10-24 and 2023-11-24

Total commits: 11
Total number of files changed: 7

Timestamp Author Details
2023-11-23 22:15:33 Jegors Čemisovs <jegors_cemisovs@epam.com> src/test/java/legacy/forth/ForthEvaluatorDiffblueTest.java v 71cf1e3ea270eb8954638304f115596fc2099321
src/test/java/legacy/forth/ForthEvaluatorTest.java v 71cf1e3ea270eb8954638304f115596fc2099321

Replace legacy test class with updated Diffblue test

Our old ForthEvaluatorTest was lacking in test coverage and was not sufficiently robust. It's been replaced with a newly generated ForthEvaluatorDiffblueTest which provides more comprehensive, well-scoped unit tests for the ForthEvaluator class. This will ensure more reliable code and easier troubleshooting going forward.
2023-11-23 22:01:24 Jegors Čemisovs <jegors_cemisovs@epam.com> pom.xml v 7ec529d563e3b9be3912be29ac8bd0c975e3ed06

Add Spock Reports and SLF4J dependencies for testing

The changes include adding Spock Reports and Simple Logging Facade for Java (SLF4J) as test scope dependencies in the pom.xml file. Spock Reports is added to generate human-readable test reports. The reports will improve how we track and understand test results across the team. SLF4J is necessary for logging during the tests. It will help in identifying and resolving issues that may arise during the testing phase.
2023-11-23 21:44:39 Jegors Čemisovs <jegors_cemisovs@epam.com> pom.xml v 1725f067e968b2b9fc909c791f85ff6edae92df7
src/test/java/legacy/forth/ForthEvaluatorTest.java v 1725f067e968b2b9fc909c791f85ff6edae92df7

Add ForthEvaluatorTest and update pom.xml

Added a new test class ForthEvaluatorTest.java in the legacy.forth package. The pom.xml file was updated with changes including lowering the Java version from 21 to 17 and adding the PMD dependency with version 6.55.0. Adjustments were made in the plugins to include maven-pmd-plugin and reorder others. The purpose of these changes is to improve the maintainability and ensure adherence to coding standards in the project.
2023-11-23 20:49:45 Jegors Čemisovs <jegors_cemisovs@epam.com> pom.xml v e8cb5567ae731f245eb60736bb8a3c02a873c3f6

Update Jacoco plugin configuration in pom.xml

Updated the project's pom.xml to better manage the Jacoco maven plugin version and reporting formats. Version number is now controlled by a property and the reporting format has been separated for clarity. A new reportSet was added to the plugin configuration to provide more detailed reports. This improves maintainability and provides clearer reporting.
2023-11-23 20:33:10 Jegors Čemisovs <jegors_cemisovs@epam.com> README.md v c653239e1d30639b27d0015e2592cb4f6ff0302e
pom.xml v c653239e1d30639b27d0015e2592cb4f6ff0302e

"Added JaCoCo plugin configuration and updated README.md"

Added configuration for the JaCoCo Maven plugin to the pom.xml file. These changes introduce additional JaCoCo executions (prepare-agent, report, and jacoco-check) for code coverage and reporting during the test phase of the build lifecycle. The new configuration also sets coverage rules, specifying a minimum covered line ratio of 0.50. This ensures at least 50% code coverage to keep the quality of the codebase stable.

A README.md file was also added, including a link to 'The Legacy Code Challenge', which describes the purpose for introducing the code coverage measures.
2023-11-23 20:32:51 Jegors Čemisovs <jegors_cemisovs@epam.com> src/main/java/legacy/forth/ForthEvaluator.java v b81d3896c2be447f25a9a835f166920e6ca2e6b1

Add ForthEvaluator in legacy package

A new file, ForthEvaluator.java, was added in the legacy.forth package. This file contains the ForthEvaluator class that evaluates programs written in the Forth programming language. It supports basic arithmetic operations (+, -, *, /), stack manipulation commands (dup, drop, swap, over), and user-defined words via ":" command. Exception handling for edge cases like division by zero, redefining numbers, or using undefined operators is also implemented. This addition is a part of expanding the capability of the legacy system to interpret and execute Forth programs.
2023-11-23 20:19:32 Jegors Čemisovs <jegors_cemisovs@epam.com> pom.xml v bd77d691d17f9fd46cd960ebd242d959f4582118

Add new plugins to pom.xml

Several new plugins were added to the pom.xml file. These plugins include 'maven-surefire-report-plugin', 'maven-failsafe-plugin', 'maven-site-plugin', and 'gmavenplus-plugin'. These were added to enhance the capabilities of the build process, improve error reports, and provide additional tools for site generation.
2023-11-23 20:17:57 Jegors Čemisovs <jegors_cemisovs@epam.com> pom.xml v cead3cc9684909ab3eceed0fbb463bb00e9574a7

Add Groovy dependency and update build plugins

Added Groovy as a dependency for use in tests. Updated existing and added additional Maven plugins to increase code quality and testing capabilities. This includes adding the GMavenPlus plugin for Groovy compilation, the Jacoco plugin for code coverage reporting, and others. The standard Maven compiler plugin version has also been updated.
2023-11-23 20:11:14 Jegors Čemisovs <jegors_cemisovs@epam.com> .gitignore v bfad2b7a49e4635921add41a915eb01deff3610e
pom.xml v bfad2b7a49e4635921add41a915eb01deff3610e

"Update .gitignore and enrich pom.xml documentation"

Added IntelliJ IDEA project files to `.gitignore` to prevent accidental commits of IDE-specific files. Extensively updated `pom.xml` to include detailed project information - from description, license, developer's info to SCM details, issue management, and distribution management. These changes will provide more clarity about the project and who's maintaining it. The update also rectifies java version property and adds new test dependencies for better project testing.
2023-11-23 20:05:40 Jegors Čemisovs <jegors_cemisovs@epam.com> LICENSE v cac5d50f0a1583edb3b624ee94481c28f8d8fe57

Add MIT License to the project

An MIT License file was added to the project. This license gives users express permission to use, modify, distribute and sell the software freely. It also disclaims any warranties and states the conditions for reusing the software. This step is crucial in securing mutual understanding and agreement between the developers and users of the software.
2023-11-23 19:58:57 Jegors Čemisovs <jegors_cemisovs@epam.com> .gitignore v 459d9e3bc6296595af477c4c5a5752bfd4d5bfe1
pom.xml v 459d9e3bc6296595af477c4c5a5752bfd4d5bfe1

Add .gitignore and pom.xml files

Added .gitignore file to exclude files and directories that are not necessary or should not be tracked by Git. This will make our version control cleaner and easier to navigate. Also, added pom.xml file to manage project dependencies, build and test settings in our Maven project.