- Maven 3.9.6+
- Java JDK 11
mvn clean install
The project uses JUnit with Mutation tests and IT tests.
Before adding new code, make sure to add test cases for it so that the maintainers can provide guidance and simulate the same scenarios.
- They're just conventional JUnit tests.
- Avoid excessive mocks.
- Try to use the AAA structure, stands for: Arrange, Act, Assert
- Ensure all the mutations were killed and covered.
- Make sure to add your project scenario to the
resources-itfolder. - Include your IT scenario in the class
TemplifyIT. (This class is responsible for executing the Maven plugin build for the project scenarios) - Ensure the tests are marked as
@MavenTestand have meaningful asserts.
If you face any issue about the
https://docs.github.com/en/get-started/exploring-projects-on-github/contributing-to-a-project
git switch -C <add-your-new-branch-name>
For example:
git switch -C update-readme
This repository uses the Conventional Commits standard.
For example: -
git commit -m "feat: add new feature"
git commit -m "docs: correct spelling of CHANGELOG"
git commit -m "feat(api)!: send an email to the customer when a product is shipped"
Push your changes using the command git push:
git push origin <add-your-branch-name>
Replacing <add-your-branch-name> with the name of the branch you created earlier.
You'll see a Compare & pull request button. Click on that button.
Now submit the pull request.
Soon I'll be merging all your changes into the main branch of this project. You will get a notification email once the changes have been merged.
Congrats!
You just completed the standard fork/clone -> branch -> commits -> PR_ workflow that you'll often encounter as a contributor!
---
title: Plugin Architecture
---
classDiagram
RunnerDefault <|-- CreateTemplateRunner
note for RunnerDefault "can create templates by ordering tasks."
CopyProjectTask <|-- RunnerTask
note for CopyProjectTask "task accountable for copying project to final directory."
DeleteTemplateIfExistsTask <|-- RunnerTask
note for DeleteTemplateIfExistsTask "task accountable for checking if template exists and deleting it."
ExecuteStepsTask <|-- RunnerTask
note for ExecuteStepsTask "task accountable for process each StepKind."
LoadConfigurationTask <|-- RunnerTask
note for LoadConfigurationTask "task accountable for reading the maven-templify.yml."
class RunnerDefault{
+execute()
}
interface CreateTemplateRunner{
+execute()
}
class RunnerTask{
+execute()
}
class CopyProjectTask{
+execute()
}
class LoadConfigurationTask{
+execute()
}
class ExecuteStepsTask{
+execute()
}
class DeleteTemplateIfExistsTask{
+execute()
}
class templifyMojo{
+execute()
}
RunnerDefault ..> RunnerTask
RunnerDefault ..> RunnerTask
RunnerDefault ..> RunnerTask
RunnerDefault ..> RunnerTask
templifyMojo ..> CreateTemplateRunner