plugins { id "com.jfrog.bintray" version "1.1" id "com.github.jruby-gradle.base" version "0.1.5" id "java" id "jacoco" id "checkstyle" } import com.github.jrubygradle.JRubyExec repositories { mavenCentral() jcenter() mavenLocal() } configurations { provided runtime } version = "0.1.6" compileJava.options.encoding = 'UTF-8' // source encoding sourceCompatibility = 1.7 targetCompatibility = 1.7 dependencies { compile "org.embulk:embulk-core:0.8.5" provided "org.embulk:embulk-core:0.8.5" compile "org.elasticsearch:elasticsearch:5.1.1" compile "org.elasticsearch.client:transport:5.1.1" compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.7' compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.7' compile group: 'io.netty', name: 'netty-common', version: '4.1.6.Final' testCompile "junit:junit:4.+" testCompile "org.embulk:embulk-core:0.8.5:tests" testCompile "org.embulk:embulk-standards:0.8.5" } 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 copyDependencies(type:Copy) { new File("$buildDir/libs/dependencies").mkdirs() into "$buildDir/libs/dependencies" from configurations.runtime } task gem(type: JRubyExec, dependsOn: ["build", "gemspec", "classpath"]) { jrubyArgs "-rrubygems/gem_runner", "-eGem::GemRunner.new.run(ARGV)", "build" script "build/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"]) << { println "> Build succeeded." println "> You can run embulk with '-L ${file(".").absolutePath}' argument." } task gemspec << { file("build/gemspec").write($/ Gem::Specification.new do |spec| spec.name = "${project.name}" spec.version = "${project.version}" spec.authors = ["Muga Nishizawa"] spec.summary = %[Elasticsearch5 output plugin for Embulk] 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.] spec.email = ["muga.nishizawa@gmail.com","tristan.slominski@gmail.com"] spec.licenses = ["Apache 2.0"] spec.homepage = "https://github.com/tristanls/embulk-output-elasticsearch" spec.files = `git ls-files`.split("\n") + Dir["classpath/*.jar"] spec.test_files = spec.files.grep(%r"^(test|spec)/") spec.require_paths = ["lib"] spec.executables = spec.files.grep(%r{^bin/}).map{ |f| File.basename(f) } spec.has_rdoc = false spec.add_development_dependency "bundler", [">= 1.0"] spec.add_development_dependency "rake", [">= 10.0"] spec.add_development_dependency "test-unit", ["~> 3.0.2"] end /$) } jacocoTestReport { afterEvaluate { classDirectories = files(classDirectories.files.collect { fileTree(dir: it, exclude: 'org/embulk/output/elasticsearch/ElasticsearchOutputPlugin$1.class') }) } }