plugins {
id "com.jfrog.bintray" version "1.1" id "com.github.jruby-gradle.base" version "0.1.5" id "java" id "checkstyle"
} import com.github.jrubygradle.JRubyExec repositories {
mavenCentral() jcenter()
} configurations {
provided
}
version = “0.1.0”
sourceCompatibility = 1.7 targetCompatibility = 1.7
dependencies {
compile "org.embulk:embulk-core:${embulkVersion}" provided "org.embulk:embulk-core:${embulkVersion}" // compile "YOUR_JAR_DEPENDENCY_GROUP:YOUR_JAR_DEPENDENCY_MODULE:YOUR_JAR_DEPENDENCY_VERSION" testCompile "junit:junit:4.+"
}
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 "-rrubygems/gem_runner", "-eGem::GemRunner.new.run(ARGV)", "build" script "${project.name}.gemspec" doLast { ant.move(file: "${project.name}-${project.version}.gem", todir: "pkg") }
}
task gemPush(type: JRubyExec, dependsOn: [“gem”]) {
jrubyArgs "-rrubygems/gem_runner", "-eGem::GemRunner.new.run(ARGV)", "push" script "pkg/${project.name}-${project.version}.gem"
}
task “package”(dependsOn: [“gemspec”, “classpath”]) {
doLast { println "> Build succeeded." println "> You can run embulk with ${argumentToRunEmbulkJava} 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 = ["${author}"] spec.summary = %[${displayName} ${displayCategory} plugin for Embulk] spec.description = %[${description}] spec.email = ["${email}"] spec.licenses = ["MIT"] # TODO set this: spec.homepage = "https://github.com/${expectedGitHubAccount}/${fullProjectName}" 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', ['>= 10.0']
end /$)
}
} clean { delete “${project.name}.gemspec” }