Skip to content

Commit 38e32c1

Browse files
author
R. Tyler Croy
committed
Prepend the user's PATH with the right PATH for the gem configuration in JRubyExec
Fixes #68, #70
1 parent b00dea7 commit 38e32c1

File tree

1 file changed

+22
-12
lines changed

1 file changed

+22
-12
lines changed

src/main/groovy/com/github/jrubygradle/JRubyExec.groovy

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,9 @@ class JRubyExec extends JavaExec {
3030
}
3131

3232
proj.tasks.withType(JRubyExec) { t ->
33-
if(t.jrubyConfigurationName != proj.configurations.jrubyExec) {
34-
proj.dependencies.add(t.jrubyConfigurationName,"org.jruby:jruby-complete:${t.jrubyVersion}")
33+
if (t.jrubyConfigurationName != proj.configurations.jrubyExec) {
34+
proj.dependencies.add(t.jrubyConfigurationName,
35+
"org.jruby:jruby-complete:${t.jrubyVersion}")
3536
}
3637
}
3738
}
@@ -78,16 +79,18 @@ class JRubyExec extends JavaExec {
7879
script=fName
7980
break
8081
case String:
81-
script=new File(fName)
82+
script = new File(fName)
8283
break
8384
default:
84-
script=new File(fName.toString())
85+
script = new File(fName.toString())
8586
}
8687
}
8788

8889
/** Returns a list of script arguments
8990
*/
90-
List<String> scriptArgs() {CollectionUtils.stringize(this.scriptArgs)}
91+
List<String> scriptArgs() {
92+
CollectionUtils.stringize(this.scriptArgs)
93+
}
9194

9295
/** Set arguments for script
9396
*
@@ -99,7 +102,9 @@ class JRubyExec extends JavaExec {
99102

100103
/** Returns a list of jruby arguments
101104
*/
102-
List<String> jrubyArgs() {CollectionUtils.stringize(this.jrubyArgs)}
105+
List<String> jrubyArgs() {
106+
CollectionUtils.stringize(this.jrubyArgs)
107+
}
103108

104109
/** Set arguments for jruby
105110
*
@@ -117,7 +122,7 @@ class JRubyExec extends JavaExec {
117122
* @param version String in the form '1.7.13'
118123
*/
119124
void setJrubyVersion(final String version) {
120-
if(version == project.jruby.execVersion) {
125+
if (version == project.jruby.execVersion) {
121126
jrubyConfigurationName = JRUBYEXEC_CONFIG
122127
} else {
123128
final String cfgName= 'jrubyExec$$' + name
@@ -129,17 +134,22 @@ class JRubyExec extends JavaExec {
129134

130135
@Override
131136
void exec() {
132-
if(configuration == null && jrubyConfigurationName == JRUBYEXEC_CONFIG) {
137+
if (configuration == null && jrubyConfigurationName == JRUBYEXEC_CONFIG) {
133138
configuration = JRUBYEXEC_CONFIG
134139
}
135140

136141
GemUtils.OverwriteAction overwrite = project.gradle.startParameter.refreshDependencies ? GemUtils.OverwriteAction.OVERWRITE : GemUtils.OverwriteAction.SKIP
137142
def jrubyCompletePath = project.configurations.getByName(jrubyConfigurationName)
138143
File gemDir = tmpGemDir()
144+
File path = new File([project.buildDir,
145+
'tmp',
146+
configuration,
147+
'bin'].join(File.separator))
139148
gemDir.mkdirs()
140-
environment 'GEM_HOME' : gemDir
149+
environment 'GEM_HOME' : gemDir,
150+
'PATH' : path.absolutePath + File.pathSeparatorChar + environment.PATH
141151

142-
if(configuration != null) {
152+
if (configuration != null) {
143153
GemUtils.extractGems(
144154
project,
145155
jrubyCompletePath,
@@ -174,7 +184,7 @@ class JRubyExec extends JavaExec {
174184

175185
@Override
176186
JavaExec setMain(final String mainClassName) {
177-
if(mainClassName == 'org.jruby.Main') {
187+
if (mainClassName == 'org.jruby.Main') {
178188
super.setMain(mainClassName)
179189
} else {
180190
throw notAllowed("Setting main class for jruby to ${mainClassName} is not a valid operation")
@@ -208,7 +218,7 @@ class JRubyExec extends JavaExec {
208218

209219
private File tmpGemDir() {
210220
String ext = FileUtils.toSafeFileName(jrubyConfigurationName)
211-
if(configuration && configuration!=jrubyConfigurationName) {
221+
if (configuration && configuration != jrubyConfigurationName) {
212222
ext= ext + "-${FileUtils.toSafeFileName(configuration)}"
213223
}
214224
new File( project.buildDir, "tmp/${ext}").absoluteFile

0 commit comments

Comments
 (0)