- 
                Notifications
    You must be signed in to change notification settings 
- Fork 0
feat: add reverse engg with example project #23
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
Conversation
…ld if there is a diff
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces reverse engineering functionality by adding an example project alongside comprehensive template generation capabilities. It creates a structured approach for transforming concrete example code into reusable cookiecutter templates.
- Adds a complete example Java/Spring Boot project with hexagonal architecture
- Implements automated reverse engineering script to convert example to template
- Introduces code formatting, mutation testing, and GitHub Actions CI/CD workflows
Reviewed Changes
Copilot reviewed 64 out of 65 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description | 
|---|---|
| {{cookiecutter.app_name}}/rest-adapter/src/test/java/{{cookiecutter.package_name}}/rest/{{cookiecutter.domain_capitalized}}RestAdapterApplication.java | Removes MockBean annotation and replaces with proper test configuration | 
| {{cookiecutter.app_name}}/rest-adapter/src/test/java/{{cookiecutter.package_name}}/rest/{{cookiecutter.domain_capitalized}}ResourceTest.java | Updates test to use Spring Boot 3.x MockitoBean annotation | 
| {{cookiecutter.app_name}}/rest-adapter/pom.xml | Updates OpenAPI generator version to 7.14.0 | 
| {{cookiecutter.app_name}}/pom.xml | Adds code formatting, git hooks, and mutation testing plugins | 
| {{cookiecutter.app_name}}/domain-api/src/main/java/{{cookiecutter.package_name}}/domain/port/Request{{cookiecutter.domain_capitalized}}.java | Renames method from get{{cookiecutter.domain_capitalized}}s to get{{cookiecutter.domain_plural_capitalized}} | 
| example/ | Complete example project demonstrating the template structure | 
| generate-cookiecutter-template-from-example-project.sh | Script to convert example project to cookiecutter template | 
| .github/workflows/ | CI/CD workflows for template generation and validation | 
Comments suppressed due to low confidence (1)
{{cookiecutter.app_name}}/rest-adapter/src/test/java/{{cookiecutter.package_name}}/rest/{{cookiecutter.domain_capitalized}}ResourceTest.java:22
- The import org.springframework.test.context.bean.override.mockito.MockitoBeanmay not exist in Spring Boot versions earlier than 3.4.0. This annotation was introduced as part of the bean override testing support. Consider verifying the Spring Boot version compatibility or using the traditional@MockBeanapproach for broader compatibility.
import org.springframework.test.context.bean.override.mockito.MockitoBean;
Checklist: