diff --git a/{{cookiecutter.app_name}}/bootstrap/pom.xml b/{{cookiecutter.app_name}}/bootstrap/pom.xml new file mode 100644 index 0000000..b99ac14 --- /dev/null +++ b/{{cookiecutter.app_name}}/bootstrap/pom.xml @@ -0,0 +1,87 @@ + + + + {{cookiecutter.group_id}} + {{cookiecutter.artifact_id}}-parent + 1.0-SNAPSHOT + + 4.0.0 + bootstrap + + {{cookiecutter.package_name}}.boot.{{cookiecutter.domain_capitalized}}Application + + + + + {{cookiecutter.group_id}} + rest-adapter + + + + {{cookiecutter.group_id}} + domain + + + + {{cookiecutter.group_id}} + jpa-adapter + + + + com.h2database + h2 + runtime + + + + org.springframework.boot + spring-boot-starter-actuator + + + org.springframework.boot + spring-boot-devtools + + + + {{cookiecutter.domain}} + + + org.springframework.boot + spring-boot-maven-plugin + + + + repackage + + + exec + + + + + + com.societegenerale.commons + arch-unit-maven-plugin + + + + com.societegenerale.commons.plugin.rules.NoStandardStreamRuleTest + com.societegenerale.commons.plugin.rules.NoJodaTimeRuleTest + com.societegenerale.commons.plugin.rules.NoJavaUtilDateRuleTest + com.societegenerale.commons.plugin.rules.NoPrefixForInterfacesRuleTest + com.societegenerale.commons.plugin.rules.NoPublicFieldRuleTest + com.societegenerale.commons.plugin.rules.NoInjectedFieldTest + com.societegenerale.commons.plugin.rules.NoAutowiredFieldTest + + + + + + com.google.cloud.tools + jib-maven-plugin + + + + diff --git a/{{cookiecutter.app_name}}/bootstrap/src/main/java/{{cookiecutter.package_name}}/boot/config/BootstrapConfig.java b/{{cookiecutter.app_name}}/bootstrap/src/main/java/{{cookiecutter.package_name}}/boot/config/BootstrapConfig.java new file mode 100644 index 0000000..70bf1c7 --- /dev/null +++ b/{{cookiecutter.app_name}}/bootstrap/src/main/java/{{cookiecutter.package_name}}/boot/config/BootstrapConfig.java @@ -0,0 +1,19 @@ +package {{cookiecutter.package_name}}.boot.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; +import {{cookiecutter.package_name}}.domain.{{cookiecutter.domain_capitalized}}Domain; +import {{cookiecutter.package_name}}.domain.port.Obtain{{cookiecutter.domain_capitalized}}; +import {{cookiecutter.package_name}}.domain.port.Request{{cookiecutter.domain_capitalized}}; +import {{cookiecutter.package_name}}.repository.config.JpaAdapterConfig; + +@Configuration +@Import(JpaAdapterConfig.class) +public class BootstrapConfig { + + @Bean + public Request{{cookiecutter.domain_capitalized}} getRequest{{cookiecutter.domain_capitalized}}(Obtain{{cookiecutter.domain_capitalized}} obtain{{cookiecutter.domain_capitalized}}) { + return new {{cookiecutter.domain_capitalized}}Domain(obtain{{cookiecutter.domain_capitalized}}); + } +} diff --git a/{{cookiecutter.app_name}}/bootstrap/src/main/java/{{cookiecutter.package_name}}/boot/{{cookiecutter.domain_capitalized}}Application.java b/{{cookiecutter.app_name}}/bootstrap/src/main/java/{{cookiecutter.package_name}}/boot/{{cookiecutter.domain_capitalized}}Application.java new file mode 100644 index 0000000..856d959 --- /dev/null +++ b/{{cookiecutter.app_name}}/bootstrap/src/main/java/{{cookiecutter.package_name}}/boot/{{cookiecutter.domain_capitalized}}Application.java @@ -0,0 +1,14 @@ +package {{cookiecutter.package_name}}.boot; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.ComponentScan; + +@SpringBootApplication +@ComponentScan(basePackages = "{{cookiecutter.package_name}}") +public class {{cookiecutter.domain_capitalized}}Application { + + public static void main(String[] args) { + SpringApplication.run({{cookiecutter.domain_capitalized}}Application.class, args); + } +} diff --git a/{{cookiecutter.app_name}}/bootstrap/src/main/resources/application.yml b/{{cookiecutter.app_name}}/bootstrap/src/main/resources/application.yml new file mode 100644 index 0000000..94cd8b8 --- /dev/null +++ b/{{cookiecutter.app_name}}/bootstrap/src/main/resources/application.yml @@ -0,0 +1,9 @@ +spring: + datasource: + driver-class-name: org.h2.Driver + url: jdbc:h2:mem:testdb;MODE=PostgreSQL + jpa: + generate-ddl: false + hibernate: + ddl-auto: none + database-platform: org.hibernate.dialect.H2Dialect \ No newline at end of file diff --git a/{{cookiecutter.app_name}}/pom.xml b/{{cookiecutter.app_name}}/pom.xml index 7024ef4..dba9487 100644 --- a/{{cookiecutter.app_name}}/pom.xml +++ b/{{cookiecutter.app_name}}/pom.xml @@ -38,8 +38,8 @@ domain jpa-adapter rest-adapter - @@ -65,6 +65,11 @@ rest-adapter ${project.version} + + {{cookiecutter.group_id}} + bootstrap + ${project.version} + net.lbruun.springboot