Skip to content

Commit 131fec0

Browse files
author
Maksym Kostromin
committed
Initial commit
0 parents  commit 131fec0

File tree

448 files changed

+28422
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

448 files changed

+28422
-0
lines changed

.editorconfig

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
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

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
* text=auto

.gitignore

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
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

.npmignore

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
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

.travis.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
language: node_js
2+
node_js:
3+
- lts/*
4+
- v9
5+
- v8
6+
- v6
7+
8+
install: true
9+
10+
script:
11+
- export root=$(pwd)
12+
13+
- mkdir /tmp/yo
14+
- cd /tmp/yo
15+
- npm i -g add yo generator-jvm
16+
- echo old-version | yo jvm
17+
18+
- cd ${root}/
19+
- npm i
20+
- npm link
21+
- cd /tmp/yo
22+
- echo new-version | yo jvm

.yo-rc.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"generator-node": {
3+
"promptValues": {
4+
"authorName": "Maksim Kostromin",
5+
"authorEmail": "[email protected]",
6+
"authorUrl": "https://github.com/daggerok"
7+
}
8+
}
9+
}

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2018 Maksim Kostromin
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 268 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,268 @@
1+
# generator-jvm [![NPM version][npm-image]][npm-url] [![Build Status][travis-image]][travis-url] [![Dependency Status][daviddm-image]][daviddm-url]
2+
> Generate JVM (java, kotlin, scala) project with gradle / maven build systems and docker / docker-compose for rapid development
3+
4+
## Installation
5+
6+
First, install [Yeoman](http://yeoman.io) and generator-jvm using [npm](https://www.npmjs.com/) (we assume you have pre-installed [node.js](https://nodejs.org/)).
7+
8+
```bash
9+
npm install -g yo
10+
npm install -g generator-jvm
11+
```
12+
13+
Then generate your new project:
14+
15+
```bash
16+
yo jvm
17+
# enter projectDirectory or just press enter (default: app)
18+
# chose projectType (default: java)
19+
cd $projectDirectory
20+
```
21+
22+
using gradle
23+
24+
```bash
25+
idea build.gradle
26+
bash gradlew
27+
```
28+
29+
using maven
30+
31+
```bash
32+
idea pom.xml
33+
bash mvnw
34+
```
35+
36+
docker-compose
37+
38+
```bash
39+
# gradle
40+
bash gradlew composeUp
41+
# maven
42+
bash mvnw com.dkanejs.maven.plugins:docker-compose-maven-plugin:1.0.1:up
43+
```
44+
45+
## What's inside?
46+
47+
java-ee-faces project:
48+
49+
* javaee 8.0 project
50+
* JSF using mojarrra 2.2.16 faces implementation
51+
* lombok (slf4j + logback logging)
52+
* support maven
53+
* support gradle
54+
* docker / docker-compose support (Glassfish 5.0 / JBOSS EAP 7.1)
55+
56+
java-ee CDI full multi project:
57+
58+
* javaee 8.0 project
59+
* EAR with EJB + CDI configured
60+
* EJB3 (business services module: ejb-services)
61+
* EJB3 (JPA repositories module: ejb-data with embedded H2database for simplicity)
62+
* JAX-RS REST API
63+
* WEB/HTML5 static content
64+
* Servlet and JSP with EJB usage
65+
* lombok (slf4j + logback logging)
66+
* vavr (javaslang)
67+
* support maven
68+
* support gradle
69+
* docker / docker-compose support (JBOSS EAP 7.1)
70+
71+
java-ee EJB full multi project:
72+
73+
* javaee 8.0 project
74+
* EAR without CDI at all, but could be easily added (see java-ee-cdi-multi-project)
75+
* EJB3 (business services module: ejb-services)
76+
* EJB3 (JPA repositories module: ejb-data with embedded H2database for simplicity)
77+
* JAX-RS REST API
78+
* WEB/HTML5 static content
79+
* Servlet and JSP with EJB usage
80+
* lombok (slf4j + logback logging)
81+
* vavr (javaslang)
82+
* support maven
83+
* support gradle
84+
* docker / docker-compose support (JBOSS EAP 7.1)
85+
86+
kotlin java-ee project:
87+
88+
* javaee 8.0 project
89+
* lombok (slf4j + logback logging)
90+
* vavr (javaslang)
91+
* support kotlin
92+
* support maven
93+
* support gradle
94+
* support testing with junit 4 / 5
95+
* docker / docker-compose support (JBOSS EAP 7.1)
96+
97+
kotlin fat project
98+
99+
* java 8 based project
100+
* support kotlin
101+
* support fatjar
102+
* support maven
103+
* support gradle
104+
* slf4j + logback logging
105+
* support application scripts when using gradle
106+
* docker / docker-compose support
107+
108+
spring cloud function web project
109+
110+
* java 8 based spring-cloud-function-web project
111+
* spring-boot 2 / spring framework 5
112+
* support fatjar
113+
* support executable bash jar
114+
* support kotlin
115+
* support maven
116+
* support gradle
117+
* docker / docker-compose support
118+
119+
spring-boot 1 / spring framework 4 project
120+
121+
* java 8 based project
122+
* spring-boot 1 / spring framework 4
123+
* support fatjar
124+
* support executable bash jar
125+
* support kotlin
126+
* support maven
127+
* support gradle
128+
* vavr (javaslang)
129+
* lombok (slf4j + logback logging)
130+
* support testing with junit 4 / 5
131+
* docker / docker-compose support
132+
133+
kotlin parent multi project:
134+
135+
* java 8 based parent multi project
136+
* support kotlin
137+
* support fatjar
138+
* support executable bash jar
139+
* support kotlin
140+
* support maven
141+
* support gradle
142+
* vavr (javaslang)
143+
* lombok (slf4j + logback logging)
144+
* support testing with junit 4 / 5
145+
* docker / docker-compose support
146+
147+
spring-boot 2 / spring framework 5 project
148+
149+
* java 8 based project
150+
* spring-boot 2 / spring framework 5
151+
* support fatjar
152+
* support executable bash jar
153+
* support kotlin
154+
* support maven
155+
* support gradle
156+
* vavr (javaslang)
157+
* lombok (slf4j + logback logging)
158+
* support testing with junit 4 / 5
159+
* docker / docker-compose support
160+
161+
scala akka-persistence gradle project
162+
163+
* scala 2.12 based project
164+
* akka-persistence
165+
* lombok (slf4j + logback logging)
166+
* support gradle and application executable scripts
167+
* support testing using junit 4, scalactic, scalatest, specs2
168+
* docker / docker-compose support
169+
170+
java-akka project
171+
172+
* java 8 based project
173+
* akka-actor
174+
* lombok (slf4j + logback logging)
175+
* vavr (javaslang)
176+
* support fatjar
177+
* support maven
178+
* support gradle
179+
* support application scripts when using gradle
180+
* support testing with junit 4 / 5
181+
* docker / docker-compose support
182+
183+
java-ee (micro-profile) project:
184+
185+
* java 8 based project
186+
* javaee 8.0 using wildfly-swarm micro-profile
187+
* support fatjar
188+
* support executable bash jar
189+
* support kotlin
190+
* support maven
191+
* support gradle
192+
* vavr (javaslang)
193+
* lombok (slf4j + logback logging)
194+
* support testing with junit 4 / 5
195+
* docker / docker-compose support
196+
197+
scala project:
198+
199+
* scala 2.12 based project
200+
* lombok (slf4j + logback logging)
201+
* support fatjar
202+
* support maven
203+
* support gradle
204+
* support application executable scripts when using gradle
205+
* support testing using junit 4, scalactic, scalatest, specs2
206+
* docker / docker-compose support
207+
208+
java-ee project:
209+
210+
* java 8 based project
211+
* javaee 8.0
212+
* lombok (slf4j + logback logging)
213+
* vavr (javaslang)
214+
* support maven
215+
* support gradle
216+
* support testing with junit 4 / 5
217+
* docker / docker-compose support (JBOSS EAP 7)
218+
219+
java parent multi project:
220+
221+
* java 8 based parent multi project
222+
* vavr (javaslang)
223+
* support maven
224+
* support gradle
225+
* docker / docker-compose support
226+
227+
scala_2.11 project:
228+
229+
* scala 2.11 based project
230+
* lombok (slf4j + logback logging)
231+
* support fatjar
232+
* support maven
233+
* support gradle
234+
* support application scripts (gradle shadow plugin)
235+
* support testing using junit 4, scalactic, scalatest, specs2
236+
* docker / docker-compose support
237+
238+
java project:
239+
240+
* java 8 based project
241+
* lombok (slf4j + logback logging)
242+
* vavr (javaslang)
243+
* support fatjar
244+
* support maven
245+
* support gradle
246+
* support application scripts when using gradle
247+
* support testing with junit 4 / 5
248+
* docker / docker-compose support
249+
250+
## Getting To Know Yeoman
251+
252+
* Yeoman has a heart of gold.
253+
* Yeoman is a person with feelings and opinions, but is very easy to work with.
254+
* Yeoman can be too opinionated at times but is easily convinced not to be.
255+
* Feel free to [learn more about Yeoman](http://yeoman.io/).
256+
257+
## License
258+
259+
MIT © [Maksim Kostromin](https://github.com/daggerok)
260+
261+
[npm-image]: https://badge.fury.io/js/generator-jvm.svg
262+
[npm-url]: https://npmjs.org/package/generator-jvm
263+
[travis-image]: https://travis-ci.org/daggerok/generator-jvm.svg?branch=master
264+
[travis-url]: https://travis-ci.org/daggerok/generator-jvm
265+
[daviddm-image]: https://david-dm.org/daggerok/generator-jvm.svg?theme=shields.io
266+
[daviddm-url]: https://david-dm.org/daggerok/generator-jvm
267+
[coveralls-image]: https://coveralls.io/repos/daggerok/generator-jvm/badge.svg
268+
[coveralls-url]: https://coveralls.io/r/daggerok/generator-jvm

0 commit comments

Comments
 (0)