spring-gen 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +11 -0
- data/.rspec +2 -0
- data/.travis.yml +3 -0
- data/Gemfile +9 -0
- data/LICENSE.txt +674 -0
- data/README.md +133 -0
- data/Rakefile +1 -0
- data/bin/setup +7 -0
- data/bin/spring-gen +8 -0
- data/lib/command_router.rb +15 -0
- data/lib/commands/resource.rb +129 -0
- data/lib/commands/service.rb +53 -0
- data/lib/spring-gen/version.rb +3 -0
- data/lib/spring-gen.rb +5 -0
- data/lib/templates/layout/.gitignore +36 -0
- data/lib/templates/layout/build.gradle.erb +105 -0
- data/lib/templates/layout/intellij/config/checkstyle/checkstyle.xml +199 -0
- data/lib/templates/layout/intellij/config/codestyle/Codestyle.xml +34 -0
- data/lib/templates/layout/intellij/config/copyright/gnu.xml +6 -0
- data/lib/templates/layout/intellij/config/copyright/profiles_settings.xml +10 -0
- data/lib/templates/layout/src/java/config/AppConfig.java.erb +54 -0
- data/lib/templates/layout/src/java/main/App.java.erb +41 -0
- data/lib/templates/layout/src/resources/application.yml.erb +108 -0
- data/lib/templates/layout/src/resources/bootstrap.yml.erb +3 -0
- data/lib/templates/resource/assembler/Assembler.java.erb +57 -0
- data/lib/templates/resource/assembler/BaseAssembler.java.erb +95 -0
- data/lib/templates/resource/controller/BaseController.java.erb +66 -0
- data/lib/templates/resource/controller/Controller.java.erb +106 -0
- data/lib/templates/resource/exception/NotCreatedException.java.erb +34 -0
- data/lib/templates/resource/model/JpaBaseEntity.java.erb +43 -0
- data/lib/templates/resource/model/Model.java.erb +51 -0
- data/lib/templates/resource/model/MongodbBaseEntity.java.erb +33 -0
- data/lib/templates/resource/model/Neo4jBaseEntity.java.erb +81 -0
- data/lib/templates/resource/repository/Repository.java.erb +30 -0
- data/lib/templates/resource/resource/Resource.java.erb +48 -0
- data/lib/templates/resource/test/TestUtil.java.erb +85 -0
- data/lib/templates/resource/test/integration/jpa/IntegrationTest.java.erb +123 -0
- data/lib/templates/resource/test/integration/jpa/IntegrationTestConfig.java.erb +47 -0
- data/lib/templates/resource/test/integration/jpa/sampleData.xml.erb +20 -0
- data/lib/templates/resource/test/integration/mongodb/IntegrationTest.java.erb +114 -0
- data/lib/templates/resource/test/integration/mongodb/IntegrationTestConfig.java.erb +60 -0
- data/lib/templates/resource/test/integration/mongodb/SampleData.java.erb +43 -0
- data/lib/templates/resource/test/integration/neo4j/IntegrationTest.java.erb +123 -0
- data/lib/templates/resource/test/integration/neo4j/IntegrationTestConfig.java.erb +47 -0
- data/lib/templates/resource/test/integration/neo4j/SampleData.java.erb +23 -0
- data/lib/templates/resource/test/unit/assembler/AssemblerUnitTest.java.erb +52 -0
- data/lib/templates/resource/test/unit/assembler/AssemblerUnitTestConfig.java.erb +43 -0
- data/lib/templates/resource/test/unit/controller/ControllerUnitTest.java.erb +115 -0
- data/lib/templates/resource/test/unit/controller/ControllerUnitTestConfig.java.erb +64 -0
- data/lib/templates/service.yml.erb +4 -0
- data/lib/util.rb +39 -0
- data/spring-gen.gemspec +25 -0
- metadata +153 -0
data/README.md
ADDED
@@ -0,0 +1,133 @@
|
|
1
|
+
# spring-gen
|
2
|
+
|
3
|
+
spring-gen is a rails-like generator for spring microservices.
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
Open a terminal and type
|
7
|
+
```bash
|
8
|
+
gem install lectureGen
|
9
|
+
```
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
## Usage
|
14
|
+
|
15
|
+
First, create a new microservice:
|
16
|
+
|
17
|
+
```bash
|
18
|
+
spring-gen service com.mycompany.MyService
|
19
|
+
#output
|
20
|
+
create MyService/config
|
21
|
+
create MyService/config/checkstyle/checkstyle.xml
|
22
|
+
create MyService/config/codestyle/Codestyle.xml
|
23
|
+
create MyService/config/copyright/gnu.xml
|
24
|
+
create MyService/config/copyright/profiles_settings.xml
|
25
|
+
create MyService/src/main/java/com/mycompany/main/App.java
|
26
|
+
create MyService/src/main/java/com/mycompany/config/AppConfig.java
|
27
|
+
create MyService/.gitignore
|
28
|
+
create MyService/src/main/resources/application.yml
|
29
|
+
create MyService/src/main/resources/bootstrap.yml
|
30
|
+
create MyService/build.gradle
|
31
|
+
create MyService/service.yml
|
32
|
+
```
|
33
|
+
This will create a jpa based microservice. The service command expects an argument in the form `groupId.artifactId`.
|
34
|
+
So the argument `com.mycompany.MyService` will get interpreted as groupId: com.mycompany and artifactId: MyService.
|
35
|
+
|
36
|
+
You can specify a different spring-data backend with the `r` option:
|
37
|
+
|
38
|
+
```bash
|
39
|
+
spring-gen service com.mycompany.MyService -r mongodb
|
40
|
+
#output
|
41
|
+
create MyService/config
|
42
|
+
create MyService/config/checkstyle/checkstyle.xml
|
43
|
+
create MyService/config/codestyle/Codestyle.xml
|
44
|
+
create MyService/config/copyright/gnu.xml
|
45
|
+
create MyService/config/copyright/profiles_settings.xml
|
46
|
+
create MyService/src/main/java/com/mycompany/main/App.java
|
47
|
+
create MyService/src/main/java/com/mycompany/config/AppConfig.java
|
48
|
+
create MyService/.gitignore
|
49
|
+
create MyService/src/main/resources/application.yml
|
50
|
+
create MyService/src/main/resources/bootstrap.yml
|
51
|
+
create MyService/build.gradle
|
52
|
+
create MyService/service.yml
|
53
|
+
```
|
54
|
+
|
55
|
+
with mongodb as a backend, different classes will be generated. spring-gen currently supports
|
56
|
+
jpa, mongodb and neo4j.
|
57
|
+
|
58
|
+
After creating the project layout, enter the project-root and generate some resources:
|
59
|
+
|
60
|
+
```bash
|
61
|
+
cd MyService
|
62
|
+
spring-gen resource User firstname:String lastname:String
|
63
|
+
#output
|
64
|
+
create src/test/resources/sampledata/userSampleData.xml
|
65
|
+
create src/main/java/com/mycompany/model/BaseEntity.java
|
66
|
+
create src/main/java/com/mycompany/model/User.java
|
67
|
+
create src/main/java/com/mycompany/repository/UserRepository.java
|
68
|
+
create src/test/java/com/mycompany/integration/user/UserIntegrationTestConfig.java
|
69
|
+
create src/test/java/com/mycompany/integration/user/UserIntegrationTest.java
|
70
|
+
create src/test/java/util/TestUtil.java
|
71
|
+
```
|
72
|
+
This will generate a new user-model (containing string attributes for firstname and lastname)
|
73
|
+
as well as a repository that matches your spring-data choice. spring-gen will assume that you use
|
74
|
+
spring-data-rest. If you don't want to use spring-data-rest you can set the --full option,
|
75
|
+
which will generate additional classes like REST-controllers:
|
76
|
+
|
77
|
+
```bash
|
78
|
+
spring-gen resource User firstname:String lastname:String --full
|
79
|
+
# output
|
80
|
+
create src/test/resources/sampledata/userSampleData.xml
|
81
|
+
create src/main/java/com/mycompany/model/BaseEntity.java
|
82
|
+
create src/main/java/com/mycompany/model/User.java
|
83
|
+
create src/main/java/com/mycompany/repository/UserRepository.java
|
84
|
+
create src/test/java/com/mycompany/integration/user/UserIntegrationTestConfig.java
|
85
|
+
create src/test/java/com/mycompany/integration/user/UserIntegrationTest.java
|
86
|
+
create src/test/java/util/TestUtil.java
|
87
|
+
create src/test/java/com/mycompany/unit/user/controller/UserControllerUnitTestConfig.java
|
88
|
+
create src/test/java/com/mycompany/unit/user/controller/UserControllerUnitTest.java
|
89
|
+
create src/test/java/com/mycompany/unit/user/assembler/UserAssemblerUnitTestConfig.java
|
90
|
+
create src/test/java/com/mycompany/unit/user/assembler/UserAssemblerUnitTest.java
|
91
|
+
create src/main/java/com/mycompany/controller/BaseController.java
|
92
|
+
create src/main/java/com/mycompany/controller/UserController.java
|
93
|
+
create src/main/java/com/mycompany/assembler/BaseAssembler.java
|
94
|
+
create src/main/java/com/mycompany/assembler/UserAssembler.java
|
95
|
+
create src/main/java/com/mycompany/resource/UserResource.java
|
96
|
+
create src/main/java/com/mycompany/exception/NotCreatedException.java
|
97
|
+
```
|
98
|
+
|
99
|
+
|
100
|
+
|
101
|
+
|
102
|
+
## Issues
|
103
|
+
|
104
|
+
Neo4j is not really working right now. This will get resolved after SDN4 hits the spot.
|
105
|
+
|
106
|
+
## Development
|
107
|
+
|
108
|
+
After checking out the repo, run `bin/setup` to install dependencies. Then, run `bin/console` for an interactive prompt that will allow you to experiment.
|
109
|
+
|
110
|
+
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release` to create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
111
|
+
|
112
|
+
## Contributing
|
113
|
+
|
114
|
+
1. Fork it ( https://github.com/Richterrettich/spring-gen/fork )
|
115
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
116
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
117
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
118
|
+
5. Create a new Pull Request
|
119
|
+
|
120
|
+
|
121
|
+
## Copyright
|
122
|
+
Copyright (c) 2015 Rene Richter.
|
123
|
+
slidemgr is free software; you can redistribute it and/or modify
|
124
|
+
it under the terms of the GNU General Public License as published by
|
125
|
+
the Free Software Foundation; either version 3 of the License, or
|
126
|
+
(at your option) any later version.
|
127
|
+
This program is distributed in the hope that it will be useful,
|
128
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
129
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
130
|
+
GNU General Public License for more details.
|
131
|
+
You should have received a copy of the GNU General Public License
|
132
|
+
along with this program; if not, write to the Free Software Foundation,
|
133
|
+
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
data/Rakefile
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require "bundler/gem_tasks"
|
data/bin/setup
ADDED
data/bin/spring-gen
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'commands/resource'
|
2
|
+
require "commands/service"
|
3
|
+
require 'thor'
|
4
|
+
|
5
|
+
module CommandRouter
|
6
|
+
include Util
|
7
|
+
|
8
|
+
class Main < Thor
|
9
|
+
|
10
|
+
register(Service, 'service', 'service [service_name]', 'Creates a new microservice.')
|
11
|
+
register(Resource, 'resource', 'resource [resource_name]', 'Creates a new resource')
|
12
|
+
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
@@ -0,0 +1,129 @@
|
|
1
|
+
require 'thor'
|
2
|
+
require 'thor/group'
|
3
|
+
require 'util'
|
4
|
+
|
5
|
+
Attribute = Struct.new(:name,:data_type)
|
6
|
+
class Resource < Thor::Group
|
7
|
+
include Util
|
8
|
+
include Thor::Actions
|
9
|
+
|
10
|
+
argument :model_name, :type => :string, :desc => 'Name of the model'
|
11
|
+
argument :attributes,
|
12
|
+
:type => :hash,
|
13
|
+
:desc => 'attributes',
|
14
|
+
:default => {}
|
15
|
+
|
16
|
+
class_option :full,
|
17
|
+
:type => :boolean,
|
18
|
+
:desc => 'invoke all templates',
|
19
|
+
:aliases => 'f',
|
20
|
+
:default => false
|
21
|
+
|
22
|
+
def self.source_root
|
23
|
+
File.expand_path('../',__dir__)
|
24
|
+
end
|
25
|
+
|
26
|
+
def prepare_attributes
|
27
|
+
@attributes = @attributes.map{|k,v| Attribute.new k,v}
|
28
|
+
end
|
29
|
+
|
30
|
+
def create_model
|
31
|
+
@user_name = user_name
|
32
|
+
@user_email = user_email
|
33
|
+
@group_id = config.group_id
|
34
|
+
@artifact_id = config.artifact_id
|
35
|
+
@full = options['full']
|
36
|
+
|
37
|
+
|
38
|
+
case config.repository_technique
|
39
|
+
when "jpa"
|
40
|
+
@repository_import = "jpa.repository.JpaRepository"
|
41
|
+
@repository_type = "JpaRepository<#{@model_name},Long>"
|
42
|
+
@entity_annotation = "@Entity"
|
43
|
+
@annotation_import = "import javax.persistence.Entity;"
|
44
|
+
template "templates/resource/test/integration/#{config.repository_technique}/sampleData.xml.erb",
|
45
|
+
"#{content_root}/src/test/resources/sampledata/#{@model_name.downcase}SampleData.xml"
|
46
|
+
when "mongodb"
|
47
|
+
@repository_import = "mongodb.repository.MongoRepository"
|
48
|
+
@repository_type = "MongoRepository<#{@model_name},Long>"
|
49
|
+
@annotation_import = 'import org.springframework.data.mongodb.core.mapping.Document;'
|
50
|
+
@entity_annotation = "@Document"
|
51
|
+
template "templates/resource/test/integration/#{config.repository_technique}/SampleData.java.erb",
|
52
|
+
"#{content_root}/src/test/java/#{@group_id.gsub(".","/")}/integration/#{@model_name.downcase}/#{@model_name}SampleData.java"
|
53
|
+
when "neo4j"
|
54
|
+
@repository_import = "neo4j.repository.GraphRepository"
|
55
|
+
@repository_type = "GraphRepository<#{@model_name}>"
|
56
|
+
@entity_annotation = "@NodeEntity"
|
57
|
+
template "templates/resource/test/integration/#{config.repository_technique}/SampleData.java.erb",
|
58
|
+
"#{content_root}/src/test/java/#{@group_id.gsub(".","/")}/integration/#{@model_name.downcase}/#{@model_name}SampleData.java"
|
59
|
+
else
|
60
|
+
raise ("not a suitable repository-technique.")
|
61
|
+
end
|
62
|
+
|
63
|
+
|
64
|
+
template "templates/resource/model/#{config.repository_technique.capitalize}BaseEntity.java.erb",
|
65
|
+
"#{content_root}/src/main/java/#{@group_id.gsub(".","/")}/model/BaseEntity.java"
|
66
|
+
template(
|
67
|
+
'templates/resource/model/Model.java.erb',
|
68
|
+
"#{content_root}/src/main/java/#{@group_id.gsub(".","/")}/model/#{@model_name}.java")
|
69
|
+
|
70
|
+
template(
|
71
|
+
'templates/resource/repository/Repository.java.erb',
|
72
|
+
"#{content_root}/src/main/java/#{@group_id.gsub(".","/")}/repository/#{@model_name}Repository.java")
|
73
|
+
|
74
|
+
template(
|
75
|
+
"templates/resource/test/integration/#{config.repository_technique}/IntegrationTestConfig.java.erb",
|
76
|
+
"#{content_root}/src/test/java/#{@group_id.gsub(".","/")}/integration/#{@model_name.downcase}/#{@model_name}IntegrationTestConfig.java")
|
77
|
+
|
78
|
+
template(
|
79
|
+
"templates/resource/test/integration/#{config.repository_technique}/IntegrationTest.java.erb",
|
80
|
+
"#{content_root}/src/test/java/#{@group_id.gsub(".","/")}/integration/#{@model_name.downcase}/#{@model_name}IntegrationTest.java")
|
81
|
+
|
82
|
+
|
83
|
+
template(
|
84
|
+
'templates/resource/test/TestUtil.java.erb',
|
85
|
+
"#{content_root}/src/test/java/util/TestUtil.java") unless File.exist?("#{content_root}/src/test/java/util/TestUtil.java")
|
86
|
+
|
87
|
+
if @full
|
88
|
+
|
89
|
+
template(
|
90
|
+
'templates/resource/test/unit/controller/ControllerUnitTestConfig.java.erb',
|
91
|
+
"#{content_root}/src/test/java/#{@group_id.gsub(".","/")}/unit/#{@model_name.downcase}/controller/#{@model_name}ControllerUnitTestConfig.java")
|
92
|
+
|
93
|
+
template(
|
94
|
+
'templates/resource/test/unit/controller/ControllerUnitTest.java.erb',
|
95
|
+
"#{content_root}/src/test/java/#{@group_id.gsub(".","/")}/unit/#{@model_name.downcase}/controller/#{@model_name}ControllerUnitTest.java")
|
96
|
+
|
97
|
+
template(
|
98
|
+
'templates/resource/test/unit/assembler/AssemblerUnitTestConfig.java.erb',
|
99
|
+
"#{content_root}/src/test/java/#{@group_id.gsub(".","/")}/unit/#{@model_name.downcase}/assembler/#{@model_name}AssemblerUnitTestConfig.java")
|
100
|
+
|
101
|
+
template(
|
102
|
+
'templates/resource/test/unit/assembler/AssemblerUnitTest.java.erb',
|
103
|
+
"#{content_root}/src/test/java/#{@group_id.gsub(".","/")}/unit/#{@model_name.downcase}/assembler/#{@model_name}AssemblerUnitTest.java")
|
104
|
+
|
105
|
+
|
106
|
+
template 'templates/resource/controller/BaseController.java.erb',
|
107
|
+
"#{content_root}/src/main/java/#{@group_id.gsub(".","/")}/controller/BaseController.java" unless File.exist?("#{content_root}/src/main/java/#{@group_id.gsub(".","/")}/controller/BaseController.java")
|
108
|
+
|
109
|
+
template(
|
110
|
+
'templates/resource/controller/Controller.java.erb',
|
111
|
+
"#{content_root}/src/main/java/#{@group_id.gsub(".","/")}/controller/#{@model_name}Controller.java")
|
112
|
+
|
113
|
+
template 'templates/resource/assembler/BaseAssembler.java.erb',
|
114
|
+
"#{content_root}/src/main/java/#{@group_id.gsub(".","/")}/assembler/BaseAssembler.java" unless File.exist?("#{content_root}/src/main/java/#{@group_id.gsub(".","/")}/assembler/BaseAssembler.java")
|
115
|
+
template(
|
116
|
+
'templates/resource/assembler/Assembler.java.erb',
|
117
|
+
"#{content_root}/src/main/java/#{@group_id.gsub(".","/")}/assembler/#{@model_name}Assembler.java")
|
118
|
+
|
119
|
+
template(
|
120
|
+
'templates/resource/resource/Resource.java.erb',
|
121
|
+
"#{content_root}/src/main/java/#{@group_id.gsub(".","/")}/resource/#{@model_name}Resource.java")
|
122
|
+
|
123
|
+
template 'templates/resource/exception/NotCreatedException.java.erb',
|
124
|
+
"#{content_root}/src/main/java/#{@group_id.gsub(".","/")}/exception/NotCreatedException.java" unless File.exist? "#{content_root}/src/main/java/#{@group_id.gsub(".","/")}/exception/NotCreatedException.java"
|
125
|
+
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
129
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
require 'thor/group'
|
2
|
+
require 'thor'
|
3
|
+
require 'git'
|
4
|
+
|
5
|
+
|
6
|
+
class Service < Thor::Group
|
7
|
+
include Thor::Actions
|
8
|
+
|
9
|
+
argument :name, :type => :string, :desc => 'Microservice name'
|
10
|
+
|
11
|
+
class_option :repository_technique,
|
12
|
+
:type => :string,
|
13
|
+
:desc => 'repository technique',
|
14
|
+
:aliases => 'r',
|
15
|
+
:required => false
|
16
|
+
|
17
|
+
def self.source_root
|
18
|
+
File.expand_path('../',__dir__)
|
19
|
+
end
|
20
|
+
|
21
|
+
def prepare_artifact
|
22
|
+
parts = @name.split(".")
|
23
|
+
@name = @artifact_id = parts.pop
|
24
|
+
@group_id = parts.length > 0 ? parts.join('.') : @name
|
25
|
+
end
|
26
|
+
|
27
|
+
def init_git
|
28
|
+
g = Git.init @name
|
29
|
+
@user_name = g.config['user.name']
|
30
|
+
@user_email = g.config['user.email']
|
31
|
+
end
|
32
|
+
|
33
|
+
# TODO evtl. für andere entwicklugnsumgebungen erweitern.
|
34
|
+
|
35
|
+
def create_layout
|
36
|
+
|
37
|
+
@repository_technique = options['repository_technique'] || 'jpa'
|
38
|
+
|
39
|
+
#TODO templates vervollständigen.
|
40
|
+
directory 'templates/layout/intellij/config',"#{@name}/config"
|
41
|
+
|
42
|
+
template 'templates/layout/src/java/main/App.java.erb',"#{@name}/src/main/java/#{@group_id.gsub(".","/")}/main/App.java"
|
43
|
+
template 'templates/layout/src/java/config/AppConfig.java.erb',"#{@name}/src/main/java/#{@group_id.gsub(".","/")}/config/AppConfig.java"
|
44
|
+
copy_file 'templates/layout/.gitignore',"#{@name}/.gitignore"
|
45
|
+
template 'templates/layout/src/resources/application.yml.erb',"#{@name}/src/main/resources/application.yml"
|
46
|
+
template 'templates/layout/src/resources/bootstrap.yml.erb',"#{@name}/src/main/resources/bootstrap.yml"
|
47
|
+
template 'templates/layout/build.gradle.erb',"#{@name}/build.gradle"
|
48
|
+
template 'templates/service.yml.erb',"#{@name}/service.yml"
|
49
|
+
end
|
50
|
+
|
51
|
+
|
52
|
+
|
53
|
+
end
|
data/lib/spring-gen.rb
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion
|
2
|
+
*.iml
|
3
|
+
## Directory-based project format:
|
4
|
+
.idea/
|
5
|
+
# if you remove the above rule, at least ignore the following:
|
6
|
+
|
7
|
+
**/.DS_store
|
8
|
+
|
9
|
+
build/*
|
10
|
+
|
11
|
+
.gradle
|
12
|
+
|
13
|
+
testdb/*
|
14
|
+
|
15
|
+
**/testdb/*
|
16
|
+
|
17
|
+
|
18
|
+
## File-based project format:
|
19
|
+
*.ipr
|
20
|
+
*.iws
|
21
|
+
|
22
|
+
## Plugin-specific files:
|
23
|
+
|
24
|
+
# IntelliJ
|
25
|
+
/out/
|
26
|
+
|
27
|
+
# mpeltonen/sbt-idea plugin
|
28
|
+
.idea_modules/
|
29
|
+
|
30
|
+
# JIRA plugin
|
31
|
+
atlassian-ide-plugin.xml
|
32
|
+
|
33
|
+
# Crashlytics plugin (for Android Studio and IntelliJ)
|
34
|
+
com_crashlytics_export_strings.xml
|
35
|
+
crashlytics.properties
|
36
|
+
crashlytics-build.properties
|
@@ -0,0 +1,105 @@
|
|
1
|
+
/*
|
2
|
+
* Copyright (c) 2015 <%=@user_name%>.
|
3
|
+
* This program is free software; you can redistribute it and/or modify
|
4
|
+
* it under the terms of the GNU General Public License as published by
|
5
|
+
* the Free Software Foundation; either version 3 of the License, or
|
6
|
+
* (at your option) any later version.
|
7
|
+
* This program is distributed in the hope that it will be useful,
|
8
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
9
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
10
|
+
* GNU General Public License for more details.
|
11
|
+
* You should have received a copy of the GNU General Public License
|
12
|
+
* along with this program; if not, write to the Free Software Foundation,
|
13
|
+
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
14
|
+
*/
|
15
|
+
|
16
|
+
buildscript {
|
17
|
+
repositories {
|
18
|
+
mavenCentral()
|
19
|
+
}
|
20
|
+
dependencies {
|
21
|
+
classpath("org.springframework.boot:spring-boot-gradle-plugin:1.2.3.RELEASE")
|
22
|
+
}
|
23
|
+
}
|
24
|
+
|
25
|
+
repositories {
|
26
|
+
mavenCentral()
|
27
|
+
|
28
|
+
maven {
|
29
|
+
url 'http://repo.spring.io/libs-snapshot-continuous-local'
|
30
|
+
}
|
31
|
+
maven {
|
32
|
+
url 'http://maven.springframework.org/milestone/'
|
33
|
+
}
|
34
|
+
|
35
|
+
maven {
|
36
|
+
url 'http://repo.spring.io/libs-snapshot'
|
37
|
+
}
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
}
|
42
|
+
|
43
|
+
|
44
|
+
apply plugin: 'java'
|
45
|
+
apply plugin: 'idea'
|
46
|
+
apply plugin: 'spring-boot'
|
47
|
+
apply plugin: "checkstyle"
|
48
|
+
|
49
|
+
checkstyle{
|
50
|
+
checkstyle {
|
51
|
+
toolVersion = "6.6"
|
52
|
+
}
|
53
|
+
}
|
54
|
+
|
55
|
+
task checkstyle(type: Checkstyle) {
|
56
|
+
configFile file("config/checkstyle/checkstyle.xml")
|
57
|
+
source './'
|
58
|
+
include '**/*.java'
|
59
|
+
classpath = files()
|
60
|
+
}
|
61
|
+
|
62
|
+
|
63
|
+
|
64
|
+
sourceCompatibility = 1.8
|
65
|
+
targetCompatibility = 1.8
|
66
|
+
|
67
|
+
dependencies {
|
68
|
+
compile("org.springframework.boot:spring-boot-starter-web")
|
69
|
+
compile("org.springframework.boot:spring-boot-starter-tomcat")
|
70
|
+
compile("org.springframework.boot:spring-boot-starter-data-rest")
|
71
|
+
compile("org.springframework.boot:spring-boot-starter-data-<%=@repository_technique%>")
|
72
|
+
|
73
|
+
|
74
|
+
compile("org.springframework.amqp:spring-rabbit")
|
75
|
+
|
76
|
+
compile 'org.springframework.cloud:spring-cloud-starter-eureka:1.0.1.RELEASE'
|
77
|
+
|
78
|
+
compile 'org.springframework.hateoas:spring-hateoas'
|
79
|
+
|
80
|
+
compile 'org.apache.commons:commons-lang3:3.4'
|
81
|
+
|
82
|
+
<%if @repository_technique == "jpa"%>
|
83
|
+
compile 'com.h2database:h2:1.4.187'
|
84
|
+
testCompile "org.dbunit:dbunit:2.5.0"
|
85
|
+
testCompile "com.github.springtestdbunit:spring-test-dbunit:1.2.1"
|
86
|
+
<%elsif @repository_technique == "mongodb"%>
|
87
|
+
testCompile 'com.github.fakemongo:fongo:1.6.2'
|
88
|
+
<%elsif @repository_technique == "neo4j"%>
|
89
|
+
|
90
|
+
<%end%>
|
91
|
+
|
92
|
+
|
93
|
+
testCompile "org.springframework:spring-test:4.1.6.RELEASE"
|
94
|
+
testCompile "org.mockito:mockito-core:1.9.5"
|
95
|
+
testCompile "org.hamcrest:hamcrest-all:1.3"
|
96
|
+
testCompile "com.jayway.jsonpath:json-path-assert:2.0.0"
|
97
|
+
testCompile("junit:junit")
|
98
|
+
|
99
|
+
|
100
|
+
|
101
|
+
}
|
102
|
+
|
103
|
+
task wrapper(type: Wrapper) {
|
104
|
+
gradleVersion = '2.3'
|
105
|
+
}
|