embulk-output-elasticsearch5 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 +7 -0
- data/CHANGELOG.md +51 -0
- data/README.md +117 -0
- data/build.gradle +110 -0
- data/config/checkstyle/checkstyle.xml +130 -0
- data/config/checkstyle/default.xml +110 -0
- data/gradle/wrapper/gradle-wrapper.jar +0 -0
- data/gradle/wrapper/gradle-wrapper.properties +6 -0
- data/gradle/wrapper/wrapper/gradle-wrapper.jar +0 -0
- data/gradle/wrapper/wrapper/gradle-wrapper.properties +6 -0
- data/gradlew +160 -0
- data/gradlew.bat +90 -0
- data/lib/embulk/output/elasticsearch5.rb +3 -0
- data/settings.gradle +1 -0
- data/src/main/java/org/embulk/output/elasticsearch/ElasticsearchOutputPlugin.java +630 -0
- data/src/test/java/org/embulk/output/elasticsearch/TestElasticsearchOutputPlugin.java +482 -0
- data/src/test/resources/sample_01.csv +5 -0
- metadata +153 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: fb678c687d200121d03d61d7d850f131d8daf48b
|
4
|
+
data.tar.gz: 2b514fcefd2c994d5685ccf335109ad5b3c0f77d
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 623a488e51fc2035bfa1c53cf276478e1f02a749b9c34be40f6fe232f2f294e94a2f9bd6e8a472bf3f682dd7b38100206dc72851d3bcbdf62485ac3d970691c4
|
7
|
+
data.tar.gz: 43742e43ef5db38d4935fa3e9480322992fed76c54cff9fc7548b7c64c5a30ba43e14288a890b9f19c4f12bf7e2910eb20a1176d84aebc5fd2d26a287f8a6b00
|
data/.gitignore
ADDED
data/CHANGELOG.md
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+
## 0.3.1 - 2016-06-21
|
2
|
+
|
3
|
+
* [maintenance] Update Elasticsearch client to 2.3.3 [#25](https://github.com/muga/embulk-output-elasticsearch/pull/25)
|
4
|
+
|
5
|
+
## 0.3.0 - 2016-02-22
|
6
|
+
|
7
|
+
* [maintenance] Upgrade Embulk v08 [#21](https://github.com/muga/embulk-output-elasticsearch/pull/21)
|
8
|
+
|
9
|
+
## 0.2.1 - 2016-02-05
|
10
|
+
|
11
|
+
* [maintenance] Fix bug. Force to fail jobs if nodes down while executing [#19](https://github.com/muga/embulk-output-elasticsearch/pull/19)
|
12
|
+
|
13
|
+
## 0.2.0 - 2016-01-26
|
14
|
+
|
15
|
+
* [new feature] Support Elasticsearch 2.x [#12](https://github.com/muga/embulk-output-elasticsearch/pull/12)
|
16
|
+
* [new feature] Added replace mode [#15](https://github.com/muga/embulk-output-elasticsearch/pull/15)
|
17
|
+
* [maintenance] Fix id param's behavior [#14](https://github.com/muga/embulk-output-elasticsearch/pull/14)
|
18
|
+
* [maintenance] Added unit tests [#17](https://github.com/muga/embulk-output-elasticsearch/pull/17)
|
19
|
+
* [maintenance] Upgraded Embulk to v0.7.7
|
20
|
+
|
21
|
+
## 0.1.8 - 2015-08-19
|
22
|
+
|
23
|
+
* [maintenance] Upgraded Embulk to v0.7.0
|
24
|
+
* [maintenance] Upgraded Elasticsearch to v1.5.2
|
25
|
+
|
26
|
+
## 0.1.7 - 2015-05-09
|
27
|
+
|
28
|
+
* [maintenance] Fixed handling null value [#10](https://github.com/muga/embulk-output-elasticsearch/pull/10)
|
29
|
+
|
30
|
+
## 0.1.6 - 2015-04-14
|
31
|
+
|
32
|
+
* [new feature] Added bulk_size parameter [#8](https://github.com/muga/embulk-output-elasticsearch/pull/8)
|
33
|
+
|
34
|
+
## 0.1.5 - 2015-03-26
|
35
|
+
|
36
|
+
* [new feature] Added cluster_name parameter [#7](https://github.com/muga/embulk-output-elasticsearch/pull/7)
|
37
|
+
|
38
|
+
## 0.1.4 - 2015-03-19
|
39
|
+
|
40
|
+
* [maintenance] Fixed parameter names index_name to index, doc_id_column to id. [#5](https://github.com/muga/embulk-output-elasticsearch/pull/5)
|
41
|
+
* [maintenance] Fixed typo at parameter [#6](https://github.com/muga/embulk-output-elasticsearch/pull/6)
|
42
|
+
|
43
|
+
## 0.1.3 - 2015-02-25
|
44
|
+
|
45
|
+
* [new feature] Supported timestamp column [#4](https://github.com/muga/embulk-output-elasticsearch/pull/4)
|
46
|
+
|
47
|
+
## 0.1.2 - 2015-02-24
|
48
|
+
|
49
|
+
## 0.1.1 - 2015-02-16
|
50
|
+
|
51
|
+
## 0.1.0 - 2015-02-16
|
data/README.md
ADDED
@@ -0,0 +1,117 @@
|
|
1
|
+
# Elasticsearch output plugin for Embulk
|
2
|
+
|
3
|
+
**Notice** This plugin doesn't support [Amazon(AWS) Elasticsearch Service](https://aws.amazon.com/elasticsearch-service/).
|
4
|
+
Plugin uses [Transport Client](https://www.elastic.co/guide/en/elasticsearch/client/java-api/2.0/transport-client.html) but AWS Elasticsearch doesn't support this method.
|
5
|
+
> The service supports HTTP on port 80, but does not support TCP transport.
|
6
|
+
- *[Amazon Elasticsearch Service Limits](http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/aes-limits.html)*
|
7
|
+
|
8
|
+
## Overview
|
9
|
+
|
10
|
+
* **Plugin type**: output
|
11
|
+
* **Rollback supported**: no
|
12
|
+
* **Resume supported**: no
|
13
|
+
* **Cleanup supported**: no
|
14
|
+
|
15
|
+
## Configuration
|
16
|
+
|
17
|
+
- **mode**: "insert" or "replace". See below(string, optional, default is insert)
|
18
|
+
- **nodes**: list of nodes. nodes are pairs of host and port (list, required)
|
19
|
+
- **cluster_name**: name of the cluster (string, default is "elasticsearch")
|
20
|
+
- **index**: index name (string, required)
|
21
|
+
- **index_type**: index type (string, required)
|
22
|
+
- **id**: document id column (string, default is null)
|
23
|
+
- **bulk_actions**: Sets when to flush a new bulk request based on the number of actions currently added. (int, default is 1000)
|
24
|
+
- **bulk_size**: Sets when to flush a new bulk request based on the size of actions currently added. (long, default is 5242880)
|
25
|
+
- **concurrent_requests**: concurrent_requests (int, default is 5)
|
26
|
+
|
27
|
+
### Modes
|
28
|
+
|
29
|
+
#### insert:
|
30
|
+
|
31
|
+
default.
|
32
|
+
This mode writes data to existing index.
|
33
|
+
|
34
|
+
#### replace:
|
35
|
+
|
36
|
+
1. Create new temporary index
|
37
|
+
2. Insert data into the new index
|
38
|
+
3. replace the alias with the new index. If alias doesn't exists, plugin will create new alias.
|
39
|
+
4. Delete existing (old) index if exists
|
40
|
+
|
41
|
+
Index should not exists with the same name as the alias
|
42
|
+
|
43
|
+
```yaml
|
44
|
+
out:
|
45
|
+
type: elasticsearch
|
46
|
+
mode: replace
|
47
|
+
nodes:
|
48
|
+
- {host: localhost, port: 9300}
|
49
|
+
index: <alias name> # plugin generates index name like <index>_%Y%m%d-%H%M%S
|
50
|
+
index_type: <index type>
|
51
|
+
```
|
52
|
+
|
53
|
+
## Example
|
54
|
+
|
55
|
+
```yaml
|
56
|
+
out:
|
57
|
+
type: elasticsearch
|
58
|
+
mode: insert
|
59
|
+
nodes:
|
60
|
+
- {host: localhost, port: 9300}
|
61
|
+
index: <index name>
|
62
|
+
index_type: <index type>
|
63
|
+
```
|
64
|
+
|
65
|
+
## Build
|
66
|
+
|
67
|
+
```
|
68
|
+
$ ./gradlew gem # -t to watch change of files and rebuild continuously
|
69
|
+
```
|
70
|
+
|
71
|
+
## Test
|
72
|
+
|
73
|
+
```
|
74
|
+
$ ./gradlew test # -t to watch change of files and rebuild continuously
|
75
|
+
```
|
76
|
+
|
77
|
+
To run unit tests, we need to configure the following environment variables.
|
78
|
+
|
79
|
+
When environment variables are not set, skip almost test cases.
|
80
|
+
|
81
|
+
```
|
82
|
+
ES_HOST
|
83
|
+
ES_PORT(optional, if needed, default: 9300)
|
84
|
+
ES_INDEX
|
85
|
+
ES_INDEX_TYPE
|
86
|
+
```
|
87
|
+
|
88
|
+
If you're using Mac OS X El Capitan and GUI Applications(IDE), like as follows.
|
89
|
+
```
|
90
|
+
$ vi ~/Library/LaunchAgents/environment.plist
|
91
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
92
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
93
|
+
<plist version="1.0">
|
94
|
+
<dict>
|
95
|
+
<key>Label</key>
|
96
|
+
<string>my.startup</string>
|
97
|
+
<key>ProgramArguments</key>
|
98
|
+
<array>
|
99
|
+
<string>sh</string>
|
100
|
+
<string>-c</string>
|
101
|
+
<string>
|
102
|
+
launchctl setenv ES_HOST example.com
|
103
|
+
launchctl setenv ES_PORT 9300
|
104
|
+
launchctl setenv ES_INDEX embulk
|
105
|
+
launchctl setenv ES_INDEX_TYPE embulk
|
106
|
+
</string>
|
107
|
+
</array>
|
108
|
+
<key>RunAtLoad</key>
|
109
|
+
<true/>
|
110
|
+
</dict>
|
111
|
+
</plist>
|
112
|
+
|
113
|
+
$ launchctl load ~/Library/LaunchAgents/environment.plist
|
114
|
+
$ launchctl getenv ES_INDEX //try to get value.
|
115
|
+
|
116
|
+
Then start your applications.
|
117
|
+
```
|
data/build.gradle
ADDED
@@ -0,0 +1,110 @@
|
|
1
|
+
plugins {
|
2
|
+
id "com.jfrog.bintray" version "1.1"
|
3
|
+
id "com.github.jruby-gradle.base" version "0.1.5"
|
4
|
+
id "java"
|
5
|
+
id "jacoco"
|
6
|
+
id "checkstyle"
|
7
|
+
}
|
8
|
+
import com.github.jrubygradle.JRubyExec
|
9
|
+
repositories {
|
10
|
+
mavenCentral()
|
11
|
+
jcenter()
|
12
|
+
mavenLocal()
|
13
|
+
}
|
14
|
+
configurations {
|
15
|
+
provided
|
16
|
+
}
|
17
|
+
|
18
|
+
version = "0.1.0"
|
19
|
+
|
20
|
+
compileJava.options.encoding = 'UTF-8' // source encoding
|
21
|
+
sourceCompatibility = 1.7
|
22
|
+
targetCompatibility = 1.7
|
23
|
+
|
24
|
+
dependencies {
|
25
|
+
compile "org.embulk:embulk-core:0.8.5"
|
26
|
+
provided "org.embulk:embulk-core:0.8.5"
|
27
|
+
compile "org.elasticsearch:elasticsearch:5.1.1"
|
28
|
+
compile "org.elasticsearch.client:transport:5.1.1"
|
29
|
+
|
30
|
+
testCompile "junit:junit:4.+"
|
31
|
+
testCompile "org.embulk:embulk-core:0.8.5:tests"
|
32
|
+
testCompile "org.embulk:embulk-standards:0.8.5"
|
33
|
+
}
|
34
|
+
|
35
|
+
task classpath(type: Copy, dependsOn: ["jar"]) {
|
36
|
+
doFirst { file("classpath").deleteDir() }
|
37
|
+
from (configurations.runtime - configurations.provided + files(jar.archivePath))
|
38
|
+
into "classpath"
|
39
|
+
}
|
40
|
+
clean { delete 'classpath' }
|
41
|
+
|
42
|
+
checkstyle {
|
43
|
+
configFile = file("${project.rootDir}/config/checkstyle/checkstyle.xml")
|
44
|
+
toolVersion = '6.14.1'
|
45
|
+
}
|
46
|
+
checkstyleMain {
|
47
|
+
configFile = file("${project.rootDir}/config/checkstyle/default.xml")
|
48
|
+
ignoreFailures = true
|
49
|
+
}
|
50
|
+
checkstyleTest {
|
51
|
+
configFile = file("${project.rootDir}/config/checkstyle/default.xml")
|
52
|
+
ignoreFailures = true
|
53
|
+
}
|
54
|
+
task checkstyle(type: Checkstyle) {
|
55
|
+
classpath = sourceSets.main.output + sourceSets.test.output
|
56
|
+
source = sourceSets.main.allJava + sourceSets.test.allJava
|
57
|
+
}
|
58
|
+
|
59
|
+
//task copyDependencies(type:Copy) {
|
60
|
+
// new File("$buildDir/libs/dependencies").mkdirs()
|
61
|
+
// into "$buildDir/libs/dependencies" from configurations.runtime
|
62
|
+
//}
|
63
|
+
|
64
|
+
task gem(type: JRubyExec, dependsOn: ["build", "gemspec", "classpath"]) {
|
65
|
+
jrubyArgs "-rrubygems/gem_runner", "-eGem::GemRunner.new.run(ARGV)", "build"
|
66
|
+
script "build/gemspec"
|
67
|
+
doLast { ant.move(file: "${project.name}-${project.version}.gem", todir: "pkg") }
|
68
|
+
}
|
69
|
+
|
70
|
+
task gemPush(type: JRubyExec, dependsOn: ["gem"]) {
|
71
|
+
jrubyArgs "-rrubygems/gem_runner", "-eGem::GemRunner.new.run(ARGV)", "push"
|
72
|
+
script "pkg/${project.name}-${project.version}.gem"
|
73
|
+
}
|
74
|
+
|
75
|
+
task "package"(dependsOn: ["gemspec", "classpath"]) << {
|
76
|
+
println "> Build succeeded."
|
77
|
+
println "> You can run embulk with '-L ${file(".").absolutePath}' argument."
|
78
|
+
}
|
79
|
+
|
80
|
+
task gemspec << { file("build/gemspec").write($/
|
81
|
+
Gem::Specification.new do |spec|
|
82
|
+
spec.name = "${project.name}"
|
83
|
+
spec.version = "${project.version}"
|
84
|
+
spec.authors = ["Muga Nishizawa"]
|
85
|
+
spec.summary = %[Elasticsearch5 output plugin for Embulk]
|
86
|
+
spec.description = %[Elasticsearch5 output plugin is an Embulk plugin that loads records to Elasticsearch read by any input plugins. Search the input plugins by "embulk-input" keyword.]
|
87
|
+
spec.email = ["muga.nishizawa@gmail.com","tristan.slominski@gmail.com"]
|
88
|
+
spec.licenses = ["Apache 2.0"]
|
89
|
+
spec.homepage = "https://github.com/tristanls/embulk-output-elasticsearch"
|
90
|
+
|
91
|
+
spec.files = `git ls-files`.split("\n") + Dir["classpath/*.jar"]
|
92
|
+
spec.test_files = spec.files.grep(%r"^(test|spec)/")
|
93
|
+
spec.require_paths = ["lib"]
|
94
|
+
spec.executables = spec.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
95
|
+
spec.has_rdoc = false
|
96
|
+
|
97
|
+
spec.add_development_dependency "bundler", [">= 1.0"]
|
98
|
+
spec.add_development_dependency "rake", [">= 10.0"]
|
99
|
+
spec.add_development_dependency "test-unit", ["~> 3.0.2"]
|
100
|
+
end
|
101
|
+
/$)
|
102
|
+
}
|
103
|
+
|
104
|
+
jacocoTestReport {
|
105
|
+
afterEvaluate {
|
106
|
+
classDirectories = files(classDirectories.files.collect {
|
107
|
+
fileTree(dir: it, exclude: 'org/embulk/output/elasticsearch/ElasticsearchOutputPlugin$1.class')
|
108
|
+
})
|
109
|
+
}
|
110
|
+
}
|
@@ -0,0 +1,130 @@
|
|
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
|
+
<property name="format" value="^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"/>
|
97
|
+
</module>
|
98
|
+
<module name="ClassTypeParameterName">
|
99
|
+
<property name="format" value="^[A-Z][0-9]?$"/>
|
100
|
+
</module>
|
101
|
+
<module name="MethodTypeParameterName">
|
102
|
+
<property name="format" value="^[A-Z][0-9]?$"/>
|
103
|
+
</module>
|
104
|
+
|
105
|
+
<module name="AvoidStarImport"/>
|
106
|
+
<module name="RedundantImport"/>
|
107
|
+
<module name="UnusedImports"/>
|
108
|
+
<module name="ImportOrder">
|
109
|
+
<property name="groups" value="*,javax,java"/>
|
110
|
+
<property name="separated" value="true"/>
|
111
|
+
<property name="option" value="bottom"/>
|
112
|
+
<property name="sortStaticImportsAlphabetically" value="true"/>
|
113
|
+
</module>
|
114
|
+
|
115
|
+
<module name="WhitespaceAround">
|
116
|
+
<property name="allowEmptyConstructors" value="true"/>
|
117
|
+
<property name="allowEmptyMethods" value="true"/>
|
118
|
+
<property name="ignoreEnhancedForColon" value="false"/>
|
119
|
+
<property name="tokens" value="
|
120
|
+
ASSIGN, BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN,
|
121
|
+
BXOR, BXOR_ASSIGN, COLON, DIV, DIV_ASSIGN, EQUAL, GE, GT, LAND, LE,
|
122
|
+
LITERAL_ASSERT, LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE,
|
123
|
+
LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF, LITERAL_RETURN,
|
124
|
+
LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE,
|
125
|
+
LOR, LT, MINUS, MINUS_ASSIGN, MOD, MOD_ASSIGN, NOT_EQUAL,
|
126
|
+
PLUS, PLUS_ASSIGN, QUESTION, SL, SLIST, SL_ASSIGN, SR, SR_ASSIGN,
|
127
|
+
STAR, STAR_ASSIGN, TYPE_EXTENSION_AND"/>
|
128
|
+
</module>
|
129
|
+
</module>
|
130
|
+
</module>
|
@@ -0,0 +1,110 @@
|
|
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
|
+
<property name="format" value="^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"/>
|
87
|
+
</module>
|
88
|
+
<module name="ClassTypeParameterName">
|
89
|
+
<property name="format" value="^[A-Z][0-9]?$"/>
|
90
|
+
</module>
|
91
|
+
<module name="MethodTypeParameterName">
|
92
|
+
<property name="format" value="^[A-Z][0-9]?$"/>
|
93
|
+
</module>
|
94
|
+
|
95
|
+
<module name="WhitespaceAround">
|
96
|
+
<property name="allowEmptyConstructors" value="true"/>
|
97
|
+
<property name="allowEmptyMethods" value="true"/>
|
98
|
+
<property name="ignoreEnhancedForColon" value="false"/>
|
99
|
+
<property name="tokens" value="
|
100
|
+
ASSIGN, BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN,
|
101
|
+
BXOR, BXOR_ASSIGN, COLON, DIV, DIV_ASSIGN, EQUAL, GE, GT, LAND, LE,
|
102
|
+
LITERAL_ASSERT, LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE,
|
103
|
+
LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF, LITERAL_RETURN,
|
104
|
+
LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE,
|
105
|
+
LOR, LT, MINUS, MINUS_ASSIGN, MOD, MOD_ASSIGN, NOT_EQUAL,
|
106
|
+
PLUS, PLUS_ASSIGN, QUESTION, SL, SLIST, SL_ASSIGN, SR, SR_ASSIGN,
|
107
|
+
STAR, STAR_ASSIGN, TYPE_EXTENSION_AND"/>
|
108
|
+
</module>
|
109
|
+
</module>
|
110
|
+
</module>
|