This is the project template for LEI's second semester 2023/2024 Integrative Project.
It contains didactic artifacts relevant to the Integrative Project to be developed during the second semester of the academic year of 2023-2024 in the Degree in Informatics Engineering (LEI) from Instituto Superior de Engenharia do Porto (ISEP).
In particular, it has:
- The team members and task assignment during Sprints
- A template to capture and systematize evidence of appropriate application of the Software Development Process, namely regarding the activities of Requirements Engineering, Analysis and Design
- Source code available to students as a starting point
- General description of how the provided application works (and it is structured).
On project root folder, run the following script:
Remarks: it works for Linux and MacOS. For Windows, you have to adapt the script.
$ bin/generate-plantuml-diagrams.sh
This project uses Java and Maven.
We have to declare the maven-surefire-plugin in the pom.xml file and configure the dependencies of this plugin.
We have to declare the following dependencies:
The junit-platform-surefire-provider dependency allows us to run tests that use either the “old” JUnit (3 or 4) or JUnit 5.
If we want to run tests that use JUnit 5, we have to declare the junit-jupiter-engine dependency.
- Junit Jupiter Dependency graph
- JUnit Annotation
mvn clean test
mvn javadoc:javadoc
mvn javadoc:test-javadoc
mvn test jacoco:report
mvn test jacoco:check
mvn org.pitest:pitest-maven:mutationCoverage
mvn org.pitest:pitest-maven:mutationCoverage -DwithHistory
mvn test javadoc:javadoc jacoco:report org.pitest:pitest-maven:mutationCoverage -DhistoryInputFile=target/fasterPitMutationTesting-history.txt -DhistoryOutputFile=target/fasterPitMutationTesting-history.txt -Dsonar.pitest.mode=reuseReport -Dthreads=4 -DtimestampedReports=false
- https://github.com/pitest/pitest-junit5-plugin
- https://mvnrepository.com/artifact/org.pitest/pitest-junit5-plugin
- required to work with JUnit5
- https://mvnrepository.com/artifact/org.pitest/pitest-junit5-plugin
Place the following plugin on the appropriate place of the pom.xml file.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.6.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<archive>
<manifest>
<mainClass>pt.ipp.isep.dei.esoft.project.ui.Main</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</execution>
</executions>
</plugin>
Run the following command on the project root folder. You can use IntelliJ to run the command or the command line of your computer if you hav Maven installed.
mvn package
Run the following command on the project root folder. You can use IntelliJ to run the command or the command line of your computer if you hav Maven installed.
java -jar target/project-template-1.0-SNAPSHOT-jar-with-dependencies.jar