plugins { id "com.jfrog.bintray" version "1.1" id "com.github.jruby-gradle.base" version "1.5.0" id "java" id "checkstyle" id "jacoco" } import com.github.jrubygradle.JRubyExec repositories { mavenCentral() jcenter() } configurations { provided } version = "0.2.9" sourceCompatibility = 1.8 targetCompatibility = 1.8 dependencies { compile "org.embulk:embulk-core:0.9.20" provided "org.embulk:embulk-core:0.9.20" compile group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.5.6' compile group: 'org.glassfish.jersey.core', name: 'jersey-client', version: '2.27' compile group: 'com.google.code.gson', name: 'gson', version: '2.8.5' testCompile "junit:junit:4.+" testCompile "org.mockito:mockito-core:2.+" testCompile "org.embulk:embulk-test:0.9.20" testCompile "org.embulk:embulk-core:0.9.20: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." } } jacocoTestReport { group = "Reporting" reports { xml.enabled false csv.enabled false html.destination "${buildDir}/reports/coverage" } } 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 = ["uu59", "yoshihara"] spec.summary = %[Jira input plugin for Embulk] spec.description = %[Loads records from Jira.] spec.email = ["k@uu59.org", "h.yoshihara@everyleaf.com"] spec.licenses = ["Apache-2.0"] spec.homepage = "https://github.com/treasure-data/embulk-input-jira" 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_development_dependency 'bundler', ['~> 1.0'] spec.add_development_dependency 'rake', ['~> 12.0'] end /$) } } clean { delete "${project.name}.gemspec" }