-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbuild.gradle
116 lines (100 loc) · 3.79 KB
/
build.gradle
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
plugins {
id "com.jfrog.bintray" version "1.1"
id "com.github.jruby-gradle.base" version "1.5.0"
id "java"
id "checkstyle"
}
import com.github.jrubygradle.JRubyExec
repositories {
mavenCentral()
jcenter()
}
configurations {
provided
}
version = "0.3.0"
sourceCompatibility = 1.8
targetCompatibility = 1.8
dependencies {
compile "org.embulk:embulk-core:0.9.17"
provided "org.embulk:embulk-core:0.9.17"
compile group: 'com.zendesk', name: 'mysql-binlog-connector-java', version: '0.27.1'
compile group: 'mysql', name: 'mysql-connector-java', version: '8.0.18'
compile group: 'com.google.code.gson', name: 'gson', version: '2.8.6'
compileOnly group: 'org.projectlombok', name: 'lombok', version:'1.18.10'
provided group: 'org.projectlombok', name: 'lombok', version:'1.18.10'
compile group: 'io.debezium', name: 'debezium-connector-mysql', version: '1.4.2.Final'
compile group: 'io.debezium', name: 'debezium-core', version: '1.4.2.Final'
compile group: 'com.github.jsqlparser', name: 'jsqlparser', version: '4.0'
// implementation group: 'org.projectlombok', name: 'lombok', version:'1.18.10'
// compile "YOUR_JAR_DEPENDENCY_GROUP:YOUR_JAR_DEPENDENCY_MODULE:YOUR_JAR_DEPENDENCY_VERSION"
testCompile "junit:junit:4.+"
testCompile 'org.embulk:embulk-standards:0.9.12'
testCompile 'org.embulk:embulk-test:0.9.12'
testCompile "org.mockito:mockito-core:1.+"
testCompile "org.embulk:embulk-core:0.9.12:tests"
}
task classpath(type: Copy, dependsOn: ["jar"]) {
doFirst { file("classpath").deleteDir() }
from (configurations.runtime - configurations.provided + files(jar.archivePath))
into "classpath"
}
clean { delete "classpath" }
checkstyle {
configFile = file("${project.rootDir}/config/checkstyle/checkstyle.xml")
toolVersion = '6.14.1'
}
checkstyleMain {
configFile = file("${project.rootDir}/config/checkstyle/default.xml")
ignoreFailures = true
}
checkstyleTest {
configFile = file("${project.rootDir}/config/checkstyle/default.xml")
ignoreFailures = true
}
task checkstyle(type: Checkstyle) {
classpath = sourceSets.main.output + sourceSets.test.output
source = sourceSets.main.allJava + sourceSets.test.allJava
}
task gem(type: JRubyExec, dependsOn: ["gemspec", "classpath"]) {
jrubyArgs "-S"
script "gem"
scriptArgs "build", "${project.name}.gemspec"
doLast { ant.move(file: "${project.name}-${project.version}.gem", todir: "pkg") }
}
task gemPush(type: JRubyExec, dependsOn: ["gem"]) {
jrubyArgs "-S"
script "gem"
scriptArgs "push", "pkg/${project.name}-${project.version}.gem"
}
task "package"(dependsOn: ["gemspec", "classpath"]) {
doLast {
println "> Build succeeded."
println "> You can run embulk with '-L ${file(".").absolutePath}' argument."
}
}
task gemspec {
ext.gemspecFile = file("${project.name}.gemspec")
inputs.file "build.gradle"
outputs.file gemspecFile
doLast { gemspecFile.write($/
Gem::Specification.new do |spec|
spec.name = "${project.name}"
spec.version = "${project.version}"
spec.authors = ["Ken Takagiwa"]
spec.summary = %[Mysql Binlog input plugin for Embulk]
spec.description = %[Loads records from Mysql Binlog.]
spec.email = ["[email protected]"]
spec.licenses = ["MIT"]
spec.homepage = "https://github.com/trocco-io/embulk-input-mysql_binlog"
spec.files = `git ls-files`.split("\n") + Dir["classpath/*.jar"]
spec.test_files = spec.files.grep(%r"^(test|spec)/")
spec.require_paths = ["lib"]
#spec.add_dependency 'YOUR_GEM_DEPENDENCY', ['~> YOUR_GEM_DEPENDENCY_VERSION']
spec.add_development_dependency 'bundler', ['~> 1.0']
spec.add_development_dependency 'rake', ['~> 12.0']
end
/$)
}
}
clean { delete "${project.name}.gemspec" }