├── .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 |
23 | 24 | 25 | Don't fork me! 28 | 29 |
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 |
9 | 10 | 11 |
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 |
9 | 10 | 11 |
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, Map> routes() { 17 | return map -> HashMap.ofAll(map) 18 | .map((s, s2) -> Tuple.of(s, s2.toUpperCase())) 19 | .toJavaMap(); 20 | } 21 | 22 | public static void main(String[] args) { 23 | SpringApplication.run(App.class, args); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /generators/app/templates/java-spring-cloud-function-web/src/main/java/lombok.config: -------------------------------------------------------------------------------- 1 | lombok.var.flagUsage = ALLOW 2 | -------------------------------------------------------------------------------- /generators/app/templates/java-spring-cloud-function-web/src/main/resources/application-spring-boot.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | output: 3 | ansi: 4 | enabled: always 5 | -------------------------------------------------------------------------------- /generators/app/templates/java-spring-cloud-function-web/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | profiles: 3 | include: 4 | - spring-boot 5 | -------------------------------------------------------------------------------- /generators/app/templates/java-spring-cloud-function-web/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-cloud-function-web/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-cloud-function-web/src/test/resources/junit-platform.properties: -------------------------------------------------------------------------------- 1 | junit.jupiter.testinstance.lifecycle.default = per_class 2 | -------------------------------------------------------------------------------- /generators/app/templates/java-thorntail/docker-compose-maven.yaml: -------------------------------------------------------------------------------- 1 | version: '2.2' 2 | 3 | services: 4 | 5 | <%= projectDirectory %>: 6 | build: 7 | context: . 8 | dockerfile: .mvn/Dockerfile 9 | ports: ['8080:8080'] 10 | networks: [backing-services] 11 | 12 | networks: 13 | backing-services: 14 | driver: bridge 15 | -------------------------------------------------------------------------------- /generators/app/templates/java-thorntail/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-thorntail/src/main/java/daggerok/events/DomainEvent.java: -------------------------------------------------------------------------------- 1 | package daggerok.events; 2 | 3 | import java.io.Serializable; 4 | import java.util.UUID; 5 | 6 | public interface DomainEvent extends Serializable { 7 | UUID getAggregateId(); 8 | 9 | default String getType() { 10 | return getClass().getSimpleName(); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /generators/app/templates/java-thorntail/src/main/java/daggerok/events/MessageCreated.java: -------------------------------------------------------------------------------- 1 | package daggerok.events; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Getter; 5 | 6 | import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; 7 | import java.time.ZonedDateTime; 8 | import java.util.UUID; 9 | 10 | import static java.time.ZonedDateTime.now; 11 | import static lombok.AccessLevel.PACKAGE; 12 | 13 | @Getter 14 | @AllArgsConstructor(access = PACKAGE) 15 | public class MessageCreated implements DomainEvent { 16 | 17 | @Getter 18 | final UUID aggregateId; 19 | final String message; 20 | 21 | @XmlJavaTypeAdapter(ZonedDateTimeAdapter.class) 22 | //@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss.SSS") 23 | //@JsonSerialize(using = ZonedDateTimeSerializer.class) 24 | //@JsonDeserialize(using = LocalDateTimeDeserializer.class) 25 | ZonedDateTime createdAt; 26 | 27 | public static MessageCreated of(final UUID uuid, final String message) { 28 | return new MessageCreated(uuid, message, now()); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /generators/app/templates/java-thorntail/src/main/java/daggerok/rest/MessageResource.java: -------------------------------------------------------------------------------- 1 | package daggerok.rest; 2 | 3 | import daggerok.events.DomainEvent; 4 | import daggerok.events.MessageCreated; 5 | 6 | import javax.ejb.Stateless; 7 | import javax.ws.rs.GET; 8 | import javax.ws.rs.Path; 9 | import javax.ws.rs.PathParam; 10 | import javax.ws.rs.Produces; 11 | import java.util.UUID; 12 | 13 | import static java.lang.String.format; 14 | import static javax.ws.rs.core.MediaType.APPLICATION_JSON; 15 | 16 | @Stateless 17 | @Path("/api/v1") 18 | @Produces(APPLICATION_JSON) 19 | public class MessageResource { 20 | 21 | @GET 22 | @Path("/hello") 23 | public DomainEvent hello() { 24 | return MessageCreated.of(UUID.randomUUID(), "Hello, Random!"); 25 | } 26 | 27 | @GET 28 | @Path("/hello/{uuid}") 29 | public DomainEvent hello(@PathParam("uuid") final UUID uuid) { 30 | return MessageCreated.of(uuid, format("Hello, %s", uuid)); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /generators/app/templates/java-thorntail/src/main/java/lombok.config: -------------------------------------------------------------------------------- 1 | lombok.var.flagUsage = ALLOW 2 | -------------------------------------------------------------------------------- /generators/app/templates/java-thorntail/src/main/resources/META-INF/beans.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | -------------------------------------------------------------------------------- /generators/app/templates/java-thorntail/src/main/resources/migration/V20181016235845__create_user_table.sql: -------------------------------------------------------------------------------- 1 | DROP TABLE IF EXISTS "user"; 2 | CREATE TABLE "user" ( 3 | id BIGINT AUTO_INCREMENT PRIMARY KEY, 4 | name VARCHAR(255) NOT NULL 5 | ); 6 | -------------------------------------------------------------------------------- /generators/app/templates/java-thorntail/src/main/resources/migration/V20181017000056__insert_into_user.sql: -------------------------------------------------------------------------------- 1 | INSERT INTO "user" (name) VALUES ('maksimko'); 2 | INSERT INTO "user" (name) VALUES ('passwordinko'); 3 | -------------------------------------------------------------------------------- /generators/app/templates/java-thorntail/src/main/webapp/WEB-INF/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/generator-jvm/d17a63d7a91fa1736d77a47faf1016488fe1b073/generators/app/templates/java-thorntail/src/main/webapp/WEB-INF/.gitkeep -------------------------------------------------------------------------------- /generators/app/templates/java-thorntail/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-thorntail/src/test/resources/junit-platform.properties: -------------------------------------------------------------------------------- 1 | junit.jupiter.testinstance.lifecycle.default = per_class 2 | -------------------------------------------------------------------------------- /generators/app/templates/java-vertx/.mvn/start: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # ./mvnw clean deploy 3 | # unzip target/local-repo/com/github/daggerok/java-app/0.0.1/java-app-0.0.1.zip -d target 4 | # bash target/java-app-0.0.1-all/start 5 | APPLICATION=java-app-0.0.1.jar 6 | LIB_DIR_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" 7 | java -Djava.ext.dirs=${LIB_DIR_PATH}/lib -jar ./${APPLICATION} 8 | -------------------------------------------------------------------------------- /generators/app/templates/java-vertx/.mvn/start.cmd: -------------------------------------------------------------------------------- 1 | @echo off 2 | set APPLICATION=java-app-0.0.1.jar 3 | set BIN_SCRIPT_PATH=%~dp0 4 | set LIB_DIR_PATH=%BIN_SCRIPT_PATH:~0,-5%\lib 5 | java -Djava.ext.dirs=%LIB_DIR_PATH% -jar %LIB_DIR_PATH%\%APPLICATION% 6 | -------------------------------------------------------------------------------- /generators/app/templates/java-vertx/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 | restart: unless-stopped 12 | # container limit: 200Mb (200 * 1024 * 1024) 13 | mem_limit: 209715200 14 | networks: 15 | public-network: 16 | aliases: 17 | - app 18 | 19 | volumes: 20 | <%= projectDirectory %>-data: 21 | 22 | networks: 23 | public-network: 24 | driver: bridge 25 | -------------------------------------------------------------------------------- /generators/app/templates/java-vertx/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 | restart: unless-stopped 12 | # container limit: 200Mb (200 * 1024 * 1024) 13 | mem_limit: 209715200 14 | networks: 15 | public-network: 16 | aliases: 17 | - app 18 | 19 | volumes: 20 | <%= projectDirectory %>-data: 21 | 22 | networks: 23 | public-network: 24 | driver: bridge 25 | -------------------------------------------------------------------------------- /generators/app/templates/java-vertx/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 | //implementation "org.webjars:materializecss:$materializecssVersion" 15 | //implementation "org.webjars:material-design-icons:$materialDesignIconsVersion" 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-vertx/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', 'installDist', 'distZip', 'publish' 7 | 8 | dependencies { 9 | implementation "io.vertx:vertx-core:$vertxVersion" 10 | } 11 | -------------------------------------------------------------------------------- /generators/app/templates/java-vertx/src/main/java/lombok.config: -------------------------------------------------------------------------------- 1 | lombok.var.flagUsage = ALLOW 2 | -------------------------------------------------------------------------------- /generators/app/templates/java-vertx/src/main/resources/logback.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | %boldWhite(%d{yyyy-MM-dd HH:mm:ss.SSS}) %highlight(%-5level) %magenta(%-10.10thread{10}) [ %cyan(%-25.25logger{25}) ] - %gray(%msg%n) 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /generators/app/templates/java-vertx/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-vertx/src/test/resources/junit-platform.properties: -------------------------------------------------------------------------------- 1 | junit.jupiter.testinstance.lifecycle.default = per_class 2 | -------------------------------------------------------------------------------- /generators/app/templates/java-wildfly-swarm/docker-compose-gradle.yaml: -------------------------------------------------------------------------------- 1 | version: '2.2' 2 | 3 | services: 4 | 5 | <%= projectDirectory %>: 6 | build: 7 | context: . 8 | dockerfile: gradle/Dockerfile 9 | ports: 10 | - '5005:5005' 11 | - '8080:8080' 12 | networks: [backing-services] 13 | 14 | networks: 15 | backing-services: 16 | driver: bridge 17 | -------------------------------------------------------------------------------- /generators/app/templates/java-wildfly-swarm/docker-compose-maven.yaml: -------------------------------------------------------------------------------- 1 | version: '2.2' 2 | 3 | services: 4 | 5 | <%= projectDirectory %>: 6 | build: 7 | context: . 8 | dockerfile: .mvn/Dockerfile 9 | ports: ['8080:8080'] 10 | networks: [backing-services] 11 | 12 | networks: 13 | backing-services: 14 | driver: bridge 15 | -------------------------------------------------------------------------------- /generators/app/templates/java-wildfly-swarm/gradle/repositories-config.gradle: -------------------------------------------------------------------------------- 1 | repositories { 2 | maven { url 'https://repository.jboss.org/nexus/content/groups/public-jboss/' } 3 | //mavenLocal() // for some reasons code source not attaching with this mavenLocal repository enabled in idea... 4 | mavenCentral() 5 | jcenter() 6 | //maven { url 'https://repo.spring.io/libs-milestone' } 7 | } 8 | -------------------------------------------------------------------------------- /generators/app/templates/java-wildfly-swarm/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-wildfly-swarm/src/main/java/daggerok/events/DomainEvent.java: -------------------------------------------------------------------------------- 1 | package daggerok.events; 2 | 3 | import java.io.Serializable; 4 | import java.util.UUID; 5 | 6 | public interface DomainEvent extends Serializable { 7 | UUID getAggregateId(); 8 | 9 | default String getType() { 10 | return getClass().getSimpleName(); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /generators/app/templates/java-wildfly-swarm/src/main/java/daggerok/events/MessageCreated.java: -------------------------------------------------------------------------------- 1 | package daggerok.events; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Getter; 5 | 6 | import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; 7 | import java.time.ZonedDateTime; 8 | import java.util.UUID; 9 | 10 | import static java.time.ZonedDateTime.now; 11 | import static lombok.AccessLevel.PACKAGE; 12 | 13 | @Getter 14 | @AllArgsConstructor(access = PACKAGE) 15 | public class MessageCreated implements DomainEvent { 16 | 17 | @Getter 18 | final UUID aggregateId; 19 | final String message; 20 | 21 | @XmlJavaTypeAdapter(ZonedDateTimeAdapter.class) 22 | //@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss.SSS") 23 | //@JsonSerialize(using = ZonedDateTimeSerializer.class) 24 | //@JsonDeserialize(using = LocalDateTimeDeserializer.class) 25 | ZonedDateTime createdAt; 26 | 27 | public static MessageCreated of(final UUID uuid, final String message) { 28 | return new MessageCreated(uuid, message, now()); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /generators/app/templates/java-wildfly-swarm/src/main/java/daggerok/rest/MessageResource.java: -------------------------------------------------------------------------------- 1 | package daggerok.rest; 2 | 3 | import daggerok.events.DomainEvent; 4 | import daggerok.events.MessageCreated; 5 | 6 | import javax.ejb.Stateless; 7 | import javax.ws.rs.GET; 8 | import javax.ws.rs.Path; 9 | import javax.ws.rs.PathParam; 10 | import javax.ws.rs.Produces; 11 | import java.util.UUID; 12 | 13 | import static java.lang.String.format; 14 | import static javax.ws.rs.core.MediaType.APPLICATION_JSON; 15 | 16 | @Stateless 17 | @Path("/api/v1") 18 | @Produces(APPLICATION_JSON) 19 | public class MessageResource { 20 | 21 | @GET 22 | @Path("/hello") 23 | public DomainEvent hello() { 24 | return MessageCreated.of(UUID.randomUUID(), "Hello, Random!"); 25 | } 26 | 27 | @GET 28 | @Path("/hello/{uuid}") 29 | public DomainEvent hello(@PathParam("uuid") final UUID uuid) { 30 | return MessageCreated.of(uuid, format("Hello, %s", uuid)); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /generators/app/templates/java-wildfly-swarm/src/main/java/lombok.config: -------------------------------------------------------------------------------- 1 | lombok.var.flagUsage = ALLOW 2 | -------------------------------------------------------------------------------- /generators/app/templates/java-wildfly-swarm/src/main/resources/META-INF/beans.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | -------------------------------------------------------------------------------- /generators/app/templates/java-wildfly-swarm/src/main/resources/migration/V20181016235845__create_user_table.sql: -------------------------------------------------------------------------------- 1 | DROP TABLE IF EXISTS "user"; 2 | CREATE TABLE "user" ( 3 | id BIGINT AUTO_INCREMENT PRIMARY KEY, 4 | name VARCHAR(255) NOT NULL 5 | ); 6 | -------------------------------------------------------------------------------- /generators/app/templates/java-wildfly-swarm/src/main/resources/migration/V20181017000056__insert_into_user.sql: -------------------------------------------------------------------------------- 1 | INSERT INTO "user" (name) VALUES ('maksimko'); 2 | INSERT INTO "user" (name) VALUES ('passwordinko'); 3 | -------------------------------------------------------------------------------- /generators/app/templates/java-wildfly-swarm/src/main/webapp/WEB-INF/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/generator-jvm/d17a63d7a91fa1736d77a47faf1016488fe1b073/generators/app/templates/java-wildfly-swarm/src/main/webapp/WEB-INF/.gitkeep -------------------------------------------------------------------------------- /generators/app/templates/java-wildfly-swarm/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-wildfly-swarm/src/test/resources/junit-platform.properties: -------------------------------------------------------------------------------- 1 | junit.jupiter.testinstance.lifecycle.default = per_class 2 | -------------------------------------------------------------------------------- /generators/app/templates/java/.mvn/start: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # ./mvnw clean deploy 3 | # unzip target/local-repo/com/github/daggerok/java-app/0.0.1/java-app-0.0.1.zip -d target 4 | # bash target/java-app-0.0.1-all/start 5 | APPLICATION=java-app-0.0.1.jar 6 | LIB_DIR_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" 7 | java -Djava.ext.dirs=${LIB_DIR_PATH}/lib -jar ./${APPLICATION} 8 | -------------------------------------------------------------------------------- /generators/app/templates/java/.mvn/start.cmd: -------------------------------------------------------------------------------- 1 | @echo off 2 | set APPLICATION=java-app-0.0.1.jar 3 | set BIN_SCRIPT_PATH=%~dp0 4 | set LIB_DIR_PATH=%BIN_SCRIPT_PATH:~0,-5%\lib 5 | java -Djava.ext.dirs=%LIB_DIR_PATH% -jar %LIB_DIR_PATH%\%APPLICATION% 6 | -------------------------------------------------------------------------------- /generators/app/templates/java/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/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/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/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', 'installDist', 'distZip' 7 | -------------------------------------------------------------------------------- /generators/app/templates/java/src/main/java/daggerok/App.java: -------------------------------------------------------------------------------- 1 | package daggerok; 2 | 3 | import lombok.extern.slf4j.Slf4j; 4 | 5 | @Slf4j 6 | public class App { 7 | public static void main(String[] args) { 8 | log.info("yo!"); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /generators/app/templates/java/src/main/java/lombok.config: -------------------------------------------------------------------------------- 1 | lombok.var.flagUsage = ALLOW 2 | -------------------------------------------------------------------------------- /generators/app/templates/java/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/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/src/test/resources/junit-platform.properties: -------------------------------------------------------------------------------- 1 | junit.jupiter.testinstance.lifecycle.default = per_class 2 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-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/kotlin-ee/docker-compose-gradle.yaml: -------------------------------------------------------------------------------- 1 | version: "2.1" 2 | 3 | services: 4 | 5 | <%= projectDirectory %>: 6 | #mem_limit: 786432000 # container limit: 700Mb (700 * 1024 * 1024) 7 | build: 8 | context: . 9 | dockerfile: gradle/Dockerfile 10 | volumes: ["<%= projectDirectory %>-data:/home"] 11 | ports: 12 | - "5005:5005" 13 | - "8080:8080" 14 | - "9990:9990" 15 | networks: 16 | public-net: 17 | aliases: 18 | - app 19 | 20 | volumes: 21 | <%= projectDirectory %>-data: 22 | 23 | networks: 24 | public-net: 25 | driver: bridge 26 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-ee/docker-compose-maven.yaml: -------------------------------------------------------------------------------- 1 | version: "2.1" 2 | 3 | services: 4 | 5 | <%= projectDirectory %>: 6 | #mem_limit: 786432000 # container limit: 700Mb (700 * 1024 * 1024) 7 | build: 8 | context: . 9 | dockerfile: .mvn/Dockerfile 10 | volumes: ["<%= projectDirectory %>-data:/home"] 11 | ports: 12 | - "5005:5005" 13 | - "8080:8080" 14 | - "9990:9990" 15 | networks: 16 | public-net: 17 | aliases: 18 | - app 19 | 20 | volumes: 21 | <%= projectDirectory %>-data: 22 | 23 | networks: 24 | public-net: 25 | driver: bridge 26 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-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/kotlin-ee/src/main/java/lombok.config: -------------------------------------------------------------------------------- 1 | lombok.var.flagUsage = ALLOW 2 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-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/kotlin-ee/src/main/webapp/WEB-INF/beans.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 14 | 15 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-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/kotlin-ee/src/test/resources/junit-platform.properties: -------------------------------------------------------------------------------- 1 | junit.jupiter.testinstance.lifecycle.default = per_class 2 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-parent-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/kotlin-parent-multi-project/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 | networks: [backing-services] 11 | ports: ["8080:8080"] 12 | #restart: unless-stopped 13 | #mem_limit: 838860800 # 800Mb 14 | 15 | volumes: 16 | <%= projectDirectory %>-data: {} 17 | 18 | networks: 19 | backing-services: 20 | driver: bridge 21 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-parent-multi-project/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 | networks: [backing-services] 11 | ports: ["8080:8080"] 12 | #restart: unless-stopped 13 | #mem_limit: 838860800 # 800Mb 14 | 15 | volumes: 16 | <%= projectDirectory %>-data: {} 17 | 18 | networks: 19 | backing-services: 20 | driver: bridge 21 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-parent-multi-project/gradle/base.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 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-parent-multi-project/gradle/java.gradle: -------------------------------------------------------------------------------- 1 | subprojects { 2 | 3 | apply plugin: 'java' 4 | sourceCompatibility = targetCompatibility = "$javaVersion" 5 | 6 | apply plugin: 'io.franzbecker.gradle-lombok' 7 | lombok.version = project.lombokVersion 8 | 9 | apply plugin: 'io.spring.dependency-management' 10 | 11 | /* 12 | dependencyManagement { 13 | imports { 14 | mavenBom "org.springframework.boot:spring-boot-dependencies:$springBootVersion" 15 | mavenBom "org.springframework.cloud:spring-cloud-dependencies:$springCloudVersion" 16 | } 17 | } 18 | */ 19 | 20 | compileJava.dependsOn(processResources) 21 | 22 | dependencies { 23 | compile "io.vavr:vavr:$vavrVersion" 24 | compile "org.slf4j:slf4j-api:$slf4jVersion" 25 | compile "ch.qos.logback:logback-classic:$logbackVersion" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-parent-multi-project/gradle/main.gradle: -------------------------------------------------------------------------------- 1 | /* //executable sub-project build.gradle: 2 | apply plugin: 'application' 3 | apply plugin: 'com.github.johnrengelman.shadow' 4 | 5 | mainClassName = 'daggerok.AppKt' 6 | shadowJar.mustRunAfter jar 7 | */ 8 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-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/kotlin-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/kotlin-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/kotlin-spring-boot-1.x/src/main/java/lombok.config: -------------------------------------------------------------------------------- 1 | lombok.var.flagUsage = ALLOW 2 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-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/kotlin-spring-boot-1.x/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.profiles.include[0]=spring-boot 2 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-spring-boot-1.x/src/main/resources/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/generator-jvm/d17a63d7a91fa1736d77a47faf1016488fe1b073/generators/app/templates/kotlin-spring-boot-1.x/src/main/resources/public/favicon.ico -------------------------------------------------------------------------------- /generators/app/templates/kotlin-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/kotlin-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/kotlin-spring-boot-1.x/src/test/resources/junit-platform.properties: -------------------------------------------------------------------------------- 1 | junit.jupiter.testinstance.lifecycle.default = per_class 2 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-spring-boot-2.0.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/kotlin-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/kotlin-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/kotlin-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/kotlin-spring-boot-2.0.x/src/main/java/lombok.config: -------------------------------------------------------------------------------- 1 | lombok.var.flagUsage = ALLOW 2 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-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/kotlin-spring-boot-2.0.x/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | profiles: 3 | include: 4 | - spring-boot 5 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-spring-boot-2.0.x/src/main/resources/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/generator-jvm/d17a63d7a91fa1736d77a47faf1016488fe1b073/generators/app/templates/kotlin-spring-boot-2.0.x/src/main/resources/public/favicon.ico -------------------------------------------------------------------------------- /generators/app/templates/kotlin-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/kotlin-spring-boot-2.0.x/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/kotlin-spring-boot-2.0.x/src/test/kotlin/AppTests.kt: -------------------------------------------------------------------------------- 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 | class AppTests { 11 | 12 | @Test 13 | fun contextLoads() {} 14 | } 15 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-spring-boot-2.0.x/src/test/kotlin/daggerok/junit4/AppTests.kt: -------------------------------------------------------------------------------- 1 | package daggerok.junit4 2 | 3 | import daggerok.App 4 | import org.junit.Test 5 | import org.springframework.boot.test.context.SpringBootTest 6 | import org.junit.runner.RunWith 7 | import org.springframework.test.context.junit4.SpringRunner 8 | 9 | @RunWith( 10 | SpringRunner::class 11 | ) 12 | @SpringBootTest( 13 | classes = [App::class], 14 | webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) 15 | class AppTests { 16 | 17 | @Test 18 | fun contextLoads() {} 19 | } 20 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-spring-boot-2.0.x/src/test/kotlin/daggerok/junit5/AppTests.kt: -------------------------------------------------------------------------------- 1 | package daggerok.junit5 2 | 3 | import daggerok.App 4 | import org.junit.jupiter.api.Test 5 | import org.junit.jupiter.api.extension.ExtendWith 6 | import org.springframework.boot.test.context.SpringBootTest 7 | import org.springframework.test.context.junit.jupiter.SpringExtension 8 | 9 | @ExtendWith( 10 | SpringExtension::class 11 | ) 12 | @SpringBootTest( 13 | classes = [App::class], 14 | webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) 15 | class AppTests { 16 | 17 | @Test 18 | fun contextLoads() {} 19 | } 20 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-spring-boot-2.0.x/src/test/resources/junit-platform.properties: -------------------------------------------------------------------------------- 1 | junit.jupiter.testinstance.lifecycle.default = per_class 2 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-spring-boot/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/kotlin-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/kotlin-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/kotlin-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/kotlin-spring-boot/src/main/java/lombok.config: -------------------------------------------------------------------------------- 1 | lombok.var.flagUsage = ALLOW 2 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-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/kotlin-spring-boot/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | profiles: 3 | include: 4 | - spring-boot 5 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-spring-boot/src/main/resources/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/generator-jvm/d17a63d7a91fa1736d77a47faf1016488fe1b073/generators/app/templates/kotlin-spring-boot/src/main/resources/public/favicon.ico -------------------------------------------------------------------------------- /generators/app/templates/kotlin-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/kotlin-spring-boot/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/kotlin-spring-boot/src/test/kotlin/AppTests.kt: -------------------------------------------------------------------------------- 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 | class AppTests { 11 | 12 | @Test 13 | fun contextLoads() {} 14 | } 15 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-spring-boot/src/test/kotlin/daggerok/junit4/AppTests.kt: -------------------------------------------------------------------------------- 1 | package daggerok.junit4 2 | 3 | import daggerok.App 4 | import org.junit.Test 5 | import org.springframework.boot.test.context.SpringBootTest 6 | import org.junit.runner.RunWith 7 | import org.springframework.test.context.junit4.SpringRunner 8 | 9 | @RunWith( 10 | SpringRunner::class 11 | ) 12 | @SpringBootTest( 13 | classes = [App::class], 14 | webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) 15 | class AppTests { 16 | 17 | @Test 18 | fun contextLoads() {} 19 | } 20 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-spring-boot/src/test/kotlin/daggerok/junit5/AppTests.kt: -------------------------------------------------------------------------------- 1 | package daggerok.junit5 2 | 3 | import daggerok.App 4 | import org.junit.jupiter.api.Test 5 | import org.junit.jupiter.api.extension.ExtendWith 6 | import org.springframework.boot.test.context.SpringBootTest 7 | import org.springframework.test.context.junit.jupiter.SpringExtension 8 | 9 | @ExtendWith( 10 | SpringExtension::class 11 | ) 12 | @SpringBootTest( 13 | classes = [App::class], 14 | webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) 15 | class AppTests { 16 | 17 | @Test 18 | fun contextLoads() {} 19 | } 20 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-spring-boot/src/test/resources/junit-platform.properties: -------------------------------------------------------------------------------- 1 | junit.jupiter.testinstance.lifecycle.default = per_class 2 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-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/kotlin-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/kotlin-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/kotlin-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 | 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/kotlin-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/kotlin-spring-cloud-function-web/src/main/java/daggerok/App.kt: -------------------------------------------------------------------------------- 1 | package daggerok 2 | 3 | import org.springframework.boot.autoconfigure.SpringBootApplication 4 | import org.springframework.boot.runApplication 5 | import org.springframework.context.annotation.Bean 6 | import java.util.function.Function 7 | 8 | @SpringBootApplication 9 | class App { 10 | 11 | @Bean 12 | fun up(): Function, Map> = 13 | Function { map -> map.mapValues { it.value.toUpperCase() } } 14 | } 15 | 16 | fun main(args: Array) { 17 | runApplication(*args) 18 | } 19 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-spring-cloud-function-web/src/main/java/lombok.config: -------------------------------------------------------------------------------- 1 | lombok.var.flagUsage = ALLOW 2 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-spring-cloud-function-web/src/main/kotlin/daggerok/function/MyClassFunction.kt: -------------------------------------------------------------------------------- 1 | package daggerok.function 2 | /* 3 | import org.springframework.context.annotation.Bean 4 | import org.springframework.context.annotation.Configuration 5 | import java.util.function.Function 6 | 7 | data class MyClass(val value: String = "") 8 | 9 | @Configuration 10 | class MyClassFunction { 11 | 12 | @Bean 13 | fun upMyClass(): Function = 14 | Function { myClass -> MyClass(myClass.value.toUpperCase()) } 15 | } 16 | */ 17 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-spring-cloud-function-web/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | profiles: 3 | include: 4 | - spring-boot 5 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-spring-cloud-function-web/src/main/resources/config/application-spring-boot.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | output: 3 | ansi: 4 | enabled: always 5 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-spring-cloud-function-web/src/test/kotlin/daggerok/junit4/AppTests.kt: -------------------------------------------------------------------------------- 1 | package daggerok.junit4 2 | 3 | import daggerok.App 4 | import org.junit.Test 5 | import org.springframework.boot.test.context.SpringBootTest 6 | import org.junit.runner.RunWith 7 | import org.springframework.test.context.junit4.SpringRunner 8 | 9 | @RunWith( 10 | SpringRunner::class 11 | ) 12 | @SpringBootTest( 13 | classes = [App::class], 14 | webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) 15 | class AppTests { 16 | 17 | @Test 18 | fun contextLoads() {} 19 | } 20 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-spring-cloud-function-web/src/test/kotlin/daggerok/junit5/AppTests.kt: -------------------------------------------------------------------------------- 1 | package daggerok 2 | 3 | import org.junit.jupiter.api.Test 4 | import org.junit.jupiter.api.extension.ExtendWith 5 | import org.springframework.boot.test.context.SpringBootTest 6 | import org.springframework.test.context.junit.jupiter.SpringExtension 7 | 8 | @ExtendWith( 9 | SpringExtension::class 10 | ) 11 | @SpringBootTest( 12 | classes = [App::class], 13 | webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) 14 | class AppTests { 15 | 16 | @Test 17 | fun contextLoads() {} 18 | } 19 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-spring-cloud-function-web/src/test/resources/junit-platform.properties: -------------------------------------------------------------------------------- 1 | junit.jupiter.testinstance.lifecycle.default = per_class 2 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-thorntail/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/kotlin-thorntail/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/kotlin-thorntail/src/main/java/daggerok/app/AppResource.java: -------------------------------------------------------------------------------- 1 | package daggerok.app; 2 | 3 | import lombok.extern.slf4j.Slf4j; 4 | 5 | import javax.ejb.Stateless; 6 | import javax.inject.Inject; 7 | import javax.ws.rs.GET; 8 | import javax.ws.rs.Path; 9 | import javax.ws.rs.Produces; 10 | import javax.ws.rs.core.Context; 11 | import javax.ws.rs.core.Response; 12 | import javax.ws.rs.core.UriInfo; 13 | 14 | import static javax.ws.rs.core.MediaType.APPLICATION_JSON; 15 | 16 | @Slf4j 17 | @Path("") 18 | @Stateless 19 | @Produces(APPLICATION_JSON) 20 | public class AppResource { 21 | 22 | @Inject JsonService jsonService; 23 | 24 | @GET 25 | @Path("") 26 | public Response index(@Context final UriInfo uriInfo) { 27 | 28 | log.info("O.o"); 29 | 30 | return Response.ok(jsonService.jsongify(uriInfo, 31 | AppResource.class, "index") 32 | .build()) 33 | .build(); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-thorntail/src/main/java/daggerok/app/JsonService.kt: -------------------------------------------------------------------------------- 1 | package daggerok.app 2 | 3 | import javax.enterprise.context.ApplicationScoped 4 | import javax.json.Json 5 | import javax.ws.rs.core.UriInfo 6 | 7 | fun UriInfo.to(resourceClass: Class<*>, method: String) = 8 | this.baseUriBuilder 9 | .path(resourceClass) 10 | .path(resourceClass, method) 11 | .build() 12 | .toString() 13 | 14 | @ApplicationScoped 15 | class JsonService { 16 | 17 | fun jsongify(uriInfo: UriInfo, javaClass: Class<*>, methodName: String) = 18 | Json.createObjectBuilder() 19 | .add("_self", uriInfo.to(javaClass, methodName)) 20 | } 21 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-thorntail/src/main/java/lombok.config: -------------------------------------------------------------------------------- 1 | lombok.var.flagUsage = ALLOW 2 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-thorntail/src/main/resources/META-INF/beans.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 14 | 15 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-thorntail/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/kotlin-thorntail/src/main/webapp/WEB-INF/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/generator-jvm/d17a63d7a91fa1736d77a47faf1016488fe1b073/generators/app/templates/kotlin-thorntail/src/main/webapp/WEB-INF/.gitkeep -------------------------------------------------------------------------------- /generators/app/templates/kotlin-thorntail/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/kotlin-thorntail/src/test/resources/junit-platform.properties: -------------------------------------------------------------------------------- 1 | junit.jupiter.testinstance.lifecycle.default = per_class 2 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-vertx/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 | restart: unless-stopped 12 | # container limit: 200Mb (200 * 1024 * 1024) 13 | mem_limit: 209715200 14 | networks: 15 | public-network: 16 | aliases: 17 | - app 18 | 19 | volumes: 20 | <%= projectDirectory %>-data: {} 21 | 22 | networks: 23 | public-network: 24 | driver: bridge 25 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-vertx/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: ['8080:8080'] 9 | restart: unless-stopped 10 | # container limit: 200Mb (200 * 1024 * 1024) 11 | mem_limit: 209715200 12 | networks: 13 | public-network: 14 | aliases: 15 | - app 16 | volumes: 17 | <%= projectDirectory %>-data: {} 18 | networks: 19 | public-network: 20 | driver: bridge 21 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-vertx/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 | //implementation "org.webjars:materializecss:$materializecssVersion" 15 | //implementation "org.webjars:material-design-icons:$materialDesignIconsVersion" 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/kotlin-vertx/gradle/main.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'application' 2 | apply plugin: 'com.github.johnrengelman.shadow' 3 | 4 | mainClassName = 'daggerok.AppKt' 5 | shadowJar.mustRunAfter jar 6 | defaultTasks 'clean', 'build', 'installDist', 'distZip', 'publish' 7 | 8 | dependencies { 9 | implementation "io.vertx:vertx-web:$vertxVersion" 10 | } 11 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-vertx/src/main/resources/logback.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | %boldWhite(%d{yyyy-MM-dd HH:mm:ss.SSS}) %highlight(%-5level) %magenta(%-10.10thread{10}) [ %cyan(%-25.25logger{25}) ] - %gray(%msg%n) 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-vertx/src/test/resources/junit-platform.properties: -------------------------------------------------------------------------------- 1 | junit.jupiter.testinstance.lifecycle.default = per_class 2 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-wildfly-swarm/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/kotlin-wildfly-swarm/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: ['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/kotlin-wildfly-swarm/gradle/repositories-config.gradle: -------------------------------------------------------------------------------- 1 | repositories { 2 | maven { url 'https://repository.jboss.org/nexus/content/groups/public-jboss/' } 3 | //mavenLocal() // for some reasons code source not attaching with this mavenLocal repository enabled in idea... 4 | mavenCentral() 5 | jcenter() 6 | //maven { url 'https://repo.spring.io/libs-milestone' } 7 | } 8 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-wildfly-swarm/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/kotlin-wildfly-swarm/src/main/java/daggerok/app/AppResource.java: -------------------------------------------------------------------------------- 1 | package daggerok.app; 2 | 3 | import lombok.extern.slf4j.Slf4j; 4 | 5 | import javax.ejb.Stateless; 6 | import javax.inject.Inject; 7 | import javax.ws.rs.GET; 8 | import javax.ws.rs.Path; 9 | import javax.ws.rs.Produces; 10 | import javax.ws.rs.core.Context; 11 | import javax.ws.rs.core.Response; 12 | import javax.ws.rs.core.UriInfo; 13 | 14 | import static javax.ws.rs.core.MediaType.APPLICATION_JSON; 15 | 16 | @Slf4j 17 | @Path("") 18 | @Stateless 19 | @Produces(APPLICATION_JSON) 20 | public class AppResource { 21 | 22 | @Inject JsonService jsonService; 23 | 24 | @GET 25 | @Path("") 26 | public Response index(@Context final UriInfo uriInfo) { 27 | 28 | log.info("O.o"); 29 | 30 | return Response.ok(jsonService.jsongify(uriInfo, 31 | AppResource.class, "index") 32 | .build()) 33 | .build(); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-wildfly-swarm/src/main/java/daggerok/app/JsonService.kt: -------------------------------------------------------------------------------- 1 | package daggerok.app 2 | 3 | import javax.enterprise.context.ApplicationScoped 4 | import javax.json.Json 5 | import javax.ws.rs.core.UriInfo 6 | 7 | fun UriInfo.to(resourceClass: Class<*>, method: String) = 8 | this.baseUriBuilder 9 | .path(resourceClass) 10 | .path(resourceClass, method) 11 | .build() 12 | .toString() 13 | 14 | @ApplicationScoped 15 | class JsonService { 16 | 17 | fun jsongify(uriInfo: UriInfo, javaClass: Class<*>, methodName: String) = 18 | Json.createObjectBuilder() 19 | .add("_self", uriInfo.to(javaClass, methodName)) 20 | } 21 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-wildfly-swarm/src/main/java/lombok.config: -------------------------------------------------------------------------------- 1 | lombok.var.flagUsage = ALLOW 2 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-wildfly-swarm/src/main/resources/META-INF/beans.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 14 | 15 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin-wildfly-swarm/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/kotlin-wildfly-swarm/src/main/webapp/WEB-INF/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/generator-jvm/d17a63d7a91fa1736d77a47faf1016488fe1b073/generators/app/templates/kotlin-wildfly-swarm/src/main/webapp/WEB-INF/.gitkeep -------------------------------------------------------------------------------- /generators/app/templates/kotlin-wildfly-swarm/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/kotlin-wildfly-swarm/src/test/resources/junit-platform.properties: -------------------------------------------------------------------------------- 1 | junit.jupiter.testinstance.lifecycle.default = per_class 2 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin/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 | networks: [backing-services] 11 | #ports: ["8080:8080"] 12 | #restart: unless-stopped 13 | #mem_limit: 209715200 # container limit: 200Mb (200 * 1024 * 1024) 14 | 15 | volumes: 16 | <%= projectDirectory %>-data: {} 17 | 18 | networks: 19 | backing-services: 20 | driver: bridge 21 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin/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 | networks: [backing-services] 11 | #ports: ["8080:8080"] 12 | #restart: unless-stopped 13 | #mem_limit: 209715200 # container limit: 200Mb (200 * 1024 * 1024) 14 | 15 | volumes: 16 | <%= projectDirectory %>-data: {} 17 | 18 | networks: 19 | backing-services: 20 | driver: bridge 21 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin/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/kotlin/gradle/main.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'application' 2 | apply plugin: 'com.github.johnrengelman.shadow' 3 | 4 | mainClassName = 'daggerok.AppKt' 5 | shadowJar.mustRunAfter jar 6 | defaultTasks 'clean', 'build', 'installDist', 'distZip', 'publish' 7 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin/src/main/kotlin/daggerok/App.kt: -------------------------------------------------------------------------------- 1 | package daggerok 2 | 3 | /* 4 | class AppKt { 5 | companion object { 6 | @JvmStatic 7 | fun main(args: Array) { 8 | println("${args.toList()}") 9 | } 10 | } 11 | } 12 | */ 13 | 14 | fun main(args: Array) { 15 | println("${args.toList()}") 16 | } 17 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin/src/main/resources/logback.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | %boldWhite(%d{yyyy-MM-dd HH:mm:ss.SSS}) %highlight(%-5level) %magenta(%-10.10thread{10}) [ %cyan(%-25.25logger{25}) ] - %gray(%msg%n) 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /generators/app/templates/kotlin/src/test/resources/junit-platform.properties: -------------------------------------------------------------------------------- 1 | junit.jupiter.testinstance.lifecycle.default = per_class 2 | -------------------------------------------------------------------------------- /generators/app/templates/scala-2.11/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/scala-2.11/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/scala-2.11/gradle/main.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'base' 2 | defaultTasks 'clean', 'build' 3 | 4 | apply plugin: 'application' 5 | apply plugin: 'com.github.johnrengelman.shadow' 6 | mainClassName = 'daggerok.App' 7 | shadowJar.mustRunAfter jar 8 | 9 | apply plugin: 'io.franzbecker.gradle-lombok' 10 | lombok.version = project.lombokVersion 11 | -------------------------------------------------------------------------------- /generators/app/templates/scala-2.11/src/main/java/lombok.config: -------------------------------------------------------------------------------- 1 | lombok.var.flagUsage = ALLOW 2 | -------------------------------------------------------------------------------- /generators/app/templates/scala-2.11/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/scala-2.11/src/main/scala/daggerok/App.scala: -------------------------------------------------------------------------------- 1 | package daggerok 2 | 3 | object App { 4 | 5 | def main(args: Array[String]) { 6 | println("Hello World!") 7 | println("fold arguments = " + foleArgs(args)) 8 | } 9 | 10 | def foleArgs(x: Array[String]) = x.foldLeft("")((a, b) => a + b) 11 | } 12 | -------------------------------------------------------------------------------- /generators/app/templates/scala-2.11/src/test/scala/daggerok/junit.scala: -------------------------------------------------------------------------------- 1 | package daggerok 2 | 3 | /* 4 | JUnit testing using scala 5 | */ 6 | 7 | import org.junit.Assert._ 8 | import org.junit._ 9 | 10 | @Test 11 | class AppTest { 12 | 13 | @Test 14 | def testOK() = assertTrue(true) 15 | 16 | @Test(expected = classOf[AssertionError]) 17 | def testKO() = assertTrue(false) 18 | } 19 | -------------------------------------------------------------------------------- /generators/app/templates/scala-2.11/src/test/scala/daggerok/specs.scala: -------------------------------------------------------------------------------- 1 | package daggerok 2 | 3 | import org.junit.runner._ 4 | import org.specs2.mutable._ 5 | import org.specs2.runner._ 6 | 7 | /* 8 | Sample specification. 9 | 10 | This specification can be executed with: scala -cp ${package}.SpecsTest 11 | Or using maven: mvn test 12 | 13 | For more information on how to write or run specifications, please visit: 14 | http://etorreborre.github.com/specs2/guide/org.specs2.guide.Runners.html 15 | */ 16 | 17 | @RunWith(classOf[JUnitRunner]) 18 | class MySpecTest extends Specification { 19 | "The 'Hello world' string" should { 20 | "contain 11 characters" in { 21 | "Hello world" must have size(11) 22 | } 23 | "start with 'Hello'" in { 24 | "Hello world" must startWith("Hello") 25 | } 26 | "end with 'world'" in { 27 | "Hello world" must endWith("world") 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /generators/app/templates/scala-gradle-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/scala-gradle-akka-actor/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 installDist 29 | -------------------------------------------------------------------------------- /generators/app/templates/scala-gradle-akka-actor/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', 'installDist', 'distZip', 'publish' 7 | -------------------------------------------------------------------------------- /generators/app/templates/scala-gradle-akka-actor/src/main/java/lombok.config: -------------------------------------------------------------------------------- 1 | lombok.var.flagUsage = ALLOW 2 | -------------------------------------------------------------------------------- /generators/app/templates/scala-gradle-akka-actor/src/main/resources/application.conf: -------------------------------------------------------------------------------- 1 | akka { 2 | loglevel = "DEBUG" 3 | stdout-loglevel = "DEBUG" 4 | log-dead-letters-during-shutdown = true 5 | } 6 | -------------------------------------------------------------------------------- /generators/app/templates/scala-gradle-akka-actor/src/main/resources/logback.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | %boldWhite(%d{yyyy-MM-dd HH:mm:ss.SSS}) %highlight(%-5level) %magenta(%-10.10thread{10}) [ %cyan(%-25.25logger{25}) ] - %gray(%msg%n) 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /generators/app/templates/scala-gradle-akka-actor/src/main/scala/daggerok/App.scala: -------------------------------------------------------------------------------- 1 | package daggerok 2 | 3 | import akka.actor.{Actor, ActorSystem, Props} 4 | 5 | case class MyMessage(body: String) 6 | 7 | class MyActor extends Actor { 8 | override def receive: Receive = { 9 | case MyMessage(body) => println(s"received message: '$body'") 10 | } 11 | } 12 | 13 | object App { 14 | def main(args: Array[String]): Unit = { 15 | val system = ActorSystem("my-actor-system") 16 | val actor = system.actorOf(Props[MyActor], "my-actor") 17 | actor ! MyMessage("Hello, Akka!") 18 | Thread.sleep(1000) 19 | system.terminate() 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /generators/app/templates/scala-gradle-akka-actor/src/test/scala/daggerok/junit.scala: -------------------------------------------------------------------------------- 1 | package daggerok 2 | 3 | /* 4 | JUnit testing using scala 5 | */ 6 | 7 | import org.junit.Assert._ 8 | import org.junit._ 9 | 10 | @Test 11 | class AppTest { 12 | 13 | @Test 14 | def testOK() = assertTrue(true) 15 | 16 | @Test(expected = classOf[AssertionError]) 17 | def testKO() = assertTrue(false) 18 | } 19 | -------------------------------------------------------------------------------- /generators/app/templates/scala-gradle-akka-actor/src/test/scala/daggerok/specs.scala: -------------------------------------------------------------------------------- 1 | package daggerok 2 | 3 | import org.junit.runner._ 4 | import org.specs2.mutable._ 5 | import org.specs2.runner._ 6 | 7 | /* 8 | Sample specification. 9 | 10 | This specification can be executed with: scala -cp ${package}.SpecsTest 11 | Or using maven: mvn test 12 | 13 | For more information on how to write or run specifications, please visit: 14 | http://etorreborre.github.com/specs2/guide/org.specs2.guide.Runners.html 15 | */ 16 | 17 | @RunWith(classOf[JUnitRunner]) 18 | class MySpecTest extends Specification { 19 | "The 'Hello world' string" should { 20 | "contain 11 characters" in { 21 | "Hello world" must have size(11) 22 | } 23 | "start with 'Hello'" in { 24 | "Hello world" must startWith("Hello") 25 | } 26 | "end with 'world'" in { 27 | "Hello world" must endWith("world") 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /generators/app/templates/scala-gradle-akka-persistence/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/scala-gradle-akka-persistence/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 installDist 29 | -------------------------------------------------------------------------------- /generators/app/templates/scala-gradle-akka-persistence/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', 'installDist', 'distZip', 'publish' 7 | -------------------------------------------------------------------------------- /generators/app/templates/scala-gradle-akka-persistence/src/main/java/lombok.config: -------------------------------------------------------------------------------- 1 | lombok.var.flagUsage = ALLOW 2 | -------------------------------------------------------------------------------- /generators/app/templates/scala-gradle-akka-persistence/src/main/resources/logback.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | %boldWhite(%d{yyyy-MM-dd HH:mm:ss.SSS}) %highlight(%-5level) %magenta(%-10.10thread{10}) [ %cyan(%-25.25logger{25}) ] - %gray(%msg%n) 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /generators/app/templates/scala-gradle-akka-persistence/src/test/scala/daggerok/junit.scala: -------------------------------------------------------------------------------- 1 | package daggerok 2 | 3 | /* 4 | JUnit testing using scala 5 | */ 6 | 7 | import org.junit.Assert._ 8 | import org.junit._ 9 | 10 | @Test 11 | class AppTest { 12 | 13 | @Test 14 | def testOK() = assertTrue(true) 15 | 16 | @Test(expected = classOf[AssertionError]) 17 | def testKO() = assertTrue(false) 18 | } 19 | -------------------------------------------------------------------------------- /generators/app/templates/scala-gradle-akka-persistence/src/test/scala/daggerok/specs.scala: -------------------------------------------------------------------------------- 1 | package daggerok 2 | 3 | import org.junit.runner._ 4 | import org.specs2.mutable._ 5 | import org.specs2.runner._ 6 | 7 | /* 8 | Sample specification. 9 | 10 | This specification can be executed with: scala -cp ${package}.SpecsTest 11 | Or using maven: mvn test 12 | 13 | For more information on how to write or run specifications, please visit: 14 | http://etorreborre.github.com/specs2/guide/org.specs2.guide.Runners.html 15 | */ 16 | 17 | @RunWith(classOf[JUnitRunner]) 18 | class MySpecTest extends Specification { 19 | "The 'Hello world' string" should { 20 | "contain 11 characters" in { 21 | "Hello world" must have size(11) 22 | } 23 | "start with 'Hello'" in { 24 | "Hello world" must startWith("Hello") 25 | } 26 | "end with 'world'" in { 27 | "Hello world" must endWith("world") 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /generators/app/templates/scala-sbt-akka-actor/README.adoc: -------------------------------------------------------------------------------- 1 | = <%= projectDirectory %> image:https://travis-ci.org/daggerok/<%= projectDirectory %>.svg?branch=master["Build Status", link="https://travis-ci.org/daggerok/<%= projectDirectory %>"] 2 | 3 | //tag::content[] 4 | 5 | - scala: 2.12 6 | - akka: 2.5.14 7 | 8 | //Read link:https://daggerok.github.io/<%= projectDirectory %>[project reference documentation] 9 | 10 | .build 11 | [source,bash] 12 | ---- 13 | ./sbtw clean compile test assembly run 14 | target/scala-2.12/<%= projectDirectory %>-assembly-0.0.1.jar 15 | ---- 16 | 17 | //end::content[] 18 | 19 | Initially generated by using link:https://github.com/daggerok/generator-jvm/[generator-jvm] yeoman generator (scala-sbt-akka-actor) 20 | -------------------------------------------------------------------------------- /generators/app/templates/scala-sbt-akka-actor/build.sbt: -------------------------------------------------------------------------------- 1 | name := "<%= projectDirectory %>" 2 | 3 | lazy val akkaVersion = "2.5.14" 4 | lazy val scalacticVersion = "3.0.5" 5 | lazy val scalatestVersion = "3.0.5" 6 | 7 | lazy val commonSettings = Seq( 8 | version := "0.0.1", 9 | organization := "com.github.daggerok", 10 | scalaVersion := "2.12.6", 11 | test in assembly := {} 12 | ) 13 | 14 | lazy val root = (project in file(".")) 15 | .settings(commonSettings: _*) 16 | .settings( 17 | mainClass in assembly := Some("daggerok.Application"), 18 | // more settings here ... 19 | ) 20 | 21 | libraryDependencies ++= Seq( 22 | "com.typesafe.akka" %% "akka-actor" % akkaVersion, 23 | "org.scalactic" %% "scalactic" % scalacticVersion % "test", 24 | "org.scalatest" %% "scalatest" % scalatestVersion % "test", 25 | ) 26 | -------------------------------------------------------------------------------- /generators/app/templates/scala-sbt-akka-actor/docker-compose-sbt.yaml: -------------------------------------------------------------------------------- 1 | version: '2.1' 2 | 3 | services: 4 | 5 | <%= projectDirectory %>: 6 | build: . 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 | 13 | volumes: 14 | <%= projectDirectory %>-data: {} 15 | 16 | networks: 17 | backing-services: 18 | driver: bridge 19 | -------------------------------------------------------------------------------- /generators/app/templates/scala-sbt-akka-actor/project/assembly.sbt: -------------------------------------------------------------------------------- 1 | addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.7") 2 | -------------------------------------------------------------------------------- /generators/app/templates/scala-sbt-akka-actor/project/build.properties: -------------------------------------------------------------------------------- 1 | sbt.version = 1.2.1 2 | -------------------------------------------------------------------------------- /generators/app/templates/scala-sbt-akka-actor/src/main/resources/application.conf: -------------------------------------------------------------------------------- 1 | akka { 2 | loglevel = "DEBUG" 3 | stdout-loglevel = "DEBUG" 4 | log-dead-letters-during-shutdown = true 5 | } 6 | -------------------------------------------------------------------------------- /generators/app/templates/scala-sbt-akka-actor/src/main/resources/logback.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | %boldWhite(%d{yyyy-MM-dd HH:mm:ss.SSS}) %highlight(%-5level) %magenta(%-10.10thread{10}) [ %cyan(%-25.25logger{25}) ] - %gray(%msg%n) 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /generators/app/templates/scala-sbt-akka-actor/src/main/scala/daggerok/Application.scala: -------------------------------------------------------------------------------- 1 | package daggerok 2 | 3 | import akka.actor.{Actor, ActorSystem, Props} 4 | 5 | case class MyMessage(body: String) 6 | 7 | class MyActor extends Actor { 8 | override def receive: Receive = { 9 | case MyMessage(body) => println(s"received message: '$body'") 10 | } 11 | } 12 | 13 | object Application extends App { 14 | val system = ActorSystem("my-actor-system") 15 | val actor = system.actorOf(Props[MyActor], "my-actor") 16 | 17 | actor ! MyMessage("Hello, Akka!") 18 | 19 | Thread.sleep(1000) 20 | system.terminate() 21 | } 22 | -------------------------------------------------------------------------------- /generators/app/templates/scala-sbt-akka-actor/src/test/scala/daggerok/ApplicationTest.scala: -------------------------------------------------------------------------------- 1 | package daggerok 2 | 3 | import collection.mutable.Stack 4 | import org.scalatest._ 5 | 6 | class ApplicationTest extends FlatSpec with Matchers { 7 | "A Stack" should "pop values in last-in-first-out order" in { 8 | val stack = new Stack[Int] 9 | stack.push(1) 10 | stack.push(2) 11 | stack.pop() should be (2) 12 | stack.pop() should be (1) 13 | } 14 | 15 | it should "throw NoSuchElementException if an empty stack is popped" in { 16 | val emptyStack = new Stack[Int] 17 | a [NoSuchElementException] should be thrownBy { 18 | emptyStack.pop() 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /generators/app/templates/scala-sbt/README.adoc: -------------------------------------------------------------------------------- 1 | = <%= projectDirectory %> image:https://travis-ci.org/daggerok/<%= projectDirectory %>.svg?branch=master["Build Status", link="https://travis-ci.org/daggerok/<%= projectDirectory %>"] 2 | 3 | //tag::content[] 4 | 5 | - scala: 2.12 6 | - akka: 2.5.14 7 | 8 | //Read link:https://daggerok.github.io/<%= projectDirectory %>[project reference documentation] 9 | 10 | .build 11 | [source,bash] 12 | ---- 13 | ./sbtw clean compile test assembly run 14 | target/scala-2.12/<%= projectDirectory %>-assembly-0.0.1.jar 15 | ---- 16 | 17 | //end::content[] 18 | 19 | Initially generated by using link:https://github.com/daggerok/generator-jvm/[generator-jvm] yeoman generator (scala-sbt) 20 | -------------------------------------------------------------------------------- /generators/app/templates/scala-sbt/build.sbt: -------------------------------------------------------------------------------- 1 | name := "<%= projectDirectory %>" 2 | 3 | lazy val scalacticVersion = "3.0.5" 4 | lazy val scalatestVersion = "3.0.5" 5 | 6 | lazy val commonSettings = Seq( 7 | version := "0.0.1", 8 | organization := "com.github.daggerok", 9 | scalaVersion := "2.12.6", 10 | test in assembly := {} 11 | ) 12 | 13 | lazy val root = (project in file(".")) 14 | .settings(commonSettings: _*) 15 | .settings( 16 | mainClass in assembly := Some("daggerok.Application"), 17 | // more settings here ... 18 | ) 19 | 20 | libraryDependencies ++= Seq( 21 | "org.scalactic" %% "scalactic" % scalacticVersion % "test", 22 | "org.scalatest" %% "scalatest" % scalatestVersion % "test", 23 | ) 24 | -------------------------------------------------------------------------------- /generators/app/templates/scala-sbt/docker-compose-sbt.yaml: -------------------------------------------------------------------------------- 1 | version: '2.1' 2 | services: 3 | <%= projectDirectory %>: 4 | build: . 5 | volumes: ['<%= projectDirectory %>-data:/home/appuser'] 6 | networks: [backing-services] 7 | #ports: ["8080:8080"] 8 | #restart: unless-stopped 9 | #mem_limit: 209715200 # container limit: 200Mb (200 * 1024 * 1024) 10 | volumes: 11 | <%= projectDirectory %>-data: {} 12 | networks: 13 | backing-services: 14 | driver: bridge 15 | -------------------------------------------------------------------------------- /generators/app/templates/scala-sbt/project/assembly.sbt: -------------------------------------------------------------------------------- 1 | addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.7") 2 | -------------------------------------------------------------------------------- /generators/app/templates/scala-sbt/project/build.properties: -------------------------------------------------------------------------------- 1 | sbt.version = 1.2.1 2 | -------------------------------------------------------------------------------- /generators/app/templates/scala-sbt/src/main/resources/logback.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | %boldWhite(%d{yyyy-MM-dd HH:mm:ss.SSS}) %highlight(%-5level) %magenta(%-10.10thread{10}) [ %cyan(%-25.25logger{25}) ] - %gray(%msg%n) 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /generators/app/templates/scala-sbt/src/main/scala/daggerok/Application.scala: -------------------------------------------------------------------------------- 1 | package daggerok 2 | 3 | object Application extends App { 4 | println("Hello, Scala!") 5 | } 6 | -------------------------------------------------------------------------------- /generators/app/templates/scala-sbt/src/test/scala/daggerok/ApplicationTest.scala: -------------------------------------------------------------------------------- 1 | package daggerok 2 | 3 | import collection.mutable.Stack 4 | import org.scalatest._ 5 | 6 | class ApplicationTest extends FlatSpec with Matchers { 7 | "A Stack" should "pop values in last-in-first-out order" in { 8 | val stack = new Stack[Int] 9 | stack.push(1) 10 | stack.push(2) 11 | stack.pop() should be (2) 12 | stack.pop() should be (1) 13 | } 14 | 15 | it should "throw NoSuchElementException if an empty stack is popped" in { 16 | val emptyStack = new Stack[Int] 17 | a [NoSuchElementException] should be thrownBy { 18 | emptyStack.pop() 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /generators/app/templates/scala/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/scala/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/scala/gradle/main.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'base' 2 | defaultTasks 'clean', 'build' 3 | 4 | apply plugin: 'application' 5 | apply plugin: 'com.github.johnrengelman.shadow' 6 | 7 | mainClassName = 'daggerok.App' 8 | shadowJar.mustRunAfter jar 9 | 10 | /* 11 | shadowJar { 12 | transform(com.github.jengelman.gradle.plugins.shadow.transformers.AppendingTransformer) { 13 | resource = "reference.conf" 14 | } 15 | } 16 | 17 | jar { 18 | baseName = project.name 19 | manifest { 20 | attributes('Main-Class': mainClassName) 21 | } 22 | } 23 | */ 24 | -------------------------------------------------------------------------------- /generators/app/templates/scala/src/main/java/lombok.config: -------------------------------------------------------------------------------- 1 | lombok.var.flagUsage = ALLOW 2 | -------------------------------------------------------------------------------- /generators/app/templates/scala/src/main/resources/logback.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | %boldWhite(%d{yyyy-MM-dd HH:mm:ss.SSS}) %highlight(%-5level) %magenta(%-10.10thread{10}) [ %cyan(%-25.25logger{25}) ] - %gray(%msg%n) 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /generators/app/templates/scala/src/main/scala/daggerok/App.scala: -------------------------------------------------------------------------------- 1 | package daggerok 2 | 3 | object App { 4 | 5 | def main(args: Array[String]) { 6 | println("Hello World!") 7 | println("fold arguments = " + foleArgs(args)) 8 | } 9 | 10 | def foleArgs(x: Array[String]) = x.foldLeft("")((a, b) => a + b) 11 | } 12 | -------------------------------------------------------------------------------- /generators/app/templates/scala/src/test/scala/daggerok/junit.scala: -------------------------------------------------------------------------------- 1 | package daggerok 2 | 3 | /* 4 | JUnit testing using scala 5 | */ 6 | 7 | import org.junit.Assert._ 8 | import org.junit._ 9 | 10 | @Test 11 | class AppTest { 12 | 13 | @Test 14 | def testOK() = assertTrue(true) 15 | 16 | @Test(expected = classOf[AssertionError]) 17 | def testKO() = assertTrue(false) 18 | } 19 | -------------------------------------------------------------------------------- /generators/app/templates/scala/src/test/scala/daggerok/specs.scala: -------------------------------------------------------------------------------- 1 | package daggerok 2 | 3 | import org.junit.runner._ 4 | import org.specs2.mutable._ 5 | import org.specs2.runner._ 6 | 7 | /* 8 | Sample specification. 9 | 10 | This specification can be executed with: scala -cp ${package}.SpecsTest 11 | Or using maven: mvn test 12 | 13 | For more information on how to write or run specifications, please visit: 14 | http://etorreborre.github.com/specs2/guide/org.specs2.guide.Runners.html 15 | */ 16 | 17 | @RunWith(classOf[JUnitRunner]) 18 | class MySpecTest extends Specification { 19 | "The 'Hello world' string" should { 20 | "contain 11 characters" in { 21 | "Hello world" must have size(11) 22 | } 23 | "start with 'Hello'" in { 24 | "Hello world" must startWith("Hello") 25 | } 26 | "end with 'world'" in { 27 | "Hello world" must endWith("world") 28 | } 29 | } 30 | } 31 | --------------------------------------------------------------------------------