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.
- checksums.yaml +4 -4
- data/.coveralls.yml +1 -1
- data/.gitignore +10 -3
- data/.travis.yml +4 -7
- data/CHANGELOG.md +18 -0
- data/README.md +18 -17
- data/build.gradle +124 -0
- data/ci/travis_mailchimp.yml +8 -0
- data/circle.yml +16 -0
- data/classpath/embulk-base-restclient-0.5.0.jar +0 -0
- data/classpath/embulk-output-mailchimp-0.3.2.jar +0 -0
- data/classpath/embulk-util-retryhelper-jetty92-0.5.0.jar +0 -0
- data/classpath/jetty-client-9.2.14.v20151106.jar +0 -0
- data/classpath/jetty-http-9.2.14.v20151106.jar +0 -0
- data/classpath/jetty-io-9.2.14.v20151106.jar +0 -0
- data/classpath/jetty-util-9.2.14.v20151106.jar +0 -0
- data/config/checkstyle/checkstyle.xml +128 -0
- data/config/checkstyle/default.xml +108 -0
- data/gradle/wrapper/gradle-wrapper.jar +0 -0
- data/gradle/wrapper/gradle-wrapper.properties +6 -0
- data/gradlew +160 -0
- data/gradlew.bat +90 -0
- data/lib/embulk/output/mailchimp.rb +3 -172
- data/src/main/java/org/embulk/output/mailchimp/MailChimpAbstractRecordBuffer.java +320 -0
- data/src/main/java/org/embulk/output/mailchimp/MailChimpHttpClient.java +151 -0
- data/src/main/java/org/embulk/output/mailchimp/MailChimpOutputPlugin.java +18 -0
- data/src/main/java/org/embulk/output/mailchimp/MailChimpOutputPluginDelegate.java +164 -0
- data/src/main/java/org/embulk/output/mailchimp/MailChimpRecordBuffer.java +174 -0
- data/src/main/java/org/embulk/output/mailchimp/helper/MailChimpHelper.java +70 -0
- data/src/main/java/org/embulk/output/mailchimp/model/AuthMethod.java +58 -0
- data/src/main/java/org/embulk/output/mailchimp/model/CategoriesResponse.java +30 -0
- data/src/main/java/org/embulk/output/mailchimp/model/ErrorResponse.java +56 -0
- data/src/main/java/org/embulk/output/mailchimp/model/InterestCategoriesResponse.java +24 -0
- data/src/main/java/org/embulk/output/mailchimp/model/InterestResponse.java +30 -0
- data/src/main/java/org/embulk/output/mailchimp/model/InterestsResponse.java +24 -0
- data/src/main/java/org/embulk/output/mailchimp/model/MemberStatus.java +64 -0
- data/src/main/java/org/embulk/output/mailchimp/model/MetaDataResponse.java +36 -0
- data/src/main/java/org/embulk/output/mailchimp/model/ReportResponse.java +105 -0
- data/src/main/java/org/embulk/output/mailchimp/validation/ColumnDataValidator.java +40 -0
- data/src/test/java/org/embulk/output/mailchimp/CircleCICredentials.java +22 -0
- data/src/test/java/org/embulk/output/mailchimp/TestColumnDataValidator.java +43 -0
- data/src/test/java/org/embulk/output/mailchimp/TestMailChimpHelper.java +54 -0
- data/src/test/java/org/embulk/output/mailchimp/TestMailChimpOutputPlugin.java +158 -0
- data/src/test/resources/csv/email.csv +2 -0
- metadata +55 -122
- data/.ruby-version +0 -1
- data/Gemfile +0 -2
- data/Rakefile +0 -29
- data/embulk-output-mailchimp.gemspec +0 -27
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d462b2519072612b11fffb5c9b1fb8757cbb4bdd
|
4
|
+
data.tar.gz: 16b9f327b2753b7c70b658f8b55f4b0f638da3f9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
data/.travis.yml
CHANGED
@@ -1,8 +1,5 @@
|
|
1
|
-
language:
|
2
|
-
|
3
|
-
|
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
|
-
-
|
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
|
-
- **
|
17
|
-
- **
|
18
|
-
- **
|
19
|
-
- **
|
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
|
-
- **
|
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
|
-
|
36
|
-
email_column:
|
37
|
-
fname_column:
|
38
|
-
lname_column:
|
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
|
-
-
|
41
|
-
-
|
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" }
|
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
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -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
|