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” }