Skip to content

Commit f56cb14

Browse files
committed
feat: bootstrap
1 parent bededc7 commit f56cb14

File tree

5 files changed

+135
-1
lines changed

5 files changed

+135
-1
lines changed
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5+
<parent>
6+
<groupId>{{cookiecutter.group_id}}</groupId>
7+
<artifactId>{{cookiecutter.artifact_id}}-parent</artifactId>
8+
<version>1.0-SNAPSHOT</version>
9+
</parent>
10+
<modelVersion>4.0.0</modelVersion>
11+
<artifactId>bootstrap</artifactId>
12+
<properties>
13+
<start-class>{{cookiecutter.package_name}}.boot.{{cookiecutter.domain_capitalized}}Application</start-class>
14+
</properties>
15+
<dependencies>
16+
<!-- left adapter -->
17+
<dependency>
18+
<groupId>{{cookiecutter.group_id}}</groupId>
19+
<artifactId>rest-adapter</artifactId>
20+
</dependency>
21+
<!-- domain -->
22+
<dependency>
23+
<groupId>{{cookiecutter.group_id}}</groupId>
24+
<artifactId>domain</artifactId>
25+
</dependency>
26+
<!-- right adapter -->
27+
<dependency>
28+
<groupId>{{cookiecutter.group_id}}</groupId>
29+
<artifactId>jpa-adapter</artifactId>
30+
</dependency>
31+
<!-- temporary database -->
32+
<dependency>
33+
<groupId>com.h2database</groupId>
34+
<artifactId>h2</artifactId>
35+
<scope>runtime</scope>
36+
</dependency>
37+
<!-- Frameworks & Libraries -->
38+
<dependency>
39+
<groupId>org.springframework.boot</groupId>
40+
<artifactId>spring-boot-starter-actuator</artifactId>
41+
</dependency>
42+
<dependency>
43+
<groupId>org.springframework.boot</groupId>
44+
<artifactId>spring-boot-devtools</artifactId>
45+
</dependency>
46+
</dependencies>
47+
<build>
48+
<finalName>{{cookiecutter.domain}}</finalName>
49+
<plugins>
50+
<plugin>
51+
<groupId>org.springframework.boot</groupId>
52+
<artifactId>spring-boot-maven-plugin</artifactId>
53+
<executions>
54+
<execution>
55+
<goals>
56+
<goal>repackage</goal>
57+
</goals>
58+
<configuration>
59+
<classifier>exec</classifier>
60+
</configuration>
61+
</execution>
62+
</executions>
63+
</plugin>
64+
<plugin>
65+
<groupId>com.societegenerale.commons</groupId>
66+
<artifactId>arch-unit-maven-plugin</artifactId>
67+
<configuration>
68+
<rules>
69+
<preConfiguredRules>
70+
<rule>com.societegenerale.commons.plugin.rules.NoStandardStreamRuleTest</rule>
71+
<rule>com.societegenerale.commons.plugin.rules.NoJodaTimeRuleTest</rule>
72+
<rule>com.societegenerale.commons.plugin.rules.NoJavaUtilDateRuleTest</rule>
73+
<rule>com.societegenerale.commons.plugin.rules.NoPrefixForInterfacesRuleTest</rule>
74+
<rule>com.societegenerale.commons.plugin.rules.NoPublicFieldRuleTest</rule>
75+
<rule>com.societegenerale.commons.plugin.rules.NoInjectedFieldTest</rule>
76+
<rule>com.societegenerale.commons.plugin.rules.NoAutowiredFieldTest</rule>
77+
</preConfiguredRules>
78+
</rules>
79+
</configuration>
80+
</plugin>
81+
<plugin>
82+
<groupId>com.google.cloud.tools</groupId>
83+
<artifactId>jib-maven-plugin</artifactId>
84+
</plugin>
85+
</plugins>
86+
</build>
87+
</project>
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package {{cookiecutter.package_name}}.boot.config;
2+
3+
import org.springframework.context.annotation.Bean;
4+
import org.springframework.context.annotation.Configuration;
5+
import org.springframework.context.annotation.Import;
6+
import {{cookiecutter.package_name}}.domain.{{cookiecutter.domain_capitalized}}Domain;
7+
import {{cookiecutter.package_name}}.domain.port.Obtain{{cookiecutter.domain_capitalized}};
8+
import {{cookiecutter.package_name}}.domain.port.Request{{cookiecutter.domain_capitalized}};
9+
import {{cookiecutter.package_name}}.repository.config.JpaAdapterConfig;
10+
11+
@Configuration
12+
@Import(JpaAdapterConfig.class)
13+
public class BootstrapConfig {
14+
15+
@Bean
16+
public Request{{cookiecutter.domain_capitalized}} getRequest{{cookiecutter.domain_capitalized}}(Obtain{{cookiecutter.domain_capitalized}} obtain{{cookiecutter.domain_capitalized}}) {
17+
return new {{cookiecutter.domain_capitalized}}Domain(obtain{{cookiecutter.domain_capitalized}});
18+
}
19+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package {{cookiecutter.package_name}}.boot;
2+
3+
import org.springframework.boot.SpringApplication;
4+
import org.springframework.boot.autoconfigure.SpringBootApplication;
5+
import org.springframework.context.annotation.ComponentScan;
6+
7+
@SpringBootApplication
8+
@ComponentScan(basePackages = "{{cookiecutter.package_name}}")
9+
public class {{cookiecutter.domain_capitalized}}Application {
10+
11+
public static void main(String[] args) {
12+
SpringApplication.run({{cookiecutter.domain_capitalized}}Application.class, args);
13+
}
14+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
spring:
2+
datasource:
3+
driver-class-name: org.h2.Driver
4+
url: jdbc:h2:mem:testdb;MODE=PostgreSQL
5+
jpa:
6+
generate-ddl: false
7+
hibernate:
8+
ddl-auto: none
9+
database-platform: org.hibernate.dialect.H2Dialect

{{cookiecutter.app_name}}/pom.xml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@
3838
<module>domain</module>
3939
<module>jpa-adapter</module>
4040
<module>rest-adapter</module>
41-
<!--
4241
<module>bootstrap</module>
42+
<!--
4343
<module>acceptance-test</module>-->
4444
</modules>
4545
<dependencyManagement>
@@ -65,6 +65,11 @@
6565
<artifactId>rest-adapter</artifactId>
6666
<version>${project.version}</version>
6767
</dependency>
68+
<dependency>
69+
<groupId>{{cookiecutter.group_id}}</groupId>
70+
<artifactId>bootstrap</artifactId>
71+
<version>${project.version}</version>
72+
</dependency>
6873
<!-- Frameworks & Libraries -->
6974
<dependency>
7075
<groupId>net.lbruun.springboot</groupId>

0 commit comments

Comments
 (0)