Last active
May 18, 2017 10:20
-
-
Save civitaspo/b3197c90c98840037ab15e81974f526f to your computer and use it in GitHub Desktop.
modified after `embulk new java-filter test`
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 { | |
jrubyExec.extendsFrom gems | |
provided | |
} | |
version = "0.1.0" | |
sourceCompatibility = 1.7 | |
targetCompatibility = 1.7 | |
dependencies { | |
compile "org.embulk:embulk-core:0.8.21" | |
provided "org.embulk:embulk-core:0.8.21" | |
// compile "YOUR_JAR_DEPENDENCY_GROUP:YOUR_JAR_DEPENDENCY_MODULE:YOUR_JAR_DEPENDENCY_VERSION" | |
testCompile "junit:junit:4.+" | |
// jruby | |
gems "rubygems:bundler:1.12.3+" | |
gems "rubygems:rake:10.+" | |
} | |
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", "genRakefile", "genRakeCommand"]) { | |
script "rake" | |
} | |
task genRakeCommand { | |
ext.rakeCommand = file("rake") | |
inputs.file "build.gradle" | |
outputs.file rakeCommand | |
doLast { rakeCommand.write($/ | |
require "rake" | |
Rake.application.run | |
/$) | |
} | |
} | |
clean { delete "rake" } | |
task genRakefile { | |
ext.rakeFile = file("Rakefile") | |
inputs.file "build.gradle" | |
outputs.file rakeFile | |
doLast { rakeFile.write($/ | |
require "bundler/gem_tasks" | |
task default: "gemPushEmbulkJavaPlugin" | |
task "gemPushEmbulkJavaPlugin", [:remote] => ["release:guard_clean", | |
"release:source_control_push"] do | |
rubygem_push("pkg/" + "${project.name}-${project.version}.gem") if gem_push? | |
end | |
/$) | |
} | |
} | |
clean { delete "Rakefile" } | |
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 = ["Civitaspo"] | |
spec.summary = %[Test filter plugin for Embulk] | |
spec.description = %[Test] | |
spec.email = ["civitaspo@gmail.com"] | |
spec.licenses = ["MIT"] | |
# TODO set this: spec.homepage = "https://github.com/civitaspo/embulk-filter-test" | |
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" } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I have wanted to be the same behavior as https://github.com/bundler/bundler/blob/7c3d103932fe2b4c35a32b823722c3418130e7f1/lib/bundler/gem_helper.rb#L53-L69 ...