embulk-output-mailchimp 0.2.3 → 0.3.2

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.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/.coveralls.yml +1 -1
  3. data/.gitignore +10 -3
  4. data/.travis.yml +4 -7
  5. data/CHANGELOG.md +18 -0
  6. data/README.md +18 -17
  7. data/build.gradle +124 -0
  8. data/ci/travis_mailchimp.yml +8 -0
  9. data/circle.yml +16 -0
  10. data/classpath/embulk-base-restclient-0.5.0.jar +0 -0
  11. data/classpath/embulk-output-mailchimp-0.3.2.jar +0 -0
  12. data/classpath/embulk-util-retryhelper-jetty92-0.5.0.jar +0 -0
  13. data/classpath/jetty-client-9.2.14.v20151106.jar +0 -0
  14. data/classpath/jetty-http-9.2.14.v20151106.jar +0 -0
  15. data/classpath/jetty-io-9.2.14.v20151106.jar +0 -0
  16. data/classpath/jetty-util-9.2.14.v20151106.jar +0 -0
  17. data/config/checkstyle/checkstyle.xml +128 -0
  18. data/config/checkstyle/default.xml +108 -0
  19. data/gradle/wrapper/gradle-wrapper.jar +0 -0
  20. data/gradle/wrapper/gradle-wrapper.properties +6 -0
  21. data/gradlew +160 -0
  22. data/gradlew.bat +90 -0
  23. data/lib/embulk/output/mailchimp.rb +3 -172
  24. data/src/main/java/org/embulk/output/mailchimp/MailChimpAbstractRecordBuffer.java +320 -0
  25. data/src/main/java/org/embulk/output/mailchimp/MailChimpHttpClient.java +151 -0
  26. data/src/main/java/org/embulk/output/mailchimp/MailChimpOutputPlugin.java +18 -0
  27. data/src/main/java/org/embulk/output/mailchimp/MailChimpOutputPluginDelegate.java +164 -0
  28. data/src/main/java/org/embulk/output/mailchimp/MailChimpRecordBuffer.java +174 -0
  29. data/src/main/java/org/embulk/output/mailchimp/helper/MailChimpHelper.java +70 -0
  30. data/src/main/java/org/embulk/output/mailchimp/model/AuthMethod.java +58 -0
  31. data/src/main/java/org/embulk/output/mailchimp/model/CategoriesResponse.java +30 -0
  32. data/src/main/java/org/embulk/output/mailchimp/model/ErrorResponse.java +56 -0
  33. data/src/main/java/org/embulk/output/mailchimp/model/InterestCategoriesResponse.java +24 -0
  34. data/src/main/java/org/embulk/output/mailchimp/model/InterestResponse.java +30 -0
  35. data/src/main/java/org/embulk/output/mailchimp/model/InterestsResponse.java +24 -0
  36. data/src/main/java/org/embulk/output/mailchimp/model/MemberStatus.java +64 -0
  37. data/src/main/java/org/embulk/output/mailchimp/model/MetaDataResponse.java +36 -0
  38. data/src/main/java/org/embulk/output/mailchimp/model/ReportResponse.java +105 -0
  39. data/src/main/java/org/embulk/output/mailchimp/validation/ColumnDataValidator.java +40 -0
  40. data/src/test/java/org/embulk/output/mailchimp/CircleCICredentials.java +22 -0
  41. data/src/test/java/org/embulk/output/mailchimp/TestColumnDataValidator.java +43 -0
  42. data/src/test/java/org/embulk/output/mailchimp/TestMailChimpHelper.java +54 -0
  43. data/src/test/java/org/embulk/output/mailchimp/TestMailChimpOutputPlugin.java +158 -0
  44. data/src/test/resources/csv/email.csv +2 -0
  45. metadata +55 -122
  46. data/.ruby-version +0 -1
  47. data/Gemfile +0 -2
  48. data/Rakefile +0 -29
  49. data/embulk-output-mailchimp.gemspec +0 -27
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c5e90ff1e0d73bd9d852c2bb0cc53e954a8cf1ea
4
- data.tar.gz: 27cf142a0398730ef50bf36e0076802984133148
3
+ metadata.gz: d462b2519072612b11fffb5c9b1fb8757cbb4bdd
4
+ data.tar.gz: 16b9f327b2753b7c70b658f8b55f4b0f638da3f9
5
5
  SHA512:
6
- metadata.gz: d0582347cfa8550e37f5323a651b8d2f68760eb84dd27ba6bc1b08cce6dfd81aa205198d01b0e18749b027161162b477d06290e64281c8ec6bcd9f736c528de2
7
- data.tar.gz: 0b01f3c6a644537afde7b95da97b2f8c7dd966ab54738cab16f5c32cc85c0377bd9d8cd37459adb73dbdfa4c35433d732b847fb72c2f5db5ea087b088738d54f
6
+ metadata.gz: d9df5f728fcb0c1204d94e86e7091666d4c9b879cf5cf88c00080991a252cff2bb6e2c85cd86c4bd72b0a3784ae363fb6ff0569f50672927605b5d0d9d3703d8
7
+ data.tar.gz: 66e55275124e6eed5d405dd9a9a2b403ea934b06b8d6878d2f412aa5ac36fd4a50a63f90162a9cf11ad7df541f336e52472a0b1cc1e4a292530489d052ad04b3
data/.coveralls.yml CHANGED
@@ -1 +1 @@
1
- service_name: travis-ci
1
+ service_name: travis-ci
data/.gitignore CHANGED
@@ -1,6 +1,13 @@
1
1
  *~
2
2
  /pkg/
3
3
  /tmp/
4
- /.bundle/
5
- /Gemfile.lock
6
- /coverage/
4
+ *.gemspec
5
+ .gradle/
6
+ /classpath/
7
+ build/
8
+ .idea
9
+ /.settings/
10
+ /.metadata/
11
+ .classpath
12
+ .project
13
+ bin/
data/.travis.yml CHANGED
@@ -1,8 +1,5 @@
1
- language: jruby
2
- before_install:
3
- - rvm get head --auto-dotfiles
4
- - rvm install jruby-9.0.1.0
5
- - gem install bundler --version 1.10.6
6
- - bundle install
1
+ language: java
2
+ jdk:
3
+ - openjdk7
7
4
  script:
8
- - bundle exec rake cov
5
+ - ./gradlew clean checkstyle check jacocoTestReport
data/CHANGELOG.md CHANGED
@@ -1,3 +1,21 @@
1
+ ## 0.3.2 - 2017-05-30
2
+ - Rename `interest_categories` to `grouping_columns` to fix backward compatibility [#18](https://github.com/treasure-data/embulk-output-mailchimp/pull/18)
3
+
4
+ ## 0.3.1 - 2017-05-26
5
+ - Enable merge fields with case-insensitive [#17](https://github.com/treasure-data/embulk-output-mailchimp/pull/17)
6
+
7
+ ## 0.3.0.4 - 2017-05-24
8
+ - Fixed compatible with API v2 and changed data format [#16](https://github.com/treasure-data/embulk-output-mailchimp/pull/16)
9
+
10
+ ## 0.3.0.3 - 2017-05-18
11
+ - Fixed bug can not extract data center when use `api_key` as `auth_mode` [#15](https://github.com/treasure-data/embulk-output-mailchimp/pull/15)
12
+
13
+ ## 0.3.0.2 - 2017-05-18
14
+ - Enabled double_optin in configuration and use default status if schema has no column `status` [#15](https://github.com/treasure-data/embulk-output-mailchimp/pull/15)
15
+
16
+ ## 0.3.0.1 - 2017-05-11
17
+ - Enabled API v3 and supported OAuth2 beside API Key[#13](https://github.com/treasure-data/embulk-output-mailchimp/pull/13)
18
+
1
19
  ## 0.2.3 - 2016-03-24
2
20
 
3
21
  - Retry when Mailchimp server return Internal Server Error [#11](https://github.com/treasure-data/embulk-output-mailchimp/pull/11)
data/README.md CHANGED
@@ -13,38 +13,39 @@ add e-mail to List in MailChimp.
13
13
 
14
14
  ## Configuration
15
15
 
16
- - **apikey**: Mailchimp API key (string, required)
17
- - **list_id**: Mailchimp List id (string, required)
18
- - **double_optin**: control whether to send an opt-in confirmation email (boolean, default: true)
19
- - **update_existing**: control whether to update members that are already subscribed to the list or to return an error (boolean, default: false)
20
- - **replace_interests**: determine whether we replace the interest groups with the updated groups provided, or we add the provided groups to the member's interest groups (boolean, default: true)
16
+ - **auth_method**: MailChimp auth method (string, `api_key` or `oauth`, default: `api_key`)
17
+ - **apikey**: MailChimp API key (string, required if `auth_method` is `api_key`)
18
+ - **access_token**: MailChimp access token (string, required if `auth_method` is `oauth`)
19
+ - **list_id**: MailChimp List id (string, required)
21
20
  - **email_column**: column name for email (string, default: 'email')
22
21
  - **fname_column**: column name for first name (string, default: 'fname')
23
22
  - **lname_column**: column name for last name(string, default: 'lname')
24
- - **grouping_columns**: column names array for group name(array, default: nil)
23
+ - **update_existing**: control whether to update members that are already subscribed to the list or to return an error (boolean, default: false)
24
+ - **merge_fields**: Array for additional merge fields/ TAG in MailChimp dashboard (array, optional, default: nil)
25
+ - **grouping_columns**: Array for group names in MailChimp dashboard(array, default: nil)
26
+ - **double_optin**: control whether to send an opt-in confirmation email (boolean, default: true)
25
27
 
26
28
  ## Example
27
29
 
28
30
  ```yaml
29
31
  out:
30
32
  type: mailchimp
33
+ auth_method: api_key
31
34
  apikey: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-XXX'
32
35
  list_id: 'XXXXXXXXXX'
33
- double_optin: false
34
36
  update_existing: false
35
- replace_interests: true
36
- email_column: 'e-mail'
37
- fname_column: 'first name'
38
- lname_column: 'lname'
37
+ double_optin: false
38
+ email_column: e-mail
39
+ fname_column: first name
40
+ lname_column: lname
41
+ merge_fields:
42
+ - website
39
43
  grouping_columns:
40
- - group_1
41
- - group_2
44
+ - interests
45
+ - location
46
+ replace_interests: true
42
47
  ```
43
48
 
44
- ## Mailchimp Client
45
-
46
- use https://bitbucket.org/mailchimp/mailchimp-api-ruby .
47
-
48
49
  ## Build
49
50
 
50
51
  ```
data/build.gradle ADDED
@@ -0,0 +1,124 @@
1
+ plugins {
2
+ id "com.jfrog.bintray" version "1.7.3"
3
+ id "com.github.jruby-gradle.base" version "0.1.5"
4
+ id "java"
5
+ id "checkstyle"
6
+ id "jacoco"
7
+ }
8
+ import com.github.jrubygradle.JRubyExec
9
+ repositories {
10
+ mavenCentral()
11
+ jcenter()
12
+ // TODO(dmikurube): Remove this after embulk-base-restclient goes to jcenter.
13
+ maven {
14
+ url "https://dl.bintray.com/embulk-base-restclient/maven"
15
+ }
16
+ }
17
+ configurations {
18
+ provided
19
+ }
20
+
21
+ version = "0.3.2"
22
+
23
+ sourceCompatibility = 1.7
24
+ targetCompatibility = 1.7
25
+
26
+ dependencies {
27
+ compile "org.embulk:embulk-core:0.8.15"
28
+ provided "org.embulk:embulk-core:0.8.15"
29
+ compile "org.embulk.base.restclient:embulk-base-restclient:0.5.0"
30
+ compile "org.embulk.base.restclient:embulk-util-retryhelper-jetty92:0.5.0"
31
+ // compile "YOUR_JAR_DEPENDENCY_GROUP:YOUR_JAR_DEPENDENCY_MODULE:YOUR_JAR_DEPENDENCY_VERSION"
32
+
33
+ testCompile "junit:junit:4.+"
34
+ testCompile "org.embulk:embulk-core:0.8.15:tests"
35
+ testCompile "org.embulk:embulk-test:0.8.15"
36
+ testCompile "org.embulk:embulk-standards:0.8.15"
37
+ testCompile "org.mockito:mockito-core:2.+"
38
+ }
39
+
40
+ test {
41
+ jvmArgs "-XX:MaxPermSize=128M"
42
+ // Set the timezone for testing somewhere other than my machine to increase the chances of catching timezone bugs
43
+ systemProperty 'user.timezone', 'PST'
44
+ testLogging {
45
+ events "passed", "skipped", "failed"
46
+ }
47
+ }
48
+
49
+ task classpath(type: Copy, dependsOn: ["jar"]) {
50
+ doFirst { file("classpath").deleteDir() }
51
+ from (configurations.runtime - configurations.provided + files(jar.archivePath))
52
+ into "classpath"
53
+ }
54
+ clean { delete "classpath" }
55
+
56
+ checkstyle {
57
+ configFile = file("${project.rootDir}/config/checkstyle/checkstyle.xml")
58
+ toolVersion = '6.14.1'
59
+ }
60
+ checkstyleMain {
61
+ configFile = file("${project.rootDir}/config/checkstyle/default.xml")
62
+ ignoreFailures = true
63
+ }
64
+ checkstyleTest {
65
+ configFile = file("${project.rootDir}/config/checkstyle/default.xml")
66
+ ignoreFailures = true
67
+ }
68
+ task checkstyle(type: Checkstyle) {
69
+ classpath = sourceSets.main.output + sourceSets.test.output
70
+ source = sourceSets.main.allJava + sourceSets.test.allJava
71
+ }
72
+
73
+ task gem(type: JRubyExec, dependsOn: ["gemspec", "classpath"]) {
74
+ jrubyArgs "-rrubygems/gem_runner", "-eGem::GemRunner.new.run(ARGV)", "build"
75
+ script "${project.name}.gemspec"
76
+ doLast { ant.move(file: "${project.name}-${project.version}.gem", todir: "pkg") }
77
+ }
78
+
79
+ task gemPush(type: JRubyExec, dependsOn: ["gem"]) {
80
+ jrubyArgs "-rrubygems/gem_runner", "-eGem::GemRunner.new.run(ARGV)", "push"
81
+ script "pkg/${project.name}-${project.version}.gem"
82
+ }
83
+
84
+ task "package"(dependsOn: ["gemspec", "classpath"]) << {
85
+ println "> Build succeeded."
86
+ println "> You can run embulk with '-L ${file(".").absolutePath}' argument."
87
+ }
88
+
89
+ jacocoTestReport {
90
+ group = "Reporting"
91
+ reports {
92
+ xml.enabled false
93
+ csv.enabled false
94
+ html.destination "${buildDir}/reports/coverage"
95
+ }
96
+ }
97
+
98
+ task gemspec {
99
+ ext.gemspecFile = file("${project.name}.gemspec")
100
+ inputs.file "build.gradle"
101
+ outputs.file gemspecFile
102
+ doLast { gemspecFile.write($/
103
+ Gem::Specification.new do |spec|
104
+ spec.name = "${project.name}"
105
+ spec.version = "${project.version}"
106
+ spec.authors = "Thang Nguyen"
107
+ spec.summary = %[Mailchimp output plugin for Embulk]
108
+ spec.description = %[Dumps records to MailChimp.]
109
+ spec.email = ["thang@treasure-data.com"]
110
+ spec.licenses = ["MIT"]
111
+ spec.homepage = "https://github.com/treasure-data/embulk-output-mailchimp"
112
+
113
+ spec.files = `git ls-files`.split("\n") + Dir["classpath/*.jar"]
114
+ spec.test_files = spec.files.grep(%r"^(test|spec)/")
115
+ spec.require_paths = ["lib"]
116
+
117
+ #spec.add_dependency 'YOUR_GEM_DEPENDENCY', ['~> YOUR_GEM_DEPENDENCY_VERSION']
118
+ spec.add_development_dependency 'bundler', ['~> 1.0']
119
+ spec.add_development_dependency 'rake', ['>= 10.0']
120
+ end
121
+ /$)
122
+ }
123
+ }
124
+ clean { delete "${project.name}.gemspec" }
@@ -0,0 +1,8 @@
1
+ type: mailchimp
2
+ auth_method: api_key
3
+ apikey: xxxxxxxxxxxxxxxxxxx
4
+ access_token: xxxxxxxxxxxxxxxxxxx
5
+ list_id: xxxxxxxxxxxxxxxxxxx
6
+ email_column: email
7
+ fname_column: fname
8
+ lname_column: lname
data/circle.yml ADDED
@@ -0,0 +1,16 @@
1
+ machine:
2
+ java:
3
+ version: openjdk7
4
+ environment:
5
+ TERM: "dumb"
6
+ EMBULK_OUTPUT_MAILCHIMP_TEST_CONFIG: "${HOME}/${TRAVIS_BUILD_DIR}/ci/travis_mailchimp.yml"
7
+
8
+ test:
9
+ override:
10
+ - ./gradlew clean checkstyle check jacocoTestReport
11
+ post:
12
+ - cp -R build/reports/* $CIRCLE_ARTIFACTS
13
+
14
+ notify:
15
+ webhooks:
16
+ - url: https://td-beda.herokuapp.com/circleci_callback
@@ -0,0 +1,128 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE module PUBLIC
3
+ "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
4
+ "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
5
+ <module name="Checker">
6
+ <!-- https://github.com/facebook/presto/blob/master/src/checkstyle/checks.xml -->
7
+ <module name="FileTabCharacter"/>
8
+ <module name="NewlineAtEndOfFile">
9
+ <property name="lineSeparator" value="lf"/>
10
+ </module>
11
+ <module name="RegexpMultiline">
12
+ <property name="format" value="\r"/>
13
+ <property name="message" value="Line contains carriage return"/>
14
+ </module>
15
+ <module name="RegexpMultiline">
16
+ <property name="format" value=" \n"/>
17
+ <property name="message" value="Line has trailing whitespace"/>
18
+ </module>
19
+ <module name="RegexpMultiline">
20
+ <property name="format" value="\{\n\n"/>
21
+ <property name="message" value="Blank line after opening brace"/>
22
+ </module>
23
+ <module name="RegexpMultiline">
24
+ <property name="format" value="\n\n\s*\}"/>
25
+ <property name="message" value="Blank line before closing brace"/>
26
+ </module>
27
+ <module name="RegexpMultiline">
28
+ <property name="format" value="\n\n\n"/>
29
+ <property name="message" value="Multiple consecutive blank lines"/>
30
+ </module>
31
+ <module name="RegexpMultiline">
32
+ <property name="format" value="\n\n\Z"/>
33
+ <property name="message" value="Blank line before end of file"/>
34
+ </module>
35
+ <module name="RegexpMultiline">
36
+ <property name="format" value="Preconditions\.checkNotNull"/>
37
+ <property name="message" value="Use of checkNotNull"/>
38
+ </module>
39
+
40
+ <module name="TreeWalker">
41
+ <module name="EmptyBlock">
42
+ <property name="option" value="text"/>
43
+ <property name="tokens" value="
44
+ LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_IF,
45
+ LITERAL_FOR, LITERAL_TRY, LITERAL_WHILE, INSTANCE_INIT, STATIC_INIT"/>
46
+ </module>
47
+ <module name="EmptyStatement"/>
48
+ <module name="EmptyForInitializerPad"/>
49
+ <module name="EmptyForIteratorPad">
50
+ <property name="option" value="space"/>
51
+ </module>
52
+ <module name="MethodParamPad">
53
+ <property name="allowLineBreaks" value="true"/>
54
+ <property name="option" value="nospace"/>
55
+ </module>
56
+ <module name="ParenPad"/>
57
+ <module name="TypecastParenPad"/>
58
+ <module name="NeedBraces"/>
59
+ <module name="LeftCurly">
60
+ <property name="option" value="nl"/>
61
+ <property name="tokens" value="CLASS_DEF, CTOR_DEF, INTERFACE_DEF, METHOD_DEF"/>
62
+ </module>
63
+ <module name="LeftCurly">
64
+ <property name="option" value="eol"/>
65
+ <property name="tokens" value="
66
+ LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_FOR,
67
+ LITERAL_IF, LITERAL_SWITCH, LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE"/>
68
+ </module>
69
+ <module name="RightCurly">
70
+ <property name="option" value="alone"/>
71
+ </module>
72
+ <module name="GenericWhitespace"/>
73
+ <module name="WhitespaceAfter"/>
74
+ <module name="NoWhitespaceBefore"/>
75
+
76
+ <module name="UpperEll"/>
77
+ <module name="DefaultComesLast"/>
78
+ <module name="ArrayTypeStyle"/>
79
+ <module name="MultipleVariableDeclarations"/>
80
+ <module name="ModifierOrder"/>
81
+ <module name="OneStatementPerLine"/>
82
+ <module name="StringLiteralEquality"/>
83
+ <module name="MutableException"/>
84
+ <module name="EqualsHashCode"/>
85
+ <module name="InnerAssignment"/>
86
+ <module name="InterfaceIsType"/>
87
+ <module name="HideUtilityClassConstructor"/>
88
+
89
+ <module name="MemberName"/>
90
+ <module name="LocalVariableName"/>
91
+ <module name="LocalFinalVariableName"/>
92
+ <module name="TypeName"/>
93
+ <module name="PackageName"/>
94
+ <module name="ParameterName"/>
95
+ <module name="StaticVariableName"/>
96
+ <module name="ClassTypeParameterName">
97
+ <property name="format" value="^[A-Z][0-9]?$"/>
98
+ </module>
99
+ <module name="MethodTypeParameterName">
100
+ <property name="format" value="^[A-Z][0-9]?$"/>
101
+ </module>
102
+
103
+ <module name="AvoidStarImport"/>
104
+ <module name="RedundantImport"/>
105
+ <module name="UnusedImports"/>
106
+ <module name="ImportOrder">
107
+ <property name="groups" value="*,javax,java"/>
108
+ <property name="separated" value="true"/>
109
+ <property name="option" value="bottom"/>
110
+ <property name="sortStaticImportsAlphabetically" value="true"/>
111
+ </module>
112
+
113
+ <module name="WhitespaceAround">
114
+ <property name="allowEmptyConstructors" value="true"/>
115
+ <property name="allowEmptyMethods" value="true"/>
116
+ <property name="ignoreEnhancedForColon" value="false"/>
117
+ <property name="tokens" value="
118
+ ASSIGN, BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN,
119
+ BXOR, BXOR_ASSIGN, COLON, DIV, DIV_ASSIGN, EQUAL, GE, GT, LAND, LE,
120
+ LITERAL_ASSERT, LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE,
121
+ LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF, LITERAL_RETURN,
122
+ LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE,
123
+ LOR, LT, MINUS, MINUS_ASSIGN, MOD, MOD_ASSIGN, NOT_EQUAL,
124
+ PLUS, PLUS_ASSIGN, QUESTION, SL, SLIST, SL_ASSIGN, SR, SR_ASSIGN,
125
+ STAR, STAR_ASSIGN, TYPE_EXTENSION_AND"/>
126
+ </module>
127
+ </module>
128
+ </module>
@@ -0,0 +1,108 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE module PUBLIC
3
+ "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
4
+ "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
5
+ <!--
6
+ This is a subset of ./checkstyle.xml which allows some loose styles
7
+ -->
8
+ <module name="Checker">
9
+ <module name="FileTabCharacter"/>
10
+ <module name="NewlineAtEndOfFile">
11
+ <property name="lineSeparator" value="lf"/>
12
+ </module>
13
+ <module name="RegexpMultiline">
14
+ <property name="format" value="\r"/>
15
+ <property name="message" value="Line contains carriage return"/>
16
+ </module>
17
+ <module name="RegexpMultiline">
18
+ <property name="format" value=" \n"/>
19
+ <property name="message" value="Line has trailing whitespace"/>
20
+ </module>
21
+ <module name="RegexpMultiline">
22
+ <property name="format" value="\n\n\n"/>
23
+ <property name="message" value="Multiple consecutive blank lines"/>
24
+ </module>
25
+ <module name="RegexpMultiline">
26
+ <property name="format" value="\n\n\Z"/>
27
+ <property name="message" value="Blank line before end of file"/>
28
+ </module>
29
+
30
+ <module name="TreeWalker">
31
+ <module name="EmptyBlock">
32
+ <property name="option" value="text"/>
33
+ <property name="tokens" value="
34
+ LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_IF,
35
+ LITERAL_FOR, LITERAL_TRY, LITERAL_WHILE, INSTANCE_INIT, STATIC_INIT"/>
36
+ </module>
37
+ <module name="EmptyStatement"/>
38
+ <module name="EmptyForInitializerPad"/>
39
+ <module name="EmptyForIteratorPad">
40
+ <property name="option" value="space"/>
41
+ </module>
42
+ <module name="MethodParamPad">
43
+ <property name="allowLineBreaks" value="true"/>
44
+ <property name="option" value="nospace"/>
45
+ </module>
46
+ <module name="ParenPad"/>
47
+ <module name="TypecastParenPad"/>
48
+ <module name="NeedBraces"/>
49
+ <module name="LeftCurly">
50
+ <property name="option" value="nl"/>
51
+ <property name="tokens" value="CLASS_DEF, CTOR_DEF, INTERFACE_DEF, METHOD_DEF"/>
52
+ </module>
53
+ <module name="LeftCurly">
54
+ <property name="option" value="eol"/>
55
+ <property name="tokens" value="
56
+ LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_FOR,
57
+ LITERAL_IF, LITERAL_SWITCH, LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE"/>
58
+ </module>
59
+ <module name="RightCurly">
60
+ <property name="option" value="alone"/>
61
+ </module>
62
+ <module name="GenericWhitespace"/>
63
+ <module name="WhitespaceAfter"/>
64
+ <module name="NoWhitespaceBefore"/>
65
+
66
+ <module name="UpperEll"/>
67
+ <module name="DefaultComesLast"/>
68
+ <module name="ArrayTypeStyle"/>
69
+ <module name="MultipleVariableDeclarations"/>
70
+ <module name="ModifierOrder"/>
71
+ <module name="OneStatementPerLine"/>
72
+ <module name="StringLiteralEquality"/>
73
+ <module name="MutableException"/>
74
+ <module name="EqualsHashCode"/>
75
+ <module name="InnerAssignment"/>
76
+ <module name="InterfaceIsType"/>
77
+ <module name="HideUtilityClassConstructor"/>
78
+
79
+ <module name="MemberName"/>
80
+ <module name="LocalVariableName"/>
81
+ <module name="LocalFinalVariableName"/>
82
+ <module name="TypeName"/>
83
+ <module name="PackageName"/>
84
+ <module name="ParameterName"/>
85
+ <module name="StaticVariableName"/>
86
+ <module name="ClassTypeParameterName">
87
+ <property name="format" value="^[A-Z][0-9]?$"/>
88
+ </module>
89
+ <module name="MethodTypeParameterName">
90
+ <property name="format" value="^[A-Z][0-9]?$"/>
91
+ </module>
92
+
93
+ <module name="WhitespaceAround">
94
+ <property name="allowEmptyConstructors" value="true"/>
95
+ <property name="allowEmptyMethods" value="true"/>
96
+ <property name="ignoreEnhancedForColon" value="false"/>
97
+ <property name="tokens" value="
98
+ ASSIGN, BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN,
99
+ BXOR, BXOR_ASSIGN, COLON, DIV, DIV_ASSIGN, EQUAL, GE, GT, LAND, LE,
100
+ LITERAL_ASSERT, LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE,
101
+ LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF, LITERAL_RETURN,
102
+ LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE,
103
+ LOR, LT, MINUS, MINUS_ASSIGN, MOD, MOD_ASSIGN, NOT_EQUAL,
104
+ PLUS, PLUS_ASSIGN, QUESTION, SL, SLIST, SL_ASSIGN, SR, SR_ASSIGN,
105
+ STAR, STAR_ASSIGN, TYPE_EXTENSION_AND"/>
106
+ </module>
107
+ </module>
108
+ </module>
Binary file
@@ -0,0 +1,6 @@
1
+ #Wed Jan 13 12:41:02 JST 2016
2
+ distributionBase=GRADLE_USER_HOME
3
+ distributionPath=wrapper/dists
4
+ zipStoreBase=GRADLE_USER_HOME
5
+ zipStorePath=wrapper/dists
6
+ distributionUrl=https\://services.gradle.org/distributions/gradle-3.2.1-bin.zip