├── .editorconfig
├── .gitignore
├── .npmignore
├── .travis.yml
├── .yo-rc.json
├── LICENSE
├── README.md
├── generators
└── app
│ ├── index.js
│ └── templates
│ ├── _common
│ ├── .mvn
│ │ └── redeploy.sh
│ ├── LICENSE
│ ├── bitbucket-pipelines.yml
│ ├── docs
│ │ ├── docinfo-footer.html
│ │ ├── docinfo.html
│ │ ├── favicon.ico
│ │ └── index.adoc
│ ├── gradle.properties
│ ├── gradle
│ │ ├── allure.gradle
│ │ ├── artifactory-shadow.gradle
│ │ ├── build-scan.gradle
│ │ ├── clean.gradle
│ │ ├── docker-compose.gradle
│ │ ├── docs.gradle
│ │ ├── findbugs.gradle
│ │ ├── ide.gradle
│ │ ├── jacoco.gradle
│ │ ├── java.gradle
│ │ ├── jgiven.gradle
│ │ ├── junit.gradle
│ │ ├── kotlin.gradle
│ │ ├── main.gradle
│ │ ├── publish.gradle
│ │ ├── redeploy.sh
│ │ ├── repositories-config.gradle
│ │ ├── repositories.gradle
│ │ ├── selenide.gradle
│ │ ├── spotbugs.gradle
│ │ ├── spring-boot.gradle
│ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ ├── gradlew
│ ├── gradlew.bat
│ ├── idea.xml
│ ├── mvnw
│ ├── mvnw.cmd
│ └── settings.gradle
│ ├── _dotted
│ ├── gitignore
│ ├── gitlab-ci.yml
│ ├── hgignore
│ ├── mvn-3.5.4
│ │ └── wrapper
│ │ │ ├── MavenWrapperDownloader.java
│ │ │ ├── maven-wrapper.jar
│ │ │ └── maven-wrapper.properties
│ └── mvn
│ │ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── java-akka-actor
│ ├── .mvn
│ │ └── Dockerfile
│ ├── .travis.yml
│ ├── README.adoc
│ ├── build.gradle
│ ├── docker-compose-gradle.yaml
│ ├── docker-compose-maven.yaml
│ ├── gradle
│ │ └── Dockerfile
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ ├── daggerok
│ │ │ │ └── App.java
│ │ │ └── lombok.config
│ │ └── resources
│ │ │ ├── application.conf
│ │ │ └── logback.xml
│ │ └── test
│ │ ├── java
│ │ └── daggerok
│ │ │ ├── AppJUnit4Test.java
│ │ │ ├── AppJUnit5Test.java
│ │ │ └── extensions
│ │ │ └── CaptureSystemOutput.java
│ │ └── resources
│ │ └── junit-platform.properties
│ ├── java-ee-cdi-full-multi-project
│ ├── .mvn
│ │ └── Dockerfile
│ ├── .travis.yml
│ ├── README.adoc
│ ├── build.gradle
│ ├── docker-compose-gradle.yaml
│ ├── docker-compose-maven.yaml
│ ├── ear
│ │ ├── .mvn
│ │ │ └── Dockerfile
│ │ ├── build.gradle
│ │ ├── gradle
│ │ │ └── Dockerfile
│ │ └── pom.xml
│ ├── ejb-data
│ │ ├── build.gradle
│ │ ├── pom.xml
│ │ └── src
│ │ │ └── main
│ │ │ ├── java
│ │ │ └── daggerok
│ │ │ │ ├── Producers.java
│ │ │ │ ├── ejb
│ │ │ │ ├── api
│ │ │ │ │ └── HelloRepository.java
│ │ │ │ └── impl
│ │ │ │ │ └── HelloRepositoryBean.java
│ │ │ │ └── entity
│ │ │ │ └── Hello.java
│ │ │ └── resources
│ │ │ ├── META-INF
│ │ │ └── persistence.xml
│ │ │ └── WEB-INF
│ │ │ └── beans.xml
│ ├── ejb-services
│ │ ├── build.gradle
│ │ ├── pom.xml
│ │ └── src
│ │ │ └── main
│ │ │ ├── java
│ │ │ └── daggerok
│ │ │ │ └── ejb
│ │ │ │ ├── api
│ │ │ │ └── HelloService.java
│ │ │ │ └── impl
│ │ │ │ └── HelloServiceBean.java
│ │ │ └── resources
│ │ │ └── WEB-INF
│ │ │ └── beans.xml
│ ├── gradle
│ │ └── Dockerfile
│ ├── jsp
│ │ ├── build.gradle
│ │ ├── pom.xml
│ │ └── src
│ │ │ └── main
│ │ │ └── webapp
│ │ │ └── index.jsp
│ ├── pom.xml
│ ├── rest
│ │ ├── build.gradle
│ │ ├── pom.xml
│ │ └── src
│ │ │ └── main
│ │ │ ├── java
│ │ │ ├── daggerok
│ │ │ │ └── rest
│ │ │ │ │ ├── ApplicationConfig.java
│ │ │ │ │ └── hello
│ │ │ │ │ └── HelloResource.java
│ │ │ └── lombok.config
│ │ │ └── resources
│ │ │ └── WEB-INF
│ │ │ └── beans.xml
│ ├── servlet
│ │ ├── build.gradle
│ │ ├── pom.xml
│ │ └── src
│ │ │ └── main
│ │ │ ├── java
│ │ │ ├── daggerok
│ │ │ │ └── servlet
│ │ │ │ │ └── HelloServlet.java
│ │ │ └── lombok.config
│ │ │ └── resources
│ │ │ └── WEB-INF
│ │ │ └── beans.xml
│ ├── settings.gradle
│ └── web
│ │ ├── build.gradle
│ │ ├── pom.xml
│ │ └── src
│ │ └── main
│ │ └── webapp
│ │ └── index.html
│ ├── java-ee-ejb-full-multi-project
│ ├── .mvn
│ │ └── Dockerfile
│ ├── .travis.yml
│ ├── README.adoc
│ ├── build.gradle
│ ├── docker-compose-gradle.yaml
│ ├── docker-compose-maven.yaml
│ ├── ear
│ │ ├── .mvn
│ │ │ └── Dockerfile
│ │ ├── build.gradle
│ │ ├── gradle
│ │ │ └── Dockerfile
│ │ └── pom.xml
│ ├── ejb-data
│ │ ├── build.gradle
│ │ ├── pom.xml
│ │ └── src
│ │ │ └── main
│ │ │ ├── java
│ │ │ └── daggerok
│ │ │ │ ├── ejb
│ │ │ │ ├── api
│ │ │ │ │ └── HelloRepository.java
│ │ │ │ └── impl
│ │ │ │ │ └── HelloRepositoryBean.java
│ │ │ │ └── entity
│ │ │ │ └── Hello.java
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ └── persistence.xml
│ ├── ejb-services
│ │ ├── build.gradle
│ │ ├── pom.xml
│ │ └── src
│ │ │ └── main
│ │ │ └── java
│ │ │ └── daggerok
│ │ │ └── ejb
│ │ │ ├── api
│ │ │ └── HelloService.java
│ │ │ └── impl
│ │ │ └── HelloServiceBean.java
│ ├── gradle
│ │ └── Dockerfile
│ ├── jsp
│ │ ├── build.gradle
│ │ ├── pom.xml
│ │ └── src
│ │ │ └── main
│ │ │ └── webapp
│ │ │ └── index.jsp
│ ├── pom.xml
│ ├── rest
│ │ ├── build.gradle
│ │ ├── pom.xml
│ │ └── src
│ │ │ └── main
│ │ │ └── java
│ │ │ ├── daggerok
│ │ │ └── rest
│ │ │ │ ├── ApplicationConfig.java
│ │ │ │ └── hello
│ │ │ │ └── HelloResource.java
│ │ │ └── lombok.config
│ ├── servlet
│ │ ├── build.gradle
│ │ ├── pom.xml
│ │ └── src
│ │ │ └── main
│ │ │ └── java
│ │ │ ├── daggerok
│ │ │ └── servlet
│ │ │ │ └── HelloServlet.java
│ │ │ └── lombok.config
│ ├── settings.gradle
│ └── web
│ │ ├── build.gradle
│ │ ├── pom.xml
│ │ └── src
│ │ └── main
│ │ └── webapp
│ │ └── index.html
│ ├── java-ee-faces
│ ├── .mvn
│ │ └── Dockerfile
│ ├── .travis.yml
│ ├── README.adoc
│ ├── build.gradle
│ ├── docker-compose-gradle.yaml
│ ├── docker-compose-maven.yaml
│ ├── gradle
│ │ └── Dockerfile
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ ├── daggerok
│ │ │ │ └── IndexBean.java
│ │ │ └── lombok.config
│ │ └── webapp
│ │ │ ├── WEB-INF
│ │ │ ├── beans.xml
│ │ │ ├── faces-config.xml
│ │ │ └── web.xml
│ │ │ └── index.xhtml
│ │ └── test
│ │ ├── java
│ │ └── daggerok
│ │ │ ├── AppJUnit4Test.java
│ │ │ ├── AppJUnit5Test.java
│ │ │ └── extensions
│ │ │ └── CaptureSystemOutput.java
│ │ └── resources
│ │ └── junit-platform.properties
│ ├── java-ee-thymeleaf
│ ├── .mvn
│ │ └── Dockerfile
│ ├── .travis.yml
│ ├── README.adoc
│ ├── build.gradle
│ ├── docker-compose-gradle.yaml
│ ├── docker-compose-maven.yaml
│ ├── gradle
│ │ ├── Dockerfile
│ │ └── java.gradle
│ ├── pom-0.100.2.xml
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ ├── daggerok
│ │ │ │ ├── App.java
│ │ │ │ ├── health
│ │ │ │ │ └── HealthResource.java
│ │ │ │ └── mvc
│ │ │ │ │ ├── IndexPage.java
│ │ │ │ │ ├── StaticResourcesResource.java
│ │ │ │ │ └── ThymeleafViewEngine.java
│ │ │ └── lombok.config
│ │ ├── resources
│ │ │ └── META-INF
│ │ │ │ └── persistence.xml
│ │ └── webapp
│ │ │ └── WEB-INF
│ │ │ ├── assets
│ │ │ ├── favicon.ico
│ │ │ ├── scripts-0.100.2.js
│ │ │ ├── scripts.js
│ │ │ └── styles.css
│ │ │ ├── beans.xml
│ │ │ └── layouts
│ │ │ ├── default-0.100.2.html
│ │ │ ├── default.html
│ │ │ └── index.html
│ │ └── test
│ │ ├── java
│ │ └── daggerok
│ │ │ ├── AppJUnit4Test.java
│ │ │ └── AppJUnit5Test.java
│ │ └── resources
│ │ └── junit-platform.properties
│ ├── java-ee
│ ├── .mvn
│ │ └── Dockerfile
│ ├── .travis.yml
│ ├── README.adoc
│ ├── build.gradle
│ ├── docker-compose-gradle.yaml
│ ├── docker-compose-maven.yaml
│ ├── gradle
│ │ ├── Dockerfile
│ │ └── java.gradle
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ ├── daggerok
│ │ │ │ ├── App.java
│ │ │ │ └── health
│ │ │ │ │ └── HealthResource.java
│ │ │ └── lombok.config
│ │ ├── resources
│ │ │ └── META-INF
│ │ │ │ └── persistence.xml
│ │ └── webapp
│ │ │ └── WEB-INF
│ │ │ └── beans.xml
│ │ └── test
│ │ ├── java
│ │ └── daggerok
│ │ │ ├── AppJUnit4Test.java
│ │ │ └── AppJUnit5Test.java
│ │ └── resources
│ │ └── junit-platform.properties
│ ├── java-parent-multi-project
│ ├── .mvn
│ │ └── Dockerfile
│ ├── .travis.yml
│ ├── README.adoc
│ ├── build.gradle
│ ├── docker-compose-gradle.yaml
│ ├── docker-compose-maven.yaml
│ ├── gradle
│ │ ├── Dockerfile
│ │ └── java.gradle
│ └── pom.xml
│ ├── java-payara-micro
│ ├── .mvn
│ │ └── Dockerfile
│ ├── .travis.yml
│ ├── README.adoc
│ ├── build.gradle
│ ├── docker-compose-gradle.yaml
│ ├── docker-compose-maven.yaml
│ ├── gradle
│ │ ├── Dockerfile
│ │ └── payara-micro.gradle
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── github
│ │ │ └── daggerok
│ │ │ ├── PayaraGradleAppConfig.java
│ │ │ └── app
│ │ │ ├── ErrorHandler.java
│ │ │ ├── MyRepository.java
│ │ │ └── MyResource.java
│ │ └── webapp
│ │ ├── favicon.ico
│ │ └── index.jsp
│ ├── java-spring-boot-1.x
│ ├── .mvn
│ │ └── Dockerfile
│ ├── .travis.yml
│ ├── README.adoc
│ ├── build.gradle
│ ├── docker-compose-gradle.yaml
│ ├── docker-compose-maven.yaml
│ ├── gradle
│ │ ├── Dockerfile
│ │ ├── java.gradle
│ │ ├── repositories-config.gradle
│ │ └── spring-boot.gradle
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ ├── daggerok
│ │ │ │ └── App.java
│ │ │ └── lombok.config
│ │ └── resources
│ │ │ ├── application-spring-boot.properties
│ │ │ ├── application.properties
│ │ │ ├── public
│ │ │ └── favicon.ico
│ │ │ └── templates
│ │ │ └── index.html
│ │ └── test
│ │ ├── java
│ │ └── daggerok
│ │ │ └── AppTests.java
│ │ └── resources
│ │ └── junit-platform.properties
│ ├── java-spring-boot-2.0.x
│ ├── .mvn
│ │ └── Dockerfile
│ ├── .travis.yml
│ ├── README.adoc
│ ├── build.gradle
│ ├── docker-compose-gradle.yaml
│ ├── docker-compose-maven.yaml
│ ├── gradle
│ │ ├── Dockerfile
│ │ ├── java.gradle
│ │ ├── repositories-config.gradle
│ │ └── spring-boot.gradle
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ ├── daggerok
│ │ │ │ └── App.java
│ │ │ └── lombok.config
│ │ └── resources
│ │ │ ├── application-spring-boot.yaml
│ │ │ ├── application.yaml
│ │ │ ├── public
│ │ │ └── favicon.ico
│ │ │ └── templates
│ │ │ └── index.html
│ │ └── test
│ │ ├── java
│ │ └── daggerok
│ │ │ ├── extensions
│ │ │ └── CaptureSystemOutput.java
│ │ │ ├── junit4
│ │ │ ├── AppJUnit4Tests.java
│ │ │ └── JUnit4Test.java
│ │ │ └── junit5
│ │ │ ├── AppJUnit5Tests.java
│ │ │ └── JUnit5Test.java
│ │ └── resources
│ │ └── junit-platform.properties
│ ├── java-spring-boot
│ ├── .mvn
│ │ └── Dockerfile
│ ├── .travis.yml
│ ├── README.adoc
│ ├── build.gradle
│ ├── docker-compose-gradle.yaml
│ ├── docker-compose-maven.yaml
│ ├── gradle
│ │ ├── Dockerfile
│ │ ├── java.gradle
│ │ ├── repositories-config.gradle
│ │ └── spring-boot.gradle
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ ├── daggerok
│ │ │ │ └── App.java
│ │ │ └── lombok.config
│ │ └── resources
│ │ │ ├── application-spring-boot.yaml
│ │ │ ├── application.yaml
│ │ │ ├── public
│ │ │ └── favicon.ico
│ │ │ └── templates
│ │ │ └── index.html
│ │ └── test
│ │ ├── java
│ │ └── daggerok
│ │ │ ├── extensions
│ │ │ └── CaptureSystemOutput.java
│ │ │ ├── junit4
│ │ │ ├── AppJUnit4Tests.java
│ │ │ └── JUnit4Test.java
│ │ │ └── junit5
│ │ │ ├── AppJUnit5Tests.java
│ │ │ └── JUnit5Test.java
│ │ └── resources
│ │ └── junit-platform.properties
│ ├── java-spring-cloud-function-web
│ ├── .mvn
│ │ └── Dockerfile
│ ├── .travis.yml
│ ├── README.adoc
│ ├── build.gradle
│ ├── docker-compose-gradle.yaml
│ ├── docker-compose-maven.yaml
│ ├── gradle
│ │ ├── Dockerfile
│ │ ├── java.gradle
│ │ ├── repositories-config.gradle
│ │ └── spring-boot.gradle
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ ├── daggerok
│ │ │ │ └── App.java
│ │ │ └── lombok.config
│ │ └── resources
│ │ │ ├── application-spring-boot.yaml
│ │ │ └── application.yaml
│ │ └── test
│ │ ├── java
│ │ └── daggerok
│ │ │ ├── extensions
│ │ │ └── CaptureSystemOutput.java
│ │ │ ├── junit4
│ │ │ ├── AppJUnit4Tests.java
│ │ │ └── JUnit4Test.java
│ │ │ └── junit5
│ │ │ ├── AppJUnit5Tests.java
│ │ │ └── JUnit5Test.java
│ │ └── resources
│ │ └── junit-platform.properties
│ ├── java-thorntail
│ ├── .mvn
│ │ └── Dockerfile
│ ├── .travis.yml
│ ├── README.adoc
│ ├── docker-compose-maven.yaml
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ ├── daggerok
│ │ │ │ ├── App.java
│ │ │ │ ├── events
│ │ │ │ │ ├── DomainEvent.java
│ │ │ │ │ ├── MessageCreated.java
│ │ │ │ │ └── ZonedDateTimeAdapter.java
│ │ │ │ ├── filters
│ │ │ │ │ └── CrossOriginResourceFilter.java
│ │ │ │ └── rest
│ │ │ │ │ ├── MessageResource.java
│ │ │ │ │ └── error
│ │ │ │ │ └── JaxRsExceptionMapper.java
│ │ │ └── lombok.config
│ │ ├── resources
│ │ │ ├── META-INF
│ │ │ │ ├── beans.xml
│ │ │ │ └── persistence.xml
│ │ │ ├── migration
│ │ │ │ ├── V20181016235845__create_user_table.sql
│ │ │ │ └── V20181017000056__insert_into_user.sql
│ │ │ └── project-defaults.yml
│ │ └── webapp
│ │ │ └── WEB-INF
│ │ │ └── .gitkeep
│ │ └── test
│ │ ├── java
│ │ └── daggerok
│ │ │ ├── AppJUnit4Test.java
│ │ │ ├── AppJUnit5Test.java
│ │ │ └── extensions
│ │ │ └── CaptureSystemOutput.java
│ │ └── resources
│ │ └── junit-platform.properties
│ ├── java-vertx
│ ├── .mvn
│ │ ├── Dockerfile
│ │ ├── assembly.xml
│ │ ├── start
│ │ └── start.cmd
│ ├── .travis.yml
│ ├── README.adoc
│ ├── build.gradle
│ ├── docker-compose-gradle.yaml
│ ├── docker-compose-maven.yaml
│ ├── gradle
│ │ ├── Dockerfile
│ │ ├── java.gradle
│ │ ├── main.gradle
│ │ └── publish.gradle
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ ├── daggerok
│ │ │ │ └── App.java
│ │ │ └── lombok.config
│ │ └── resources
│ │ │ └── logback.xml
│ │ └── test
│ │ ├── java
│ │ └── daggerok
│ │ │ ├── AppJUnit4Test.java
│ │ │ ├── AppJUnit5Test.java
│ │ │ └── extensions
│ │ │ └── CaptureSystemOutput.java
│ │ └── resources
│ │ └── junit-platform.properties
│ ├── java-wildfly-swarm
│ ├── .mvn
│ │ └── Dockerfile
│ ├── .travis.yml
│ ├── README.adoc
│ ├── build.gradle
│ ├── docker-compose-gradle.yaml
│ ├── docker-compose-maven.yaml
│ ├── gradle
│ │ ├── Dockerfile
│ │ └── repositories-config.gradle
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ ├── daggerok
│ │ │ │ ├── App.java
│ │ │ │ ├── events
│ │ │ │ │ ├── DomainEvent.java
│ │ │ │ │ ├── MessageCreated.java
│ │ │ │ │ └── ZonedDateTimeAdapter.java
│ │ │ │ ├── filters
│ │ │ │ │ └── CrossOriginResourceFilter.java
│ │ │ │ └── rest
│ │ │ │ │ ├── MessageResource.java
│ │ │ │ │ └── error
│ │ │ │ │ └── JaxRsExceptionMapper.java
│ │ │ └── lombok.config
│ │ ├── resources
│ │ │ ├── META-INF
│ │ │ │ ├── beans.xml
│ │ │ │ └── persistence.xml
│ │ │ ├── migration
│ │ │ │ ├── V20181016235845__create_user_table.sql
│ │ │ │ └── V20181017000056__insert_into_user.sql
│ │ │ └── project-defaults.yml
│ │ └── webapp
│ │ │ └── WEB-INF
│ │ │ └── .gitkeep
│ │ └── test
│ │ ├── java
│ │ └── daggerok
│ │ │ ├── AppJUnit4Test.java
│ │ │ ├── AppJUnit5Test.java
│ │ │ └── extensions
│ │ │ └── CaptureSystemOutput.java
│ │ └── resources
│ │ └── junit-platform.properties
│ ├── java
│ ├── .mvn
│ │ ├── Dockerfile
│ │ ├── assembly.xml
│ │ ├── start
│ │ └── start.cmd
│ ├── .travis.yml
│ ├── README.adoc
│ ├── build.gradle
│ ├── docker-compose-gradle.yaml
│ ├── docker-compose-maven.yaml
│ ├── gradle
│ │ ├── Dockerfile
│ │ ├── java.gradle
│ │ ├── main.gradle
│ │ └── publish.gradle
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ ├── daggerok
│ │ │ │ └── App.java
│ │ │ └── lombok.config
│ │ └── resources
│ │ │ └── logback.xml
│ │ └── test
│ │ ├── java
│ │ └── daggerok
│ │ │ ├── AppJUnit4Test.java
│ │ │ ├── AppJUnit5Test.java
│ │ │ └── extensions
│ │ │ └── CaptureSystemOutput.java
│ │ └── resources
│ │ └── junit-platform.properties
│ ├── kotlin-ee
│ ├── .mvn
│ │ └── Dockerfile
│ ├── .travis.yml
│ ├── README.adoc
│ ├── build.gradle
│ ├── docker-compose-gradle.yaml
│ ├── docker-compose-maven.yaml
│ ├── gradle
│ │ ├── Dockerfile
│ │ ├── java.gradle
│ │ └── kotlin.gradle
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ ├── daggerok
│ │ │ │ └── App.kt
│ │ │ └── lombok.config
│ │ ├── resources
│ │ │ └── META-INF
│ │ │ │ └── persistence.xml
│ │ └── webapp
│ │ │ └── WEB-INF
│ │ │ └── beans.xml
│ │ └── test
│ │ ├── java
│ │ └── daggerok
│ │ │ ├── AppJUnit4Test.java
│ │ │ ├── AppJUnit5Test.java
│ │ │ └── extensions
│ │ │ └── CaptureSystemOutput.java
│ │ └── resources
│ │ └── junit-platform.properties
│ ├── kotlin-parent-multi-project
│ ├── .mvn
│ │ └── Dockerfile
│ ├── .travis.yml
│ ├── README.adoc
│ ├── build.gradle
│ ├── docker-compose-gradle.yaml
│ ├── docker-compose-maven.yaml
│ ├── gradle
│ │ ├── Dockerfile
│ │ ├── base.gradle
│ │ ├── java.gradle
│ │ └── main.gradle
│ └── pom.xml
│ ├── kotlin-spring-boot-1.x
│ ├── .mvn
│ │ └── Dockerfile
│ ├── .travis.yml
│ ├── README.adoc
│ ├── build.gradle
│ ├── docker-compose-gradle.yaml
│ ├── docker-compose-maven.yaml
│ ├── gradle
│ │ ├── Dockerfile
│ │ ├── java.gradle
│ │ ├── kotlin.gradle
│ │ └── spring-boot.gradle
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── lombok.config
│ │ ├── kotlin
│ │ │ └── daggerok
│ │ │ │ └── App.kt
│ │ └── resources
│ │ │ ├── application-spring-boot.properties
│ │ │ ├── application.properties
│ │ │ ├── public
│ │ │ └── favicon.ico
│ │ │ └── templates
│ │ │ └── index.html
│ │ └── test
│ │ ├── java
│ │ └── daggerok
│ │ │ └── AppTests.java
│ │ └── resources
│ │ └── junit-platform.properties
│ ├── kotlin-spring-boot-2.0.x
│ ├── .mvn
│ │ └── Dockerfile
│ ├── .travis.yml
│ ├── README.adoc
│ ├── build.gradle
│ ├── docker-compose-gradle.yaml
│ ├── docker-compose-maven.yaml
│ ├── gradle
│ │ ├── Dockerfile
│ │ ├── java.gradle
│ │ ├── kotlin.gradle
│ │ ├── repositories-config.gradle
│ │ └── spring-boot.gradle
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ ├── daggerok
│ │ │ │ └── App.kt
│ │ │ └── lombok.config
│ │ └── resources
│ │ │ ├── application-spring-boot.yaml
│ │ │ ├── application.yaml
│ │ │ ├── public
│ │ │ └── favicon.ico
│ │ │ └── templates
│ │ │ └── index.html
│ │ └── test
│ │ ├── java
│ │ └── daggerok
│ │ │ ├── AppJUnit4Test.java
│ │ │ ├── AppJUnit5Test.java
│ │ │ └── extensions
│ │ │ └── CaptureSystemOutput.java
│ │ ├── kotlin
│ │ ├── AppTests.kt
│ │ └── daggerok
│ │ │ ├── junit4
│ │ │ └── AppTests.kt
│ │ │ └── junit5
│ │ │ └── AppTests.kt
│ │ └── resources
│ │ └── junit-platform.properties
│ ├── kotlin-spring-boot
│ ├── .mvn
│ │ └── Dockerfile
│ ├── .travis.yml
│ ├── README.adoc
│ ├── build.gradle
│ ├── docker-compose-gradle.yaml
│ ├── docker-compose-maven.yaml
│ ├── gradle
│ │ ├── Dockerfile
│ │ ├── java.gradle
│ │ ├── kotlin.gradle
│ │ ├── repositories-config.gradle
│ │ └── spring-boot.gradle
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ ├── daggerok
│ │ │ │ └── App.kt
│ │ │ └── lombok.config
│ │ └── resources
│ │ │ ├── application-spring-boot.yaml
│ │ │ ├── application.yaml
│ │ │ ├── public
│ │ │ └── favicon.ico
│ │ │ └── templates
│ │ │ └── index.html
│ │ └── test
│ │ ├── java
│ │ └── daggerok
│ │ │ ├── AppJUnit4Test.java
│ │ │ ├── AppJUnit5Test.java
│ │ │ └── extensions
│ │ │ └── CaptureSystemOutput.java
│ │ ├── kotlin
│ │ ├── AppTests.kt
│ │ └── daggerok
│ │ │ ├── junit4
│ │ │ └── AppTests.kt
│ │ │ └── junit5
│ │ │ └── AppTests.kt
│ │ └── resources
│ │ └── junit-platform.properties
│ ├── kotlin-spring-cloud-function-web
│ ├── .mvn
│ │ └── Dockerfile
│ ├── .travis.yml
│ ├── README.adoc
│ ├── build.gradle
│ ├── docker-compose-gradle.yaml
│ ├── docker-compose-maven.yaml
│ ├── gradle
│ │ ├── Dockerfile
│ │ ├── java.gradle
│ │ ├── kotlin.gradle
│ │ ├── repositories-config.gradle
│ │ └── spring-boot.gradle
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ ├── daggerok
│ │ │ │ └── App.kt
│ │ │ └── lombok.config
│ │ ├── kotlin
│ │ │ └── daggerok
│ │ │ │ └── function
│ │ │ │ └── MyClassFunction.kt
│ │ └── resources
│ │ │ ├── application.yaml
│ │ │ └── config
│ │ │ └── application-spring-boot.yaml
│ │ └── test
│ │ ├── kotlin
│ │ └── daggerok
│ │ │ ├── junit4
│ │ │ └── AppTests.kt
│ │ │ └── junit5
│ │ │ └── AppTests.kt
│ │ └── resources
│ │ └── junit-platform.properties
│ ├── kotlin-thorntail
│ ├── .mvn
│ │ └── Dockerfile
│ ├── .travis.yml
│ ├── README.adoc
│ ├── docker-compose-maven.yaml
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ ├── daggerok
│ │ │ │ ├── App.java
│ │ │ │ └── app
│ │ │ │ │ ├── AppResource.java
│ │ │ │ │ └── JsonService.kt
│ │ │ └── lombok.config
│ │ ├── resources
│ │ │ └── META-INF
│ │ │ │ ├── beans.xml
│ │ │ │ └── persistence.xml
│ │ └── webapp
│ │ │ └── WEB-INF
│ │ │ └── .gitkeep
│ │ └── test
│ │ ├── java
│ │ └── daggerok
│ │ │ ├── AppJUnit4Test.java
│ │ │ ├── AppJUnit5Test.java
│ │ │ └── extensions
│ │ │ └── CaptureSystemOutput.java
│ │ └── resources
│ │ └── junit-platform.properties
│ ├── kotlin-vertx
│ ├── .mvn
│ │ └── Dockerfile
│ ├── .travis.yml
│ ├── README.adoc
│ ├── build.gradle
│ ├── docker-compose-gradle.yaml
│ ├── docker-compose-maven.yaml
│ ├── gradle
│ │ ├── Dockerfile
│ │ ├── java.gradle
│ │ ├── main.gradle
│ │ └── publish.gradle
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── kotlin
│ │ │ └── daggerok
│ │ │ │ └── App.kt
│ │ └── resources
│ │ │ └── logback.xml
│ │ └── test
│ │ └── resources
│ │ └── junit-platform.properties
│ ├── kotlin-wildfly-swarm
│ ├── .mvn
│ │ └── Dockerfile
│ ├── .travis.yml
│ ├── README.adoc
│ ├── build.gradle
│ ├── docker-compose-gradle.yaml
│ ├── docker-compose-maven.yaml
│ ├── gradle
│ │ ├── Dockerfile
│ │ └── repositories-config.gradle
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ ├── daggerok
│ │ │ │ ├── App.java
│ │ │ │ └── app
│ │ │ │ │ ├── AppResource.java
│ │ │ │ │ └── JsonService.kt
│ │ │ └── lombok.config
│ │ ├── resources
│ │ │ └── META-INF
│ │ │ │ ├── beans.xml
│ │ │ │ └── persistence.xml
│ │ └── webapp
│ │ │ └── WEB-INF
│ │ │ └── .gitkeep
│ │ └── test
│ │ ├── java
│ │ └── daggerok
│ │ │ ├── AppJUnit4Test.java
│ │ │ ├── AppJUnit5Test.java
│ │ │ └── extensions
│ │ │ └── CaptureSystemOutput.java
│ │ └── resources
│ │ └── junit-platform.properties
│ ├── kotlin
│ ├── .mvn
│ │ └── Dockerfile
│ ├── .travis.yml
│ ├── README.adoc
│ ├── build.gradle
│ ├── docker-compose-gradle.yaml
│ ├── docker-compose-maven.yaml
│ ├── gradle
│ │ ├── Dockerfile
│ │ ├── java.gradle
│ │ ├── main.gradle
│ │ └── publish.gradle
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── kotlin
│ │ │ └── daggerok
│ │ │ │ └── App.kt
│ │ └── resources
│ │ │ └── logback.xml
│ │ └── test
│ │ └── resources
│ │ └── junit-platform.properties
│ ├── scala-2.11
│ ├── .mvn
│ │ └── Dockerfile
│ ├── .travis.yml
│ ├── README.adoc
│ ├── build.gradle
│ ├── docker-compose-gradle.yaml
│ ├── docker-compose-maven.yaml
│ ├── gradle
│ │ ├── Dockerfile
│ │ ├── java.gradle
│ │ ├── main.gradle
│ │ └── publish.gradle
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── lombok.config
│ │ ├── resources
│ │ │ └── logback.xml
│ │ └── scala
│ │ │ └── daggerok
│ │ │ └── App.scala
│ │ └── test
│ │ └── scala
│ │ └── daggerok
│ │ ├── junit.scala
│ │ ├── scalatest.scala
│ │ └── specs.scala
│ ├── scala-gradle-akka-actor
│ ├── .travis.yml
│ ├── README.adoc
│ ├── build.gradle
│ ├── docker-compose-gradle.yaml
│ ├── gradle
│ │ ├── Dockerfile
│ │ ├── docker-compose.gradle
│ │ ├── java.gradle
│ │ ├── main.gradle
│ │ └── publish.gradle
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── lombok.config
│ │ ├── resources
│ │ │ ├── application.conf
│ │ │ └── logback.xml
│ │ └── scala
│ │ │ └── daggerok
│ │ │ └── App.scala
│ │ └── test
│ │ └── scala
│ │ └── daggerok
│ │ ├── junit.scala
│ │ ├── scalatest.scala
│ │ └── specs.scala
│ ├── scala-gradle-akka-persistence
│ ├── .travis.yml
│ ├── README.adoc
│ ├── build.gradle
│ ├── docker-compose-gradle.yaml
│ ├── gradle
│ │ ├── Dockerfile
│ │ ├── docker-compose.gradle
│ │ ├── java.gradle
│ │ ├── main.gradle
│ │ └── publish.gradle
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── lombok.config
│ │ ├── resources
│ │ │ ├── application.conf
│ │ │ └── logback.xml
│ │ └── scala
│ │ │ └── daggerok
│ │ │ └── App.scala
│ │ └── test
│ │ └── scala
│ │ └── daggerok
│ │ ├── junit.scala
│ │ ├── scalatest.scala
│ │ └── specs.scala
│ ├── scala-sbt-akka-actor
│ ├── .travis.yml
│ ├── Dockerfile
│ ├── README.adoc
│ ├── build.sbt
│ ├── docker-compose-sbt.yaml
│ ├── pom.xml
│ ├── project
│ │ ├── assembly.sbt
│ │ └── build.properties
│ ├── sbtw
│ └── src
│ │ ├── main
│ │ ├── resources
│ │ │ ├── application.conf
│ │ │ └── logback.xml
│ │ └── scala
│ │ │ └── daggerok
│ │ │ └── Application.scala
│ │ └── test
│ │ └── scala
│ │ └── daggerok
│ │ └── ApplicationTest.scala
│ ├── scala-sbt
│ ├── .travis.yml
│ ├── Dockerfile
│ ├── README.adoc
│ ├── build.sbt
│ ├── docker-compose-sbt.yaml
│ ├── pom.xml
│ ├── project
│ │ ├── assembly.sbt
│ │ └── build.properties
│ ├── sbtw
│ └── src
│ │ ├── main
│ │ ├── resources
│ │ │ └── logback.xml
│ │ └── scala
│ │ │ └── daggerok
│ │ │ └── Application.scala
│ │ └── test
│ │ └── scala
│ │ └── daggerok
│ │ └── ApplicationTest.scala
│ └── scala
│ ├── .mvn
│ └── Dockerfile
│ ├── .travis.yml
│ ├── README.adoc
│ ├── build.gradle
│ ├── docker-compose-gradle.yaml
│ ├── docker-compose-maven.yaml
│ ├── gradle
│ ├── Dockerfile
│ ├── java.gradle
│ ├── main.gradle
│ └── publish.gradle
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── lombok.config
│ ├── resources
│ │ └── logback.xml
│ └── scala
│ │ └── daggerok
│ │ └── App.scala
│ └── test
│ └── scala
│ └── daggerok
│ ├── junit.scala
│ ├── scalatest.scala
│ └── specs.scala
└── package.json
/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | indent_style = space
5 | indent_size = 2
6 | charset = utf-8
7 | trim_trailing_whitespace = true
8 | insert_final_newline = true
9 |
10 | [*.md]
11 | trim_trailing_whitespace = false
12 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | coverage
3 | .idea/
4 | *.iml
5 | *.ipr
6 | *.iws
7 | *.log*
8 | .gradle/
9 | target/
10 | build/
11 | out/
12 | gradle-app.setting
13 | .gradletasknamecache
14 | yarn.lock
15 | .DS_Store
16 |
--------------------------------------------------------------------------------
/.npmignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | coverage
3 | .idea/
4 | *.iml
5 | *.ipr
6 | *.iws
7 | *.log*
8 | .gradle/
9 | target/
10 | build/
11 | out/
12 | gradle-app.setting
13 | .gradletasknamecache
14 | yarn.lock
15 | .DS_Store
16 |
--------------------------------------------------------------------------------
/.yo-rc.json:
--------------------------------------------------------------------------------
1 | {
2 | "generator-node": {
3 | "promptValues": {
4 | "authorName": "Maksim Kostromin",
5 | "authorEmail": "daggerok@gmail.com",
6 | "authorUrl": "https://github.com/daggerok"
7 | }
8 | }
9 | }
--------------------------------------------------------------------------------
/generators/app/templates/_common/.mvn/redeploy.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | # bash mvnw clean war:war -DskipTests; bash .mvn/redeploy.sh
3 | container=<%= projectDirectory %>_<%= projectDirectory %>_1
4 | docker cp ./target/*.war ${container}:/home/jboss-eap-7.1/jboss-eap-7.1/standalone/deployments/app.war
5 |
6 |
--------------------------------------------------------------------------------
/generators/app/templates/_common/bitbucket-pipelines.yml:
--------------------------------------------------------------------------------
1 | # This is a sample build configuration for Docker.
2 | # Check our guides at https://confluence.atlassian.com/x/O1toN for more examples.
3 | # Only use spaces to indent your .yml configuration.
4 | # -----
5 | # You can specify a custom docker image from Docker Hub as your build environment.
6 | image: openjdk:8u171-jdk-stretch
7 |
8 | pipelines:
9 | default:
10 | - step:
11 | services:
12 | - docker
13 | script:
14 | - #export IMAGE_NAME=daggerok/<%= projectDirectory %>:$BITBUCKET_COMMIT
15 | - #docker build -t $IMAGE_NAME .
16 | - #docker login --username $DOCKER_HUB_USERNAME --password $DOCKER_HUB_PASSWORD
17 | - #docker push $IMAGE_NAME
18 | - #./gradlew -Si
19 | - #./mvnw
20 |
--------------------------------------------------------------------------------
/generators/app/templates/_common/docs/docinfo.html:
--------------------------------------------------------------------------------
1 |
12 |
13 |
15 |
17 |
18 |
19 |
20 |
21 |
22 |
30 |
--------------------------------------------------------------------------------
/generators/app/templates/_common/docs/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daggerok/generator-jvm/d17a63d7a91fa1736d77a47faf1016488fe1b073/generators/app/templates/_common/docs/favicon.ico
--------------------------------------------------------------------------------
/generators/app/templates/_common/gradle.properties:
--------------------------------------------------------------------------------
1 | ## Please take a not, that with these options, docker should have at least 2 Gigs of RAM available for gradle JVM: -Xmx
2 | ## Read :https://docs.gradle.org/current/userguide/build_environment.html#sec:configuring_jvm_memory
3 | org.gradle.jvmargs=-Xms1g -Xmx1g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
4 |
5 | #org.gradle.daemon=false
6 | #org.gradle.console=rich
7 | org.gradle.console=plain
8 | #org.gradle.console=verbose
9 |
10 | ## artifactory
11 | artifactory_user=admin
12 | #artifactory_password=password
13 | artifactory_password=AP2bD5A6qnanPtXbRqeDAitPeAh
14 | artifactory_contextUrl=http://127.0.0.1/artifactory
15 |
--------------------------------------------------------------------------------
/generators/app/templates/_common/gradle/allure.gradle:
--------------------------------------------------------------------------------
1 | allprojects {
2 | apply plugin: 'io.qameta.allure'
3 |
4 | dependencies {
5 | testCompile "io.qameta.allure:allure-selenide:$allureVersion"
6 | }
7 |
8 | allure {
9 |
10 | useJUnit4 {
11 | version = project.allureVersion
12 | }
13 |
14 | useJUnit5 {
15 | version = project.allureVersion
16 | }
17 |
18 | version = project.allureVersion
19 | autoconfigure = true
20 | allureJavaVersion = project.allureVersion
21 | //reportDir = file("$rootDir/build/allure-report")
22 | //resultsDir = file("$rootDir/build/allure-results")
23 | downloadLink = "https://dl.bintray.com/qameta/generic/io/qameta/allure/allure/$allureVersion/allure-${allureVersion}.zip"
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/generators/app/templates/_common/gradle/build-scan.gradle:
--------------------------------------------------------------------------------
1 | // read more: https://docs.gradle.com/build-scan-plugin/
2 |
3 | buildScan {
4 | termsOfServiceUrl = 'https://gradle.com/terms-of-service'
5 | termsOfServiceAgree = 'yes'
6 | //// Always publish a build scan
7 | //publishAlways()
8 | // Publish a build scan only when the build fails:
9 | publishOnFailure()
10 | //// Publish a build scan if the given condition is true, regardless of whether the build succeeds or fails:
11 | //publishAlwaysIf('TRAVIS' == System.getenv('CI'))
12 | //// Publish a build scan only if the condition is true and the build fails:
13 | //publishOnFailureIf('TRAVIS' == System.getenv('CI'))
14 | tag System.getProperty('os.name', 'unknown')
15 | }
16 |
--------------------------------------------------------------------------------
/generators/app/templates/_common/gradle/clean.gradle:
--------------------------------------------------------------------------------
1 | allprojects {
2 | apply plugin: 'base'
3 |
4 | clean.doFirst {
5 | [
6 | project.buildDir,
7 | project.file('out'),
8 | project.file('bin'),
9 | project.file('build'),
10 | project.file('target'),
11 | project.file('public'),
12 | project.file('.allure'),
13 | project.file('.project'),
14 | project.file('.settings'),
15 | project.file('.classpath'),
16 | project.file("$rootDir/dist"),
17 | project.file('allure-report'),
18 | project.file('allure-results'),
19 | project.file("$rootDir/src/main/resources/public/docs"),
20 | ].each { delete it }
21 | // rm -rf $(find . -name 'ajcore.*.txt')
22 | delete fileTree(rootDir).matching {
23 | include '**/ajcore.*.txt'
24 | include '**/allure-results/**'
25 | include '**/allure-report/**'
26 | include '**/.allure/**'
27 | }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/generators/app/templates/_common/gradle/docker-compose.gradle:
--------------------------------------------------------------------------------
1 | def dockerComposeFile = project.file("$rootDir/docker-compose-gradle.yaml")
2 | def profile = 'gradle'
3 |
4 | if (project.hasProperty('profile')) {
5 | profile = project.property('profile') ?: ''
6 | if (!profile.trim().isEmpty()) {
7 | def path = dockerComposeFile.absolutePath.replace('-gradle.yaml', "-${profile}.yaml")
8 | dockerComposeFile = project.file(path)
9 | }
10 | }
11 |
12 | apply plugin: 'com.avast.gradle.docker-compose'
13 |
14 | dockerCompose {
15 | useComposeFiles = [dockerComposeFile]
16 | // captureContainersOutput = true
17 | captureContainersOutput = false
18 | stopContainers = true
19 | removeContainers = true
20 | removeImages = 'Local'
21 | removeVolumes = true
22 | removeOrphans = true
23 | forceRecreate = true
24 | waitForTcpPorts = false
25 | projectName = project.name
26 | }
27 |
28 | composeUp.dependsOn assemble
29 | composeUp.shouldRunAfter clean, assemble
30 |
--------------------------------------------------------------------------------
/generators/app/templates/_common/gradle/ide.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'idea'
2 | //allprojects*.apply plugin: 'cn.bestwu.propdeps-idea'
3 |
4 | idea {
5 | module {
6 | downloadJavadoc = false
7 | downloadSources = true
8 | }
9 | }
10 |
11 | /*
12 | apply plugin: 'eclipse'
13 | //allprojects*.apply plugin: 'cn.bestwu.propdeps-eclipse'
14 |
15 | eclipse {
16 | classpath {
17 | downloadJavadoc = false
18 | downloadSources = true
19 | }
20 | }
21 |
22 | allprojects*.apply plugin: 'maven'
23 | //allprojects*.apply plugin: 'cn.bestwu.propdeps-maven'
24 | */
25 |
--------------------------------------------------------------------------------
/generators/app/templates/_common/gradle/java.gradle:
--------------------------------------------------------------------------------
1 | allprojects {
2 | apply plugin: 'java'
3 |
4 | apply plugin: 'io.franzbecker.gradle-lombok'
5 | lombok.version = project.lombokVersion
6 |
7 | version = project.findProperty('ogr.gradle.project.version') ?: '0.0.1'
8 | group = 'com.github.daggerok'
9 | sourceCompatibility = targetCompatibility = "$javaVersion"
10 |
11 | defaultTasks 'clean', 'build'
12 |
13 | dependencies {
14 | //// In java we trust...
15 | //implementation "io.vavr:vavr:$vavrVersion"
16 | //implementation "org.slf4j:slf4j-api:$slf4jVersion"
17 | //implementation "ch.qos.logback:logback-classic:$logbackVersion"
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/generators/app/templates/_common/gradle/jgiven.gradle:
--------------------------------------------------------------------------------
1 | dependencies {
2 | testCompile "com.tngtech.jgiven:jgiven-junit:$jgivenVersion"
3 | testCompile "com.tngtech.jgiven:jgiven-junit5:$jgivenVersion"
4 | testRuntime "com.tngtech.jgiven:jgiven-html5-report:$jgivenVersion"
5 | //testRuntime "org.slf4j:slf4j-api:$slf4jVersion"
6 | testCompile "ch.qos.logback:logback-classic:$logbackVersion"
7 | }
8 |
9 | task jgivenTestReport(type: JavaExec, dependsOn: 'test') {
10 | main = 'com.tngtech.jgiven.report.ReportGenerator'
11 | args '--targetDir=./build/jgiven-report', '--format=html'
12 | classpath = configurations.testCompile
13 | shouldRunAfter clean, assemble
14 | }
15 |
16 | test.finalizedBy jgivenTestReport
17 |
--------------------------------------------------------------------------------
/generators/app/templates/_common/gradle/main.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'application'
2 | apply plugin: 'com.github.johnrengelman.shadow'
3 |
4 | mainClassName = 'daggerok.App'
5 | shadowJar.mustRunAfter jar
6 | defaultTasks 'clean', 'build'
7 |
--------------------------------------------------------------------------------
/generators/app/templates/_common/gradle/redeploy.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | # ./grdlew clean war; bash ./gradle/redeploy.sh
3 | container=jax-rs-hateoas-links_gradle-jax-rs-hateoas-links-app_1
4 | docker cp ./build/libs/*.war ${container}:/home/jboss-eap-7.1/jboss-eap-7.1/standalone/deployments/app.war
5 |
--------------------------------------------------------------------------------
/generators/app/templates/_common/gradle/repositories-config.gradle:
--------------------------------------------------------------------------------
1 | repositories {
2 | //mavenLocal() // for some reasons code source not attaching with this mavenLocal repository enabled in idea...
3 | mavenCentral()
4 | jcenter()
5 | //maven { url 'https://repo.spring.io/libs-milestone' }
6 | }
7 |
--------------------------------------------------------------------------------
/generators/app/templates/_common/gradle/repositories.gradle:
--------------------------------------------------------------------------------
1 | String gradleDir = "$rootDir/gradle"
2 |
3 | allprojects {
4 | buildscript {
5 | apply from: "$gradleDir/repositories-config.gradle"
6 | }
7 | apply from: "$gradleDir/repositories-config.gradle"
8 | }
9 |
--------------------------------------------------------------------------------
/generators/app/templates/_common/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daggerok/generator-jvm/d17a63d7a91fa1736d77a47faf1016488fe1b073/generators/app/templates/_common/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/generators/app/templates/_common/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-bin.zip
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 |
--------------------------------------------------------------------------------
/generators/app/templates/_common/settings.gradle:
--------------------------------------------------------------------------------
1 | rootProject.name = "<%= projectDirectory %>"
2 | include "docs"
3 |
--------------------------------------------------------------------------------
/generators/app/templates/_dotted/gitignore:
--------------------------------------------------------------------------------
1 | .hg
2 | .gradle
3 | build
4 | target
5 | out
6 | .idea
7 | *.iml
8 | *.ipr
9 | *.iws
10 | *.log*
11 | .DS_Store
12 | Thumbs.db
13 | /public/
14 | ./leveldb-*
15 |
--------------------------------------------------------------------------------
/generators/app/templates/_dotted/hgignore:
--------------------------------------------------------------------------------
1 | syntax: glob
2 | ^.gradle/*
3 | .gradle
4 | ^.git/*
5 | .git
6 | */build/*
7 | */target/*
8 | .DS_Store
9 | Thumbs.db
10 | */out/*
11 | ^.idea/*
12 | .idea
13 | *.iml
14 | *.ipr
15 | *.iws
16 | *.log*
17 | leveldb-*
18 |
--------------------------------------------------------------------------------
/generators/app/templates/_dotted/mvn-3.5.4/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daggerok/generator-jvm/d17a63d7a91fa1736d77a47faf1016488fe1b073/generators/app/templates/_dotted/mvn-3.5.4/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/generators/app/templates/_dotted/mvn-3.5.4/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip
--------------------------------------------------------------------------------
/generators/app/templates/_dotted/mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daggerok/generator-jvm/d17a63d7a91fa1736d77a47faf1016488fe1b073/generators/app/templates/_dotted/mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/generators/app/templates/_dotted/mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.6.1/apache-maven-3.6.1-bin.zip
2 |
--------------------------------------------------------------------------------
/generators/app/templates/java-akka-actor/docker-compose-gradle.yaml:
--------------------------------------------------------------------------------
1 | version: '2.1'
2 | services:
3 | <%= projectDirectory %>:
4 | build:
5 | context: .
6 | dockerfile: gradle/Dockerfile
7 | volumes: ['<%= projectDirectory %>-data:/home/appuser']
8 | networks: [backing-services]
9 | #ports: ['8080:8080']
10 | #restart: unless-stopped
11 | #mem_limit: 209715200 # container limit: 200Mb (200 * 1024 * 1024)
12 | volumes:
13 | <%= projectDirectory %>-data: {}
14 | networks:
15 | backing-services:
16 | driver: bridge
17 |
--------------------------------------------------------------------------------
/generators/app/templates/java-akka-actor/docker-compose-maven.yaml:
--------------------------------------------------------------------------------
1 | version: '2.1'
2 | services:
3 | <%= projectDirectory %>:
4 | build:
5 | context: .
6 | dockerfile: .mvn/Dockerfile
7 | volumes: ['<%= projectDirectory %>-data:/home/appuser']
8 | networks: [backing-services]
9 | #ports: ['8080:8080']
10 | #restart: unless-stopped
11 | #mem_limit: 209715200 # container limit: 200Mb (200 * 1024 * 1024)
12 | volumes:
13 | <%= projectDirectory %>-data: {}
14 | networks:
15 | backing-services:
16 | driver: bridge
17 |
--------------------------------------------------------------------------------
/generators/app/templates/java-akka-actor/src/main/java/lombok.config:
--------------------------------------------------------------------------------
1 | lombok.var.flagUsage = ALLOW
2 |
--------------------------------------------------------------------------------
/generators/app/templates/java-akka-actor/src/main/resources/application.conf:
--------------------------------------------------------------------------------
1 | akka {
2 | loglevel = "DEBUG"
3 | log-dead-letters = true
4 | log-dead-letters-during-shutdown = true
5 | }
6 |
--------------------------------------------------------------------------------
/generators/app/templates/java-akka-actor/src/main/resources/logback.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
9 |
10 |
11 | %boldWhite(%d{yyyy-MM-dd HH:mm:ss.SSS}) %highlight(%-5level) %magenta(%-10.10thread{10}) [ %cyan(%-25.25logger{25}) ] - %gray(%msg%n)
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/generators/app/templates/java-akka-actor/src/test/java/daggerok/AppJUnit4Test.java:
--------------------------------------------------------------------------------
1 | package daggerok;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.hamcrest.MatcherAssert.assertThat;
6 | import static org.hamcrest.core.Is.is;
7 |
8 | public class AppJUnit4Test {
9 |
10 | @Test
11 | public void testPositive() {
12 | assertThat(true, is(true));
13 | }
14 |
15 | @Test(expected = AssertionError.class)
16 | public void testNegative() {
17 | assertThat(false, is(true));
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/generators/app/templates/java-akka-actor/src/test/resources/junit-platform.properties:
--------------------------------------------------------------------------------
1 | junit.jupiter.testinstance.lifecycle.default = per_class
2 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-cdi-full-multi-project/.mvn/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM daggerok/jboss:eap-7.1
2 | RUN echo "JAVA_OPTS=\"\$JAVA_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 \"" >> ${JBOSS_HOME}/bin/standalone.conf
3 | EXPOSE 5005
4 | ADD ./ear/target/*.war ${JBOSS_HOME}/standalone/deployments/app.war
5 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-cdi-full-multi-project/docker-compose-gradle.yaml:
--------------------------------------------------------------------------------
1 | version: "2.1"
2 | services:
3 | <%= projectDirectory %>:
4 | build:
5 | context: .
6 | dockerfile: ear/gradle/Dockerfile
7 | networks: [backing-services]
8 | ports:
9 | - "5005:5005"
10 | - "8080:8080"
11 | #mem_limit: 209715200 # container limit: 200Mb (200 * 1024 * 1024)
12 | networks:
13 | backing-services:
14 | driver: bridge
15 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-cdi-full-multi-project/docker-compose-maven.yaml:
--------------------------------------------------------------------------------
1 | version: "2.1"
2 | services:
3 | <%= projectDirectory %>:
4 | build:
5 | context: .
6 | dockerfile: ear/.mvn/Dockerfile
7 | networks: [backing-services]
8 | ports:
9 | - "5005:5005"
10 | - "8080:8080"
11 | #mem_limit: 209715200 # container limit: 200Mb (200 * 1024 * 1024)
12 | networks:
13 | backing-services:
14 | driver: bridge
15 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-cdi-full-multi-project/ear/.mvn/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM daggerok/jboss:eap-7.1
2 | RUN echo "JAVA_OPTS=\"\$JAVA_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 \"" >> ${JBOSS_HOME}/bin/standalone.conf
3 | EXPOSE 5005
4 | HEALTHCHECK --timeout=2s --retries=66 \
5 | CMD wget -q --spider http://127.0.0.1:8080/web/ \
6 | || exit 1
7 | COPY --chown=jboss-eap-7.1 ./ear/target/*.ear ${JBOSS_HOME}/standalone/deployments/
8 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-cdi-full-multi-project/ear/build.gradle:
--------------------------------------------------------------------------------
1 | plugins {
2 | id 'ear'
3 | }
4 |
5 | repositories { mavenCentral() }
6 |
7 | dependencies {
8 |
9 | [':ejb-data', ':ejb-services']
10 | .collect { project it }
11 | .each { deploy it }
12 |
13 | [':servlet', ':jsp', ':rest', ':web']
14 | .collect { project(path: it, configuration: 'archives') }
15 | .each { deploy it }
16 | }
17 |
18 | ear {
19 | deploymentDescriptor {
20 |
21 | version = '7'
22 | description = "$rootProject.name Gradle EAR"
23 |
24 | [':servlet', ':jsp', ':rest', ':web']
25 | .collect { project it }
26 | .each { webModule("${it.name}-${it.version}.war", "/$it.name") }
27 | }
28 | }
29 |
30 | apply from: "$rootDir/gradle/docker-compose.gradle"
31 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-cdi-full-multi-project/ear/gradle/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM daggerok/jboss:eap-7.1
2 | RUN echo "JAVA_OPTS=\"\$JAVA_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 \"" >> ${JBOSS_HOME}/bin/standalone.conf
3 | EXPOSE 5005
4 | HEALTHCHECK --timeout=2s --retries=66 \
5 | CMD wget -q --spider http://127.0.0.1:8080/web/ \
6 | || exit 1
7 | ADD --chown=jboss-eap-7.1 ./ear/build/libs/*.ear ${JBOSS_HOME}/standalone/deployments/
8 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-cdi-full-multi-project/ejb-data/build.gradle:
--------------------------------------------------------------------------------
1 | dependencies {
2 | compileOnly("com.h2database:h2:1.4.196")
3 | }
4 |
5 | // archiveName = "${baseName}-${version}-client.${extension}"
6 | task ejbClientJar(type: Jar) {
7 | classifier = "client"
8 | from sourceSets.main.output
9 | include "**/api/*.*"
10 | include "**/api/**/*.*"
11 | }
12 |
13 | jar.dependsOn(ejbClientJar)
14 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-cdi-full-multi-project/ejb-data/src/main/java/daggerok/Producers.java:
--------------------------------------------------------------------------------
1 | package daggerok;
2 |
3 | import javax.ejb.Stateless;
4 | import javax.enterprise.inject.Produces;
5 | import javax.persistence.EntityManager;
6 | import javax.persistence.PersistenceContext;
7 |
8 | @Stateless
9 | public class Producers {
10 |
11 | @Produces
12 | @PersistenceContext
13 | private static EntityManager em;
14 | }
15 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-cdi-full-multi-project/ejb-data/src/main/java/daggerok/ejb/api/HelloRepository.java:
--------------------------------------------------------------------------------
1 | package daggerok.ejb.api;
2 |
3 | import daggerok.entity.Hello;
4 |
5 | import javax.ejb.Local;
6 | import java.util.List;
7 | import java.util.UUID;
8 |
9 | @Local
10 | public interface HelloRepository {
11 |
12 | Hello save(final Hello hello);
13 |
14 | void delete(final Hello hello);
15 |
16 | void delete(final Long id);
17 |
18 | Hello findById(final Long id);
19 |
20 | Hello findOne(final Long id);
21 |
22 | List findAll();
23 | }
24 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-cdi-full-multi-project/ejb-data/src/main/java/daggerok/entity/Hello.java:
--------------------------------------------------------------------------------
1 | package daggerok.entity;
2 |
3 | import lombok.Data;
4 | import lombok.NoArgsConstructor;
5 | import lombok.experimental.Accessors;
6 |
7 | import javax.persistence.Entity;
8 | import javax.persistence.GeneratedValue;
9 | import javax.persistence.GenerationType;
10 | import javax.persistence.Id;
11 | import java.io.Serializable;
12 |
13 | @Data
14 | @Entity
15 | @NoArgsConstructor
16 | @Accessors(chain = true)
17 | public class Hello implements Serializable {
18 |
19 | @Id
20 | @GeneratedValue(strategy = GenerationType.IDENTITY)
21 | private Long id;
22 |
23 | private String content;
24 | }
25 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-cdi-full-multi-project/ejb-data/src/main/resources/META-INF/persistence.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | java:jboss/datasources/ExampleDS
5 | daggerok.entity.Hello
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-cdi-full-multi-project/ejb-data/src/main/resources/WEB-INF/beans.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-cdi-full-multi-project/ejb-services/build.gradle:
--------------------------------------------------------------------------------
1 | dependencies {
2 | compileOnly(project(":ejb-data"))
3 | }
4 |
5 | // archiveName = "${baseName}-${version}-client.${extension}"
6 | task ejbClientJar(type: Jar) {
7 | classifier = "client"
8 | from sourceSets.main.output
9 | include "**/api/*.*"
10 | include "**/api/**/*.*"
11 | }
12 |
13 | jar.dependsOn(ejbClientJar)
14 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-cdi-full-multi-project/ejb-services/src/main/java/daggerok/ejb/api/HelloService.java:
--------------------------------------------------------------------------------
1 | package daggerok.ejb.api;
2 |
3 | public interface HelloService {
4 |
5 | String sayHello(final String name);
6 |
7 | String getAllGreetings();
8 | }
9 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-cdi-full-multi-project/ejb-services/src/main/resources/WEB-INF/beans.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-cdi-full-multi-project/gradle/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM daggerok/jboss:eap-7.1
2 | RUN echo "JAVA_OPTS=\"\$JAVA_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 \"" >> ${JBOSS_HOME}/bin/standalone.conf
3 | EXPOSE 5005
4 | ADD ./ear/build/libs/*.war ${JBOSS_HOME}/standalone/deployments/app.war
5 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-cdi-full-multi-project/jsp/build.gradle:
--------------------------------------------------------------------------------
1 | plugins {
2 | id "war"
3 | }
4 |
5 | // war { archiveName = "${baseName}.${extension}" }
6 |
7 | dependencies {
8 | compileOnly(project(":ejb-services"))
9 | }
10 |
11 | jar.enabled = false
12 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-cdi-full-multi-project/rest/build.gradle:
--------------------------------------------------------------------------------
1 | plugins {
2 | id "war"
3 | }
4 |
5 | // war { archiveName = "${baseName}.${extension}" }
6 |
7 | dependencies {
8 | compileOnly(project(":ejb-services"))
9 | }
10 |
11 | jar.enabled = false
12 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-cdi-full-multi-project/rest/src/main/java/daggerok/rest/ApplicationConfig.java:
--------------------------------------------------------------------------------
1 | package daggerok.rest;
2 |
3 | import javax.enterprise.context.ApplicationScoped;
4 | import javax.ws.rs.ApplicationPath;
5 | import javax.ws.rs.core.Application;
6 |
7 | @ApplicationScoped
8 | @ApplicationPath("api")
9 | public class ApplicationConfig extends Application { }
10 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-cdi-full-multi-project/rest/src/main/java/daggerok/rest/hello/HelloResource.java:
--------------------------------------------------------------------------------
1 | package daggerok.rest.hello;
2 |
3 | import daggerok.ejb.api.HelloService;
4 |
5 | import javax.ejb.EJB;
6 | import javax.ejb.Stateless;
7 | import javax.inject.Inject;
8 | import javax.json.Json;
9 | import javax.ws.rs.*;
10 | import javax.ws.rs.core.Response;
11 |
12 | import java.util.Map;
13 |
14 | import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
15 |
16 | @Path("")
17 | @Stateless
18 | @Produces(APPLICATION_JSON)
19 | public class HelloResource {
20 |
21 | @Inject
22 | HelloService helloService;
23 |
24 | @POST
25 | @Path("")
26 | public Response hello(final Map params) {
27 |
28 | final String name = params.getOrDefault("name", "Buddy");
29 |
30 | return Response.ok(Json.createObjectBuilder()
31 | .add("message", helloService.sayHello(name))
32 | .build()
33 | .toString())
34 | .build();
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-cdi-full-multi-project/rest/src/main/java/lombok.config:
--------------------------------------------------------------------------------
1 | lombok.var.flagUsage = ALLOW
2 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-cdi-full-multi-project/rest/src/main/resources/WEB-INF/beans.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-cdi-full-multi-project/servlet/build.gradle:
--------------------------------------------------------------------------------
1 | plugins {
2 | id "war"
3 | }
4 |
5 | // war { archiveName = "${baseName}.${extension}" }
6 |
7 | dependencies {
8 | compileOnly(project(":ejb-services"))
9 | }
10 |
11 | jar.enabled = false
12 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-cdi-full-multi-project/servlet/src/main/java/lombok.config:
--------------------------------------------------------------------------------
1 | lombok.var.flagUsage = ALLOW
2 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-cdi-full-multi-project/servlet/src/main/resources/WEB-INF/beans.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-cdi-full-multi-project/settings.gradle:
--------------------------------------------------------------------------------
1 | rootProject.name = '<%= projectDirectory %>'
2 | enableFeaturePreview 'STABLE_PUBLISHING'
3 | include 'docs'
4 | include 'ejb-data'
5 | include 'ejb-services'
6 | include 'servlet'
7 | include 'jsp'
8 | include 'rest'
9 | include 'web'
10 | include 'ear'
11 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-cdi-full-multi-project/web/build.gradle:
--------------------------------------------------------------------------------
1 | plugins {
2 | id "war"
3 | }
4 |
5 | // war { archiveName = "${baseName}.${extension}" }
6 |
7 | jar.enabled = false
8 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-cdi-full-multi-project/web/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 | com.github.daggerok
7 | <%= projectDirectory %>
8 | 0.0.1
9 |
10 |
11 | 4.0.0
12 | ${parent.artifactId}:${artifactId}
13 | web
14 | war
15 |
16 |
17 |
18 |
19 | org.apache.maven.plugins
20 | maven-war-plugin
21 | 3.2.2
22 |
23 | false
24 |
25 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-cdi-full-multi-project/web/src/main/webapp/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Hello
6 |
7 |
8 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-ejb-full-multi-project/.mvn/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM daggerok/jboss:eap-7.1
2 | RUN echo "JAVA_OPTS=\"\$JAVA_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 \"" >> ${JBOSS_HOME}/bin/standalone.conf
3 | EXPOSE 5005
4 | ADD ./target/*.war ${JBOSS_HOME}/standalone/deployments/app.war
5 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-ejb-full-multi-project/docker-compose-gradle.yaml:
--------------------------------------------------------------------------------
1 | version: "2.1"
2 | services:
3 | <%= projectDirectory %>:
4 | build:
5 | context: .
6 | dockerfile: ./ear/gradle/Dockerfile
7 | networks: [backing-services]
8 | ports:
9 | - "5005:5005"
10 | - "8080:8080"
11 | #mem_limit: 209715200 # container limit: 200Mb (200 * 1024 * 1024)
12 | networks:
13 | backing-services:
14 | driver: bridge
15 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-ejb-full-multi-project/docker-compose-maven.yaml:
--------------------------------------------------------------------------------
1 | version: "2.1"
2 | services:
3 | <%= projectDirectory %>:
4 | build:
5 | context: .
6 | dockerfile: ./ear/.mvn/Dockerfile
7 | networks: [backing-services]
8 | ports:
9 | - "5005:5005"
10 | - "8080:8080"
11 | #mem_limit: 209715200 # container limit: 200Mb (200 * 1024 * 1024)
12 | networks:
13 | backing-services:
14 | driver: bridge
15 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-ejb-full-multi-project/ear/.mvn/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM daggerok/jboss:eap-7.1
2 | RUN echo "JAVA_OPTS=\"\$JAVA_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 \"" >> ${JBOSS_HOME}/bin/standalone.conf
3 | EXPOSE 5005
4 | HEALTHCHECK --timeout=2s --retries=66 \
5 | CMD wget -q --spider http://127.0.0.1:8080/web/ \
6 | || exit 1
7 | COPY --chown=jboss-eap-7.1 ./ear/target/*.ear ${JBOSS_HOME}/standalone/deployments/
8 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-ejb-full-multi-project/ear/build.gradle:
--------------------------------------------------------------------------------
1 | plugins {
2 | id 'ear'
3 | }
4 |
5 | repositories { mavenCentral() }
6 |
7 | dependencies {
8 |
9 | [':ejb-data', ':ejb-services']
10 | .collect { project it }
11 | .each { deploy it }
12 |
13 | [':servlet', ':jsp', ':rest', ':web']
14 | .collect { project(path: it, configuration: 'archives') }
15 | .each { deploy it }
16 | }
17 |
18 | ear {
19 | deploymentDescriptor {
20 |
21 | version = '7'
22 | description = "$rootProject.name Gradle EAR"
23 |
24 | [':servlet', ':jsp', ':rest', ':web']
25 | .collect { project it }
26 | .each { webModule("${it.name}-${it.version}.war", "/$it.name") }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-ejb-full-multi-project/ear/gradle/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM daggerok/jboss:eap-7.1
2 | RUN echo "JAVA_OPTS=\"\$JAVA_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 \"" >> ${JBOSS_HOME}/bin/standalone.conf
3 | EXPOSE 5005
4 | HEALTHCHECK --timeout=2s --retries=66 \
5 | CMD wget -q --spider http://127.0.0.1:8080/web/ \
6 | || exit 1
7 | ADD --chown=jboss-eap-7.1 ./ear/build/libs/*.ear ${JBOSS_HOME}/standalone/deployments/
8 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-ejb-full-multi-project/ejb-data/build.gradle:
--------------------------------------------------------------------------------
1 | dependencies {
2 | compileOnly("com.h2database:h2:1.4.196")
3 | }
4 |
5 | // archiveName = "${baseName}-${version}-client.${extension}"
6 | task ejbClientJar(type: Jar) {
7 | classifier = "client"
8 | from sourceSets.main.output
9 | include "**/api/*.*"
10 | include "**/api/**/*.*"
11 | }
12 |
13 | jar.dependsOn(ejbClientJar)
14 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-ejb-full-multi-project/ejb-data/src/main/java/daggerok/ejb/api/HelloRepository.java:
--------------------------------------------------------------------------------
1 | package daggerok.ejb.api;
2 |
3 | import daggerok.entity.Hello;
4 |
5 | import javax.ejb.Local;
6 | import java.util.List;
7 | import java.util.UUID;
8 |
9 | @Local
10 | public interface HelloRepository {
11 |
12 | Hello save(final Hello hello);
13 |
14 | void delete(final Hello hello);
15 |
16 | void delete(final Long id);
17 |
18 | Hello findById(final Long id);
19 |
20 | Hello findOne(final Long id);
21 |
22 | List findAll();
23 | }
24 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-ejb-full-multi-project/ejb-data/src/main/java/daggerok/entity/Hello.java:
--------------------------------------------------------------------------------
1 | package daggerok.entity;
2 |
3 | import lombok.Data;
4 | import lombok.NoArgsConstructor;
5 | import lombok.experimental.Accessors;
6 |
7 | import javax.persistence.Entity;
8 | import javax.persistence.GeneratedValue;
9 | import javax.persistence.GenerationType;
10 | import javax.persistence.Id;
11 | import java.io.Serializable;
12 |
13 | @Data
14 | @Entity
15 | @NoArgsConstructor
16 | @Accessors(chain = true)
17 | public class Hello implements Serializable {
18 |
19 | @Id
20 | @GeneratedValue(strategy = GenerationType.IDENTITY)
21 | private Long id;
22 |
23 | private String content;
24 | }
25 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-ejb-full-multi-project/ejb-data/src/main/resources/META-INF/persistence.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | java:jboss/datasources/ExampleDS
5 | daggerok.entity.Hello
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-ejb-full-multi-project/ejb-services/build.gradle:
--------------------------------------------------------------------------------
1 | dependencies {
2 | compileOnly(project(":ejb-data"))
3 | }
4 |
5 | // archiveName = "${baseName}-${version}-client.${extension}"
6 | task ejbClientJar(type: Jar) {
7 | classifier = "client"
8 | from sourceSets.main.output
9 | include "**/api/*.*"
10 | include "**/api/**/*.*"
11 | }
12 |
13 | jar.dependsOn(ejbClientJar)
14 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-ejb-full-multi-project/ejb-services/src/main/java/daggerok/ejb/api/HelloService.java:
--------------------------------------------------------------------------------
1 | package daggerok.ejb.api;
2 |
3 | public interface HelloService {
4 |
5 | String sayHello(final String name);
6 |
7 | String getAllGreetings();
8 | }
9 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-ejb-full-multi-project/gradle/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM daggerok/jboss:eap-7.1
2 | RUN echo "JAVA_OPTS=\"\$JAVA_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 \"" >> ${JBOSS_HOME}/bin/standalone.conf
3 | EXPOSE 5005
4 | ADD ./build/libs/*.war ${JBOSS_HOME}/standalone/deployments/app.war
5 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-ejb-full-multi-project/jsp/build.gradle:
--------------------------------------------------------------------------------
1 | plugins {
2 | id "war"
3 | }
4 |
5 | // war { archiveName = "${baseName}.${extension}" }
6 |
7 | dependencies {
8 | compileOnly(project(":ejb-services"))
9 | }
10 |
11 | jar.enabled = false
12 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-ejb-full-multi-project/rest/build.gradle:
--------------------------------------------------------------------------------
1 | plugins {
2 | id "war"
3 | }
4 |
5 | // war { archiveName = "${baseName}.${extension}" }
6 |
7 | dependencies {
8 | compileOnly(project(":ejb-services"))
9 | }
10 |
11 | jar.enabled = false
12 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-ejb-full-multi-project/rest/src/main/java/daggerok/rest/ApplicationConfig.java:
--------------------------------------------------------------------------------
1 | package daggerok.rest;
2 |
3 | import javax.enterprise.context.ApplicationScoped;
4 | import javax.ws.rs.ApplicationPath;
5 | import javax.ws.rs.core.Application;
6 |
7 | @ApplicationScoped
8 | @ApplicationPath("api")
9 | public class ApplicationConfig extends Application { }
10 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-ejb-full-multi-project/rest/src/main/java/daggerok/rest/hello/HelloResource.java:
--------------------------------------------------------------------------------
1 | package daggerok.rest.hello;
2 |
3 | import daggerok.ejb.api.HelloService;
4 |
5 | import javax.ejb.EJB;
6 | import javax.ejb.Stateless;
7 | import javax.json.Json;
8 | import javax.ws.rs.*;
9 | import javax.ws.rs.core.Response;
10 |
11 | import java.util.Map;
12 |
13 | import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
14 |
15 | @Path("")
16 | @Stateless
17 | @Produces(APPLICATION_JSON)
18 | public class HelloResource {
19 |
20 | @EJB
21 | HelloService helloService;
22 |
23 | @POST
24 | @Path("")
25 | public Response hello(final Map params) {
26 |
27 | final String name = params.getOrDefault("name", "Buddy");
28 |
29 | return Response.ok(Json.createObjectBuilder()
30 | .add("message", helloService.sayHello(name))
31 | .build()
32 | .toString())
33 | .build();
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-ejb-full-multi-project/rest/src/main/java/lombok.config:
--------------------------------------------------------------------------------
1 | lombok.var.flagUsage = ALLOW
2 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-ejb-full-multi-project/servlet/build.gradle:
--------------------------------------------------------------------------------
1 | plugins {
2 | id "war"
3 | }
4 |
5 | // war { archiveName = "${baseName}.${extension}" }
6 |
7 | dependencies {
8 | compileOnly(project(":ejb-services"))
9 | }
10 |
11 | jar.enabled = false
12 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-ejb-full-multi-project/servlet/src/main/java/lombok.config:
--------------------------------------------------------------------------------
1 | lombok.var.flagUsage = ALLOW
2 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-ejb-full-multi-project/settings.gradle:
--------------------------------------------------------------------------------
1 | rootProject.name = '<%= projectDirectory %>'
2 | enableFeaturePreview 'STABLE_PUBLISHING'
3 | include 'docs'
4 | include 'ejb-data'
5 | include 'ejb-services'
6 | include 'servlet'
7 | include 'jsp'
8 | include 'rest'
9 | include 'web'
10 | include 'ear'
11 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-ejb-full-multi-project/web/build.gradle:
--------------------------------------------------------------------------------
1 | plugins {
2 | id "war"
3 | }
4 |
5 | // war { archiveName = "${baseName}.${extension}" }
6 |
7 | jar.enabled = false
8 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-ejb-full-multi-project/web/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 | com.github.daggerok
8 | <%= projectDirectory %>
9 | 0.0.1
10 |
11 |
12 | 4.0.0
13 | ${parent.artifactId}:${artifactId}
14 | web
15 | war
16 |
17 |
18 |
19 |
20 | org.apache.maven.plugins
21 | maven-war-plugin
22 | 3.2.2
23 |
24 | false
25 |
26 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-ejb-full-multi-project/web/src/main/webapp/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Hello
6 |
7 |
8 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-faces/.mvn/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM daggerok/jboss:eap-7.1
2 | RUN echo "JAVA_OPTS=\"\$JAVA_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 \"" >> ${JBOSS_HOME}/bin/standalone.conf
3 | EXPOSE 5005
4 | ADD ./target/*.war ${JBOSS_HOME}/standalone/deployments/app.war
5 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-faces/docker-compose-gradle.yaml:
--------------------------------------------------------------------------------
1 | version: "2.1"
2 | services:
3 | <%= projectDirectory %>:
4 | build:
5 | context: .
6 | dockerfile: gradle/Dockerfile
7 | volumes: ["<%= projectDirectory %>-data:/home/appuser"]
8 | ports:
9 | - "5005:5005"
10 | - "8080:8080"
11 | - "9990:9990"
12 | networks: [backing-services]
13 | #mem_limit: 786432000 # container limit: 700Mb (700 * 1024 * 1024)
14 | volumes:
15 | <%= projectDirectory %>-data: {}
16 | networks:
17 | backing-services:
18 | driver: bridge
19 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-faces/docker-compose-maven.yaml:
--------------------------------------------------------------------------------
1 | version: "2.1"
2 | services:
3 | <%= projectDirectory %>:
4 | build:
5 | context: .
6 | dockerfile: .mvn/Dockerfile
7 | volumes: ["<%= projectDirectory %>-data:/home/appuser"]
8 | ports:
9 | - "8080:8080"
10 | - "5005:5005"
11 | - "4848:4848"
12 | networks: [backing-services]
13 | #mem_limit: 786432000 # container limit: 700Mb (700 * 1024 * 1024)
14 | volumes:
15 | <%= projectDirectory %>-data: {}
16 | networks:
17 | backing-services:
18 | driver: bridge
19 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-faces/src/main/java/daggerok/IndexBean.java:
--------------------------------------------------------------------------------
1 | package daggerok;
2 |
3 | import lombok.Getter;
4 | import lombok.Setter;
5 |
6 | import javax.enterprise.context.SessionScoped;
7 | import javax.inject.Named;
8 | import java.io.Serializable;
9 |
10 | @Named
11 | @Getter
12 | @SessionScoped
13 | public class IndexBean implements Serializable {
14 |
15 | @Setter
16 | private String name;
17 | private String message;
18 |
19 | public void createMessage() {
20 | message = null == name || "".equals(name.trim())
21 | ? "" : "Hello, " + name.trim() + "!";
22 | setName("");
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-faces/src/main/java/lombok.config:
--------------------------------------------------------------------------------
1 | lombok.var.flagUsage = ALLOW
2 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-faces/src/main/webapp/WEB-INF/beans.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-faces/src/main/webapp/WEB-INF/faces-config.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-faces/src/main/webapp/WEB-INF/web.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 | faces
7 |
8 |
9 | Faces Servlet
10 | javax.faces.webapp.FacesServlet
11 | 1
12 |
13 |
14 | Faces Servlet
15 | /faces/*
16 | *.xhtml
17 |
18 |
19 |
20 | index.xhtml
21 |
22 |
23 |
24 | javax.faces.PROJECT_STAGE
25 | Development
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-faces/src/test/java/daggerok/AppJUnit4Test.java:
--------------------------------------------------------------------------------
1 | package daggerok;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.hamcrest.MatcherAssert.assertThat;
6 | import static org.hamcrest.core.Is.is;
7 |
8 | public class AppJUnit4Test {
9 |
10 | @Test
11 | public void testPositive() {
12 | assertThat(true, is(true));
13 | }
14 |
15 | @Test(expected = AssertionError.class)
16 | public void testNegative() {
17 | assertThat(false, is(true));
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-faces/src/test/resources/junit-platform.properties:
--------------------------------------------------------------------------------
1 | junit.jupiter.testinstance.lifecycle.default = per_class
2 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-thymeleaf/.mvn/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM daggerok/jboss:eap-7.1
2 | RUN echo "JAVA_OPTS=\"\$JAVA_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 \"" >> ${JBOSS_HOME}/bin/standalone.conf
3 | EXPOSE 5005
4 | HEALTHCHECK --timeout=1s --retries=66 \
5 | CMD wget -q --spider http://127.0.0.1:8080/app/api/health \
6 | || exit 1
7 | ADD ./target/*.war ${JBOSS_HOME}/standalone/deployments/app.war
8 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-thymeleaf/docker-compose-gradle.yaml:
--------------------------------------------------------------------------------
1 | version: "2.1"
2 | services:
3 | <%= projectDirectory %>:
4 | #mem_limit: 786432000 # container limit: 700Mb (700 * 1024 * 1024)
5 | build:
6 | context: .
7 | dockerfile: gradle/Dockerfile
8 | volumes: ["<%= projectDirectory %>-data:/home"]
9 | ports:
10 | - "5005:5005"
11 | - "8080:8080"
12 | - "9990:9990"
13 | networks:
14 | public-net:
15 | aliases:
16 | - app
17 | volumes:
18 | <%= projectDirectory %>-data:
19 | networks:
20 | public-net:
21 | driver: bridge
22 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-thymeleaf/docker-compose-maven.yaml:
--------------------------------------------------------------------------------
1 | version: "2.1"
2 | services:
3 | <%= projectDirectory %>:
4 | #mem_limit: 786432000 # container limit: 700Mb (700 * 1024 * 1024)
5 | build:
6 | context: .
7 | dockerfile: .mvn/Dockerfile
8 | volumes: ["<%= projectDirectory %>-data:/home"]
9 | ports:
10 | - "5005:5005"
11 | - "8080:8080"
12 | - "9990:9990"
13 | networks:
14 | public-net:
15 | aliases:
16 | - app
17 | volumes:
18 | <%= projectDirectory %>-data:
19 | networks:
20 | public-net:
21 | driver: bridge
22 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-thymeleaf/gradle/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM daggerok/jboss:eap-7.1
2 | RUN echo "JAVA_OPTS=\"\$JAVA_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 \"" >> ${JBOSS_HOME}/bin/standalone.conf
3 | EXPOSE 5005
4 | HEALTHCHECK --timeout=1s --retries=66 \
5 | CMD wget -q --spider http://127.0.0.1:8080/app/api/health \
6 | || exit 1
7 | ADD ./build/libs/*.war ${JBOSS_HOME}/standalone/deployments/app.war
8 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-thymeleaf/src/main/java/daggerok/App.java:
--------------------------------------------------------------------------------
1 | package daggerok;
2 |
3 | import javax.enterprise.context.ApplicationScoped;
4 | import javax.ws.rs.ApplicationPath;
5 | import javax.ws.rs.core.Application;
6 |
7 | @ApplicationScoped
8 | @ApplicationPath("")
9 | public class App extends Application {}
10 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-thymeleaf/src/main/java/daggerok/mvc/IndexPage.java:
--------------------------------------------------------------------------------
1 | package daggerok.mvc;
2 |
3 | import javax.inject.Inject;
4 | import javax.mvc.Models;
5 | import javax.mvc.annotation.Controller;
6 | import javax.ws.rs.GET;
7 | import javax.ws.rs.Path;
8 | import javax.ws.rs.Produces;
9 |
10 | import static java.util.Arrays.asList;
11 | import static javax.ws.rs.core.MediaType.TEXT_HTML;
12 |
13 | @Path("")
14 | public class IndexPage {
15 |
16 | @Inject Models models;
17 |
18 | @GET
19 | @Path("")
20 | @Controller
21 | @Produces(TEXT_HTML)
22 | public String indexView() {
23 | models.put("message", "Hello, World!");
24 | models.put("data", asList("ololo", "trololo"));
25 | return "index";
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-thymeleaf/src/main/java/lombok.config:
--------------------------------------------------------------------------------
1 | lombok.var.flagUsage = ALLOW
2 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-thymeleaf/src/main/resources/META-INF/persistence.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | java:jboss/datasources/ExampleDS
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-thymeleaf/src/main/webapp/WEB-INF/assets/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daggerok/generator-jvm/d17a63d7a91fa1736d77a47faf1016488fe1b073/generators/app/templates/java-ee-thymeleaf/src/main/webapp/WEB-INF/assets/favicon.ico
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-thymeleaf/src/main/webapp/WEB-INF/assets/scripts.js:
--------------------------------------------------------------------------------
1 | (function main() {
2 | 'use strict';
3 | window.document.addEventListener('DOMContentLoaded', function onDOMContentLoaded() {
4 | console.log('materialize initialization...');
5 | M.AutoInit();
6 | }, false);
7 | })();
8 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-thymeleaf/src/main/webapp/WEB-INF/assets/styles.css:
--------------------------------------------------------------------------------
1 | body {
2 | padding: 2%;
3 | margin: 0;
4 | }
5 |
6 | ul {
7 | list-style-type: none;
8 | }
9 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-thymeleaf/src/main/webapp/WEB-INF/beans.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
14 |
15 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-thymeleaf/src/main/webapp/WEB-INF/layouts/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Hello | Thymeleaf EE
5 |
6 |
7 |
8 |
9 |
10 | Hello!
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-thymeleaf/src/test/java/daggerok/AppJUnit4Test.java:
--------------------------------------------------------------------------------
1 | package daggerok;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.hamcrest.MatcherAssert.assertThat;
6 | import static org.hamcrest.core.Is.is;
7 |
8 | public class AppJUnit4Test {
9 |
10 | @Test
11 | public void testPositive() {
12 | assertThat(true, is(true));
13 | }
14 |
15 | @Test(expected = AssertionError.class)
16 | public void testNegative() {
17 | assertThat(false, is(true));
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-thymeleaf/src/test/java/daggerok/AppJUnit5Test.java:
--------------------------------------------------------------------------------
1 | package daggerok;
2 |
3 | import org.junit.jupiter.api.DisplayName;
4 | import org.junit.jupiter.api.Test;
5 |
6 | import static org.assertj.core.api.AssertionsForInterfaceTypes.assertThat;
7 | import static org.junit.jupiter.api.Assertions.assertThrows;
8 |
9 | @DisplayName("JUnit 5 modern tests")
10 | class AppJUnit5Test {
11 |
12 | @Test
13 | @DisplayName("Positive test")
14 | void testPositive() {
15 | assertThat(true).isTrue();
16 | }
17 |
18 | @Test
19 | @DisplayName("Negative test")
20 | void testNegative() {
21 |
22 | assertThrows(AssertionError.class,
23 | () -> assertThat(false).isTrue(),
24 | "Assertion error should thrown");
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee-thymeleaf/src/test/resources/junit-platform.properties:
--------------------------------------------------------------------------------
1 | junit.jupiter.testinstance.lifecycle.default = per_class
2 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee/.mvn/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM daggerok/jboss:eap-7.1
2 | RUN echo "JAVA_OPTS=\"\$JAVA_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 \"" >> ${JBOSS_HOME}/bin/standalone.conf
3 | EXPOSE 5005
4 | HEALTHCHECK --timeout=1s --retries=66 \
5 | CMD wget -q --spider http://127.0.0.1:8080/app/api/health \
6 | || exit 1
7 | ADD ./target/*.war ${JBOSS_HOME}/standalone/deployments/app.war
8 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee/docker-compose-gradle.yaml:
--------------------------------------------------------------------------------
1 | version: '2.1'
2 | services:
3 | <%= projectDirectory %>:
4 | #mem_limit: 786432000 # container limit: 700Mb (700 * 1024 * 1024)
5 | build:
6 | context: .
7 | dockerfile: gradle/Dockerfile
8 | volumes: ['<%= projectDirectory %>-data:/home']
9 | ports:
10 | - '5005:5005'
11 | - '8080:8080'
12 | - '9990:9990'
13 | networks:
14 | public-net:
15 | aliases:
16 | - app
17 | volumes:
18 | <%= projectDirectory %>-data:
19 | networks:
20 | public-net:
21 | driver: bridge
22 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee/docker-compose-maven.yaml:
--------------------------------------------------------------------------------
1 | version: '2.1'
2 | services:
3 | <%= projectDirectory %>:
4 | #mem_limit: 786432000 # container limit: 700Mb (700 * 1024 * 1024)
5 | build:
6 | context: .
7 | dockerfile: .mvn/Dockerfile
8 | volumes: ['<%= projectDirectory %>-data:/home']
9 | ports:
10 | - '5005:5005'
11 | - '8080:8080'
12 | - '9990:9990'
13 | networks:
14 | public-net:
15 | aliases:
16 | - app
17 | volumes:
18 | <%= projectDirectory %>-data:
19 | networks:
20 | public-net:
21 | driver: bridge
22 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee/gradle/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM daggerok/jboss:eap-7.1
2 | RUN echo "JAVA_OPTS=\"\$JAVA_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 \"" >> ${JBOSS_HOME}/bin/standalone.conf
3 | EXPOSE 5005
4 | HEALTHCHECK --timeout=1s --retries=66 \
5 | CMD wget -q --spider http://127.0.0.1:8080/app/api/health \
6 | || exit 1
7 | ADD ./build/libs/*.war ${JBOSS_HOME}/standalone/deployments/app.war
8 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee/src/main/java/daggerok/App.java:
--------------------------------------------------------------------------------
1 | package daggerok;
2 |
3 | import javax.enterprise.context.ApplicationScoped;
4 | import javax.ws.rs.ApplicationPath;
5 | import javax.ws.rs.core.Application;
6 |
7 | @ApplicationScoped
8 | @ApplicationPath("")
9 | public class App extends Application {}
10 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee/src/main/java/lombok.config:
--------------------------------------------------------------------------------
1 | lombok.var.flagUsage = ALLOW
2 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee/src/main/resources/META-INF/persistence.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | java:jboss/datasources/ExampleDS
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee/src/main/webapp/WEB-INF/beans.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
14 |
15 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee/src/test/java/daggerok/AppJUnit4Test.java:
--------------------------------------------------------------------------------
1 | package daggerok;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.hamcrest.MatcherAssert.assertThat;
6 | import static org.hamcrest.core.Is.is;
7 |
8 | public class AppJUnit4Test {
9 |
10 | @Test
11 | public void testPositive() {
12 | assertThat(true, is(true));
13 | }
14 |
15 | @Test(expected = AssertionError.class)
16 | public void testNegative() {
17 | assertThat(false, is(true));
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee/src/test/java/daggerok/AppJUnit5Test.java:
--------------------------------------------------------------------------------
1 | package daggerok;
2 |
3 | import org.junit.jupiter.api.DisplayName;
4 | import org.junit.jupiter.api.Test;
5 |
6 | import static org.assertj.core.api.AssertionsForInterfaceTypes.assertThat;
7 | import static org.junit.jupiter.api.Assertions.assertThrows;
8 |
9 | @DisplayName("JUnit 5 modern tests")
10 | class AppJUnit5Test {
11 |
12 | @Test
13 | @DisplayName("Positive test")
14 | void testPositive() {
15 | assertThat(true).isTrue();
16 | }
17 |
18 | @Test
19 | @DisplayName("Negative test")
20 | void testNegative() {
21 |
22 | assertThrows(AssertionError.class,
23 | () -> assertThat(false).isTrue(),
24 | "Assertion error should thrown");
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/generators/app/templates/java-ee/src/test/resources/junit-platform.properties:
--------------------------------------------------------------------------------
1 | junit.jupiter.testinstance.lifecycle.default = per_class
2 |
--------------------------------------------------------------------------------
/generators/app/templates/java-parent-multi-project/docker-compose-gradle.yaml:
--------------------------------------------------------------------------------
1 | version: "2.1"
2 | services:
3 | <%= projectDirectory %>:
4 | build:
5 | context: .
6 | dockerfile: gradle/Dockerfile
7 | volumes: ["<%= projectDirectory %>-data:/home/appuser"]
8 | networks: [backing-services]
9 | #ports: ["8080:8080"]
10 | #restart: unless-stopped
11 | #mem_limit: 209715200 # container limit: 200Mb (200 * 1024 * 1024)
12 | volumes:
13 | <%= projectDirectory %>-data: {}
14 | networks:
15 | backing-services:
16 | driver: bridge
17 |
--------------------------------------------------------------------------------
/generators/app/templates/java-parent-multi-project/docker-compose-maven.yaml:
--------------------------------------------------------------------------------
1 | version: "2.1"
2 | services:
3 | <%= projectDirectory %>:
4 | build:
5 | context: .
6 | dockerfile: .mvn/Dockerfile
7 | volumes: ["<%= projectDirectory %>-data:/home/appuser"]
8 | networks: [backing-services]
9 | #ports: ["8080:8080"]
10 | #restart: unless-stopped
11 | #mem_limit: 209715200 # container limit: 200Mb (200 * 1024 * 1024)
12 | volumes:
13 | <%= projectDirectory %>-data: {}
14 | networks:
15 | backing-services:
16 | driver: bridge
17 |
--------------------------------------------------------------------------------
/generators/app/templates/java-parent-multi-project/gradle/java.gradle:
--------------------------------------------------------------------------------
1 | allprojects {
2 |
3 | apply plugin: 'base'
4 | apply plugin: 'maven'
5 |
6 | version = project.findProperty('ogr.gradle.project.version') ?: '0.0.1'
7 | group = 'com.github.daggerok'
8 |
9 | defaultTasks 'clean', 'build'
10 |
11 | apply plugin: 'java'
12 | sourceCompatibility = targetCompatibility = "$javaVersion"
13 |
14 | apply plugin: 'io.franzbecker.gradle-lombok'
15 | lombok.version = project.lombokVersion
16 |
17 | dependencies {
18 | // In java we trust...
19 | compile "io.vavr:vavr:$vavrVersion"
20 | compile "org.slf4j:slf4j-api:$slf4jVersion"
21 | compile "ch.qos.logback:logback-classic:$logbackVersion"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/generators/app/templates/java-payara-micro/docker-compose-gradle.yaml:
--------------------------------------------------------------------------------
1 | version: '2.2'
2 | services:
3 | <%= projectDirectory %>:
4 | build:
5 | context: .
6 | dockerfile: gradle/Dockerfile
7 | ports:
8 | - '5005:5005'
9 | - '8080:8080'
10 | networks: [backing-services]
11 | networks:
12 | backing-services:
13 | driver: bridge
14 |
--------------------------------------------------------------------------------
/generators/app/templates/java-payara-micro/docker-compose-maven.yaml:
--------------------------------------------------------------------------------
1 | version: '2.2'
2 | services:
3 | <%= projectDirectory %>:
4 | build:
5 | context: .
6 | dockerfile: .mvn/Dockerfile
7 | ports: ['8080:8080']
8 | networks: [backing-services]
9 | networks:
10 | backing-services:
11 | driver: bridge
12 |
--------------------------------------------------------------------------------
/generators/app/templates/java-payara-micro/src/main/java/com/github/daggerok/PayaraGradleAppConfig.java:
--------------------------------------------------------------------------------
1 | package com.github.daggerok;
2 |
3 | import javax.enterprise.context.ApplicationScoped;
4 | import javax.ws.rs.ApplicationPath;
5 | import javax.ws.rs.core.Application;
6 |
7 | @ApplicationScoped
8 | @ApplicationPath("v1")
9 | public class PayaraGradleAppConfig extends Application { }
10 |
--------------------------------------------------------------------------------
/generators/app/templates/java-payara-micro/src/main/java/com/github/daggerok/app/MyResource.java:
--------------------------------------------------------------------------------
1 | package com.github.daggerok.app;
2 |
3 | import lombok.extern.java.Log;
4 |
5 | import javax.enterprise.context.ApplicationScoped;
6 | import javax.inject.Inject;
7 | import javax.ws.rs.*;
8 | import javax.ws.rs.core.Response;
9 | import java.util.Collection;
10 | import java.util.Map;
11 |
12 | import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
13 |
14 | @Log
15 | @Path("")
16 | @ApplicationScoped
17 | //@Path("{path: .*?}")
18 | @Produces(APPLICATION_JSON)
19 | public class MyResource {
20 |
21 | @Inject MyRepository myRepository;
22 |
23 | @POST
24 | @Consumes(APPLICATION_JSON)
25 | public Response createPerson(Map request) {
26 | myRepository.addString(request.getOrDefault("string", ""));
27 | log.info("ololo");
28 | return Response.accepted().build();
29 | }
30 |
31 | @GET
32 | public Collection getAllPeople() {
33 | log.info("trololo");
34 | return myRepository.getStrings();
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/generators/app/templates/java-payara-micro/src/main/webapp/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daggerok/generator-jvm/d17a63d7a91fa1736d77a47faf1016488fe1b073/generators/app/templates/java-payara-micro/src/main/webapp/favicon.ico
--------------------------------------------------------------------------------
/generators/app/templates/java-spring-boot-1.x/docker-compose-gradle.yaml:
--------------------------------------------------------------------------------
1 | version: "2.1"
2 |
3 | services:
4 |
5 | <%= projectDirectory %>:
6 | build:
7 | context: .
8 | dockerfile: gradle/Dockerfile
9 | volumes: ["<%= projectDirectory %>-data:/home/appuser"]
10 | ports: ["8080:8080"]
11 | networks: [backing-services]
12 | #restart: unless-stopped
13 | #mem_limit: 786432000 # container limit: 700Mb (700 * 1024 * 1024)
14 |
15 | volumes:
16 | <%= projectDirectory %>-data: {}
17 |
18 | networks:
19 | backing-services:
20 | driver: bridge
21 |
--------------------------------------------------------------------------------
/generators/app/templates/java-spring-boot-1.x/docker-compose-maven.yaml:
--------------------------------------------------------------------------------
1 | version: "2.1"
2 |
3 | services:
4 |
5 | <%= projectDirectory %>:
6 | build:
7 | context: .
8 | dockerfile: .mvn/Dockerfile
9 | volumes: ["<%= projectDirectory %>-data:/home/appuser"]
10 | ports: ["8080:8080"]
11 | networks: [backing-services]
12 | #restart: unless-stopped
13 | #mem_limit: 786432000 # container limit: 700Mb (700 * 1024 * 1024)
14 |
15 | volumes:
16 | <%= projectDirectory %>-data: {}
17 |
18 | networks:
19 | backing-services:
20 | driver: bridge
21 |
--------------------------------------------------------------------------------
/generators/app/templates/java-spring-boot-1.x/gradle/java.gradle:
--------------------------------------------------------------------------------
1 | allprojects {
2 | apply plugin: 'java'
3 |
4 | apply plugin: 'io.franzbecker.gradle-lombok'
5 | lombok.version = project.lombokVersion
6 |
7 | version = project.findProperty('ogr.gradle.project.version') ?: '0.0.1'
8 | group = 'com.github.daggerok'
9 | sourceCompatibility = targetCompatibility = "$javaVersion"
10 |
11 | defaultTasks 'clean', 'build'
12 |
13 | dependencies {
14 | // In java we trust...
15 | implementation "io.vavr:vavr:$vavrVersion"
16 | //implementation "org.slf4j:slf4j-api:$slf4jVersion"
17 | //implementation "ch.qos.logback:logback-classic:$logbackVersion"
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/generators/app/templates/java-spring-boot-1.x/gradle/repositories-config.gradle:
--------------------------------------------------------------------------------
1 | repositories {
2 | //mavenLocal()
3 | mavenCentral()
4 | jcenter()
5 | //maven { url 'https://repo.spring.io/libs-milestone' }
6 | }
7 |
--------------------------------------------------------------------------------
/generators/app/templates/java-spring-boot-1.x/src/main/java/lombok.config:
--------------------------------------------------------------------------------
1 | lombok.var.flagUsage = ALLOW
2 |
--------------------------------------------------------------------------------
/generators/app/templates/java-spring-boot-1.x/src/main/resources/application-spring-boot.properties:
--------------------------------------------------------------------------------
1 | spring.profiles.active=spring-boot
2 | spring.output.ansi.enabled=always
3 | management.context-path=/actuator/
4 | management.security.enabled=false
5 | spring.mvc.favicon.enabled=false
6 |
--------------------------------------------------------------------------------
/generators/app/templates/java-spring-boot-1.x/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.profiles.include[0]=spring-boot
2 |
--------------------------------------------------------------------------------
/generators/app/templates/java-spring-boot-1.x/src/main/resources/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daggerok/generator-jvm/d17a63d7a91fa1736d77a47faf1016488fe1b073/generators/app/templates/java-spring-boot-1.x/src/main/resources/public/favicon.ico
--------------------------------------------------------------------------------
/generators/app/templates/java-spring-boot-1.x/src/main/resources/templates/index.html:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 | Reactive!
8 |
12 |
15 |
18 |
19 |
20 | [[${message}]]
21 | Checkout API!
22 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/generators/app/templates/java-spring-boot-1.x/src/test/java/daggerok/AppTests.java:
--------------------------------------------------------------------------------
1 | package daggerok;
2 |
3 | import org.junit.Test;
4 | import org.junit.runner.RunWith;
5 | import org.springframework.boot.test.context.SpringBootTest;
6 | import org.springframework.test.context.junit4.SpringRunner;
7 |
8 | @RunWith(SpringRunner.class)
9 | @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
10 | public class AppTests {
11 |
12 | @Test
13 | public void contextLoads() { }
14 | }
15 |
--------------------------------------------------------------------------------
/generators/app/templates/java-spring-boot-1.x/src/test/resources/junit-platform.properties:
--------------------------------------------------------------------------------
1 | junit.jupiter.testinstance.lifecycle.default = per_class
2 |
--------------------------------------------------------------------------------
/generators/app/templates/java-spring-boot-2.0.x/docker-compose-gradle.yaml:
--------------------------------------------------------------------------------
1 | version: "2.1"
2 | services:
3 | <%= projectDirectory %>:
4 | build:
5 | context: .
6 | dockerfile: gradle/Dockerfile
7 | volumes: ["<%= projectDirectory %>-data:/home/appuser"]
8 | ports: ["8080:8080"]
9 | networks: [backing-services]
10 | #restart: unless-stopped
11 | #mem_limit: 786432000 # container limit: 700Mb (700 * 1024 * 1024)
12 | volumes:
13 | <%= projectDirectory %>-data: {}
14 | networks:
15 | backing-services:
16 | driver: bridge
17 |
--------------------------------------------------------------------------------
/generators/app/templates/java-spring-boot-2.0.x/docker-compose-maven.yaml:
--------------------------------------------------------------------------------
1 | version: "2.1"
2 |
3 | services:
4 |
5 | <%= projectDirectory %>:
6 | build:
7 | context: .
8 | dockerfile: .mvn/Dockerfile
9 | volumes: ["<%= projectDirectory %>-data:/home/appuser"]
10 | ports: ["8080:8080"]
11 | networks: [backing-services]
12 | #restart: unless-stopped
13 | #mem_limit: 786432000 # container limit: 700Mb (700 * 1024 * 1024)
14 |
15 | volumes:
16 | <%= projectDirectory %>-data: {}
17 |
18 | networks:
19 | backing-services:
20 | driver: bridge
21 |
--------------------------------------------------------------------------------
/generators/app/templates/java-spring-boot-2.0.x/gradle/java.gradle:
--------------------------------------------------------------------------------
1 | allprojects {
2 | apply plugin: 'java'
3 |
4 | apply plugin: 'io.franzbecker.gradle-lombok'
5 | lombok.version = project.lombokVersion
6 |
7 | version = project.findProperty('ogr.gradle.project.version') ?: '0.0.1'
8 | group = 'com.github.daggerok'
9 | sourceCompatibility = targetCompatibility = "$javaVersion"
10 |
11 | defaultTasks 'clean', 'build'
12 |
13 | dependencies {
14 | // In java we trust...
15 | implementation "io.vavr:vavr:$vavrVersion"
16 | //implementation "org.slf4j:slf4j-api:$slf4jVersion"
17 | //implementation "ch.qos.logback:logback-classic:$logbackVersion"
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/generators/app/templates/java-spring-boot-2.0.x/gradle/repositories-config.gradle:
--------------------------------------------------------------------------------
1 | repositories {
2 | //mavenLocal()
3 | mavenCentral()
4 | jcenter()
5 | maven { url 'https://repo.spring.io/libs-milestone' }
6 | }
7 |
--------------------------------------------------------------------------------
/generators/app/templates/java-spring-boot-2.0.x/src/main/java/lombok.config:
--------------------------------------------------------------------------------
1 | lombok.var.flagUsage = ALLOW
2 |
--------------------------------------------------------------------------------
/generators/app/templates/java-spring-boot-2.0.x/src/main/resources/application-spring-boot.yaml:
--------------------------------------------------------------------------------
1 | spring:
2 | output:
3 | ansi:
4 | enabled: always
5 | mvc:
6 | favicon:
7 | enabled: false
8 |
--------------------------------------------------------------------------------
/generators/app/templates/java-spring-boot-2.0.x/src/main/resources/application.yaml:
--------------------------------------------------------------------------------
1 | spring:
2 | profiles:
3 | include:
4 | - spring-boot
5 |
--------------------------------------------------------------------------------
/generators/app/templates/java-spring-boot-2.0.x/src/main/resources/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daggerok/generator-jvm/d17a63d7a91fa1736d77a47faf1016488fe1b073/generators/app/templates/java-spring-boot-2.0.x/src/main/resources/public/favicon.ico
--------------------------------------------------------------------------------
/generators/app/templates/java-spring-boot-2.0.x/src/main/resources/templates/index.html:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 | Reactive!
8 |
12 |
15 |
18 |
19 |
20 | [[${message}]]
21 | Checkout API!
22 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/generators/app/templates/java-spring-boot-2.0.x/src/test/java/daggerok/junit4/AppJUnit4Tests.java:
--------------------------------------------------------------------------------
1 | package daggerok.junit4;
2 |
3 | import daggerok.App;
4 | import lombok.extern.slf4j.Slf4j;
5 | import org.junit.Test;
6 | import org.junit.runner.RunWith;
7 | import org.springframework.boot.test.context.SpringBootTest;
8 | import org.springframework.boot.web.server.LocalServerPort;
9 | import org.springframework.test.context.junit4.SpringRunner;
10 |
11 | import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT;
12 |
13 | @Slf4j
14 | @RunWith(
15 | SpringRunner.class
16 | )
17 | @SpringBootTest(
18 | classes = App.class,
19 | webEnvironment = RANDOM_PORT
20 | )
21 | public class AppJUnit4Tests {
22 |
23 | @LocalServerPort
24 | Integer port;
25 |
26 | @Test
27 | public void testContext() {
28 | log.info("Dummy test is running on {} port.", port);
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/generators/app/templates/java-spring-boot-2.0.x/src/test/java/daggerok/junit4/JUnit4Test.java:
--------------------------------------------------------------------------------
1 | package daggerok.junit4;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.hamcrest.MatcherAssert.assertThat;
6 | import static org.hamcrest.core.Is.is;
7 |
8 | public class JUnit4Test {
9 |
10 | @Test
11 | public void testPositive() {
12 | assertThat(true, is(true));
13 | }
14 |
15 | @Test(expected = AssertionError.class)
16 | public void testNegative() {
17 | assertThat(false, is(true));
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/generators/app/templates/java-spring-boot-2.0.x/src/test/java/daggerok/junit5/AppJUnit5Tests.java:
--------------------------------------------------------------------------------
1 | package daggerok.junit5;
2 |
3 | import daggerok.App;
4 | import lombok.RequiredArgsConstructor;
5 | import lombok.extern.slf4j.Slf4j;
6 | import org.junit.jupiter.api.DisplayName;
7 | import org.junit.jupiter.api.Test;
8 | import org.junit.jupiter.api.extension.ExtendWith;
9 | import org.springframework.boot.test.context.SpringBootTest;
10 | import org.springframework.boot.web.server.LocalServerPort;
11 | import org.springframework.test.context.junit.jupiter.SpringExtension;
12 |
13 | import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT;
14 |
15 | @Slf4j
16 | @ExtendWith(
17 | SpringExtension.class
18 | )
19 | @SpringBootTest(
20 | classes = App.class,
21 | webEnvironment = RANDOM_PORT
22 | )
23 | @RequiredArgsConstructor
24 | public class AppJUnit5Tests {
25 |
26 | @LocalServerPort
27 | Integer port;
28 |
29 | @Test
30 | @DisplayName("Testing application context")
31 | void testContext() {
32 | log.info("Dummy test is running on {} port.", port);
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/generators/app/templates/java-spring-boot-2.0.x/src/test/resources/junit-platform.properties:
--------------------------------------------------------------------------------
1 | junit.jupiter.testinstance.lifecycle.default = per_class
2 |
--------------------------------------------------------------------------------
/generators/app/templates/java-spring-boot/docker-compose-gradle.yaml:
--------------------------------------------------------------------------------
1 | version: "2.1"
2 | services:
3 | <%= projectDirectory %>:
4 | build:
5 | context: .
6 | dockerfile: gradle/Dockerfile
7 | volumes: ["<%= projectDirectory %>-data:/home/appuser"]
8 | ports: ["8080:8080"]
9 | networks: [backing-services]
10 | #restart: unless-stopped
11 | #mem_limit: 786432000 # container limit: 700Mb (700 * 1024 * 1024)
12 | volumes:
13 | <%= projectDirectory %>-data: {}
14 | networks:
15 | backing-services:
16 | driver: bridge
17 |
--------------------------------------------------------------------------------
/generators/app/templates/java-spring-boot/docker-compose-maven.yaml:
--------------------------------------------------------------------------------
1 | version: "2.1"
2 |
3 | services:
4 |
5 | <%= projectDirectory %>:
6 | build:
7 | context: .
8 | dockerfile: .mvn/Dockerfile
9 | volumes: ["<%= projectDirectory %>-data:/home/appuser"]
10 | ports: ["8080:8080"]
11 | networks: [backing-services]
12 | #restart: unless-stopped
13 | #mem_limit: 786432000 # container limit: 700Mb (700 * 1024 * 1024)
14 |
15 | volumes:
16 | <%= projectDirectory %>-data: {}
17 |
18 | networks:
19 | backing-services:
20 | driver: bridge
21 |
--------------------------------------------------------------------------------
/generators/app/templates/java-spring-boot/gradle/java.gradle:
--------------------------------------------------------------------------------
1 | allprojects {
2 | apply plugin: 'java'
3 |
4 | apply plugin: 'io.franzbecker.gradle-lombok'
5 | lombok.version = project.lombokVersion
6 |
7 | version = project.findProperty('ogr.gradle.project.version') ?: '0.0.1'
8 | group = 'com.github.daggerok'
9 | sourceCompatibility = targetCompatibility = "$javaVersion"
10 |
11 | defaultTasks 'clean', 'build'
12 |
13 | dependencies {
14 | // In java we trust...
15 | implementation "io.vavr:vavr:$vavrVersion"
16 | //implementation "org.slf4j:slf4j-api:$slf4jVersion"
17 | //implementation "ch.qos.logback:logback-classic:$logbackVersion"
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/generators/app/templates/java-spring-boot/gradle/repositories-config.gradle:
--------------------------------------------------------------------------------
1 | repositories {
2 | //mavenLocal()
3 | mavenCentral()
4 | jcenter()
5 | maven { url 'https://repo.spring.io/libs-milestone' }
6 | }
7 |
--------------------------------------------------------------------------------
/generators/app/templates/java-spring-boot/src/main/java/lombok.config:
--------------------------------------------------------------------------------
1 | lombok.var.flagUsage = ALLOW
2 |
--------------------------------------------------------------------------------
/generators/app/templates/java-spring-boot/src/main/resources/application-spring-boot.yaml:
--------------------------------------------------------------------------------
1 | spring:
2 | output:
3 | ansi:
4 | enabled: always
5 | mvc:
6 | favicon:
7 | enabled: false
8 |
--------------------------------------------------------------------------------
/generators/app/templates/java-spring-boot/src/main/resources/application.yaml:
--------------------------------------------------------------------------------
1 | spring:
2 | profiles:
3 | include:
4 | - spring-boot
5 |
--------------------------------------------------------------------------------
/generators/app/templates/java-spring-boot/src/main/resources/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daggerok/generator-jvm/d17a63d7a91fa1736d77a47faf1016488fe1b073/generators/app/templates/java-spring-boot/src/main/resources/public/favicon.ico
--------------------------------------------------------------------------------
/generators/app/templates/java-spring-boot/src/main/resources/templates/index.html:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 | Reactive!
8 |
12 |
15 |
18 |
19 |
20 | [[${message}]]
21 | Checkout API!
22 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/generators/app/templates/java-spring-boot/src/test/java/daggerok/junit4/AppJUnit4Tests.java:
--------------------------------------------------------------------------------
1 | package daggerok.junit4;
2 |
3 | import daggerok.App;
4 | import lombok.extern.slf4j.Slf4j;
5 | import org.junit.Test;
6 | import org.junit.runner.RunWith;
7 | import org.springframework.boot.test.context.SpringBootTest;
8 | import org.springframework.boot.web.server.LocalServerPort;
9 | import org.springframework.test.context.junit4.SpringRunner;
10 |
11 | import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT;
12 |
13 | @Slf4j
14 | @RunWith(
15 | SpringRunner.class
16 | )
17 | @SpringBootTest(
18 | classes = App.class,
19 | webEnvironment = RANDOM_PORT
20 | )
21 | public class AppJUnit4Tests {
22 |
23 | @LocalServerPort
24 | Integer port;
25 |
26 | @Test
27 | public void testContext() {
28 | log.info("Dummy test is running on {} port.", port);
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/generators/app/templates/java-spring-boot/src/test/java/daggerok/junit4/JUnit4Test.java:
--------------------------------------------------------------------------------
1 | package daggerok.junit4;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.hamcrest.MatcherAssert.assertThat;
6 | import static org.hamcrest.core.Is.is;
7 |
8 | public class JUnit4Test {
9 |
10 | @Test
11 | public void testPositive() {
12 | assertThat(true, is(true));
13 | }
14 |
15 | @Test(expected = AssertionError.class)
16 | public void testNegative() {
17 | assertThat(false, is(true));
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/generators/app/templates/java-spring-boot/src/test/java/daggerok/junit5/AppJUnit5Tests.java:
--------------------------------------------------------------------------------
1 | package daggerok.junit5;
2 |
3 | import daggerok.App;
4 | import lombok.RequiredArgsConstructor;
5 | import lombok.extern.slf4j.Slf4j;
6 | import org.junit.jupiter.api.DisplayName;
7 | import org.junit.jupiter.api.Test;
8 | import org.junit.jupiter.api.extension.ExtendWith;
9 | import org.springframework.boot.test.context.SpringBootTest;
10 | import org.springframework.boot.web.server.LocalServerPort;
11 | import org.springframework.test.context.junit.jupiter.SpringExtension;
12 |
13 | import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT;
14 |
15 | @Slf4j
16 | @ExtendWith(
17 | SpringExtension.class
18 | )
19 | @SpringBootTest(
20 | classes = App.class,
21 | webEnvironment = RANDOM_PORT
22 | )
23 | @RequiredArgsConstructor
24 | public class AppJUnit5Tests {
25 |
26 | @LocalServerPort
27 | Integer port;
28 |
29 | @Test
30 | @DisplayName("Testing application context")
31 | void testContext() {
32 | log.info("Dummy test is running on {} port.", port);
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/generators/app/templates/java-spring-boot/src/test/resources/junit-platform.properties:
--------------------------------------------------------------------------------
1 | junit.jupiter.testinstance.lifecycle.default = per_class
2 |
--------------------------------------------------------------------------------
/generators/app/templates/java-spring-cloud-function-web/.mvn/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM daggerok/jboss:eap-7.1
2 | RUN echo "JAVA_OPTS=\"\$JAVA_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 \"" >> ${JBOSS_HOME}/bin/standalone.conf
3 | EXPOSE 5005
4 | ADD ./target/*.war ${JBOSS_HOME}/standalone/deployments/app.war
5 |
--------------------------------------------------------------------------------
/generators/app/templates/java-spring-cloud-function-web/docker-compose-gradle.yaml:
--------------------------------------------------------------------------------
1 | version: "2.1"
2 |
3 | services:
4 |
5 | <%= projectDirectory %>:
6 | build:
7 | context: .
8 | dockerfile: gradle/Dockerfile
9 | volumes: ["<%= projectDirectory %>-data:/home/appuser"]
10 | ports: ["8080:8080"]
11 | networks: [backing-services]
12 | #mem_limit: 786432000 # container limit: 700Mb (700 * 1024 * 1024)
13 |
14 | volumes:
15 | <%= projectDirectory %>-data: {}
16 |
17 | networks:
18 | backing-services:
19 | driver: bridge
20 |
--------------------------------------------------------------------------------
/generators/app/templates/java-spring-cloud-function-web/docker-compose-maven.yaml:
--------------------------------------------------------------------------------
1 | version: "2.1"
2 |
3 | services:
4 |
5 | <%= projectDirectory %>:
6 | build:
7 | context: .
8 | dockerfile: .mvn/Dockerfile
9 | volumes: ["<%= projectDirectory %>-data:/home/appuser"]
10 | ports: ["8080:8080"]
11 | networks: [backing-services]
12 | #mem_limit: 786432000 # container limit: 700Mb (700 * 1024 * 1024)
13 |
14 | volumes:
15 | <%= projectDirectory %>-data: {}
16 |
17 | networks:
18 | backing-services:
19 | driver: bridge
20 |
--------------------------------------------------------------------------------
/generators/app/templates/java-spring-cloud-function-web/gradle/java.gradle:
--------------------------------------------------------------------------------
1 | allprojects {
2 | apply plugin: 'java'
3 |
4 | apply plugin: 'io.franzbecker.gradle-lombok'
5 | lombok.version = project.lombokVersion
6 |
7 | version = project.findProperty('ogr.gradle.project.version') ?: '0.0.1'
8 | group = 'com.github.daggerok'
9 | sourceCompatibility = targetCompatibility = "$javaVersion"
10 |
11 | defaultTasks 'clean', 'build'
12 |
13 | apply from: "$project.rootDir/gradle/repositories.gradle"
14 |
15 | dependencies {
16 | // In java we trust...
17 | implementation "io.vavr:vavr:$vavrVersion"
18 | //implementation "org.slf4j:slf4j-api:$slf4jVersion"
19 | //implementation "ch.qos.logback:logback-classic:$logbackVersion"
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/generators/app/templates/java-spring-cloud-function-web/gradle/repositories-config.gradle:
--------------------------------------------------------------------------------
1 | repositories {
2 | //mavenLocal()
3 | mavenCentral()
4 | jcenter()
5 | maven { url 'https://repo.spring.io/libs-milestone' }
6 | }
7 |
--------------------------------------------------------------------------------
/generators/app/templates/java-spring-cloud-function-web/src/main/java/daggerok/App.java:
--------------------------------------------------------------------------------
1 | package daggerok;
2 |
3 | import io.vavr.Tuple;
4 | import io.vavr.collection.HashMap;
5 | import org.springframework.boot.SpringApplication;
6 | import org.springframework.boot.autoconfigure.SpringBootApplication;
7 | import org.springframework.context.annotation.Bean;
8 |
9 | import java.util.Map;
10 | import java.util.function.Function;
11 |
12 | @SpringBootApplication
13 | public class App {
14 |
15 | @Bean
16 | Function