35 lines
1015 B
Groovy
35 lines
1015 B
Groovy
|
package com.github.jrubygradle.rspec
|
||
|
|
||
|
import com.github.jrubygradle.JRubyPlugin
|
||
|
import groovy.transform.PackageScope
|
||
|
import org.gradle.api.Plugin
|
||
|
import org.gradle.api.Project
|
||
|
import org.gradle.api.Task
|
||
|
|
||
|
/**
|
||
|
* @author Christian Meier
|
||
|
*/
|
||
|
class JRubyRSpecPlugin implements Plugin<Project> {
|
||
|
|
||
|
void apply(Project project) {
|
||
|
|
||
|
project.apply plugin : 'com.github.jruby-gradle.base'
|
||
|
project.apply plugin : 'java-base'
|
||
|
project.configurations.maybeCreate('rspec')
|
||
|
project.tasks.create( 'rspec', RSpec)
|
||
|
|
||
|
addAfterEvaluateHooks(project)
|
||
|
}
|
||
|
|
||
|
@PackageScope
|
||
|
void addAfterEvaluateHooks(Project project) {
|
||
|
project.afterEvaluate {
|
||
|
project.tasks.withType(RSpec) { Task task ->
|
||
|
project.configurations.maybeCreate(task.name)
|
||
|
project.dependencies.add(task.name, "org.jruby:jruby-complete:${task.jrubyVersion}")
|
||
|
project.dependencies.add(task.name, "rubygems:rspec:${task.version}")
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|