Skip to content

Commit 7b11214

Browse files
authored
Merge pull request #45 from nebula-plugins/support-FilePermissions-api
support new Gradle's FilePermissions API
2 parents d63a01b + 6c61491 commit 7b11214

File tree

3 files changed

+31
-5
lines changed

3 files changed

+31
-5
lines changed

src/main/groovy/nebula/plugin/clojuresque/tasks/ClojureCompile.groovy

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ import org.gradle.api.tasks.StopExecutionException
3131
import org.gradle.api.tasks.TaskAction
3232
import org.gradle.internal.execution.history.changes.InputChangesInternal
3333
import org.gradle.process.ExecOperations
34+
import org.gradle.util.GradleVersion
3435
import org.gradle.work.ChangeType
3536
import org.gradle.work.FileChange
3637
import org.gradle.work.InputChanges
@@ -143,8 +144,26 @@ abstract class ClojureCompile extends ClojureSourceTask {
143144

144145
if (aotCompile.isPresent() && !aotCompile.get()) {
145146
fileSystemOperations.copy {
146-
dirMode = this.dirMode
147-
fileMode = this.fileMode
147+
if(this.dirMode != null) {
148+
if(isOlderThanGradle8_3()) {
149+
dirMode = this.dirMode
150+
} else {
151+
dirPermissions {
152+
unix(this.dirMode)
153+
}
154+
}
155+
}
156+
157+
if(this.fileMode != null) {
158+
if(isOlderThanGradle8_3()) {
159+
fileMode = this.fileMode
160+
} else {
161+
filePermissions {
162+
unix(this.fileMode)
163+
}
164+
}
165+
}
166+
148167

149168
from(srcDirs) {
150169
include {
@@ -179,4 +198,8 @@ abstract class ClojureCompile extends ClojureSourceTask {
179198
it.delete()
180199
}
181200
}
201+
202+
private static final isOlderThanGradle8_3() {
203+
return GradleVersion.current().baseVersion < GradleVersion.version('8.3').baseVersion
204+
}
182205
}

src/main/groovy/nebula/plugin/utils/tasks/ConfigureUtil.groovy

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ package nebula.plugin.utils.tasks
66
* @author Meikel Brandmeyer
77
*/
88
class ConfigureUtil {
9+
10+
public static final int DELEGATE_FIRST = 1
11+
912
/**
1013
* Configures the <code>target</code> object. It sets it as the delegate
1114
* of the <code>configureFn</code> closure and calls the latter. Passes
@@ -19,7 +22,7 @@ class ConfigureUtil {
1922
static configure(Object target, Closure configureFn={}) {
2023
def fn = configureFn.clone()
2124

22-
fn.resolveStrategy = Closure.DELEGATE_FIRST
25+
fn.resolveStrategy = DELEGATE_FIRST
2326
fn.delegate = target
2427

2528
if (fn.maximumNumberOfParameters == 0)

src/test/groovy/nebula/plugin/clojure/TestFilteringSpec.groovy

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ class TestFilteringSpec extends BaseIntegrationTestKitSpec {
131131
def result = runTasks('test', '--tests', 'HelloWorldTest')
132132

133133
then:
134-
result.output.contains('nebula.HelloWorldTest > doesSomething PASSED')
134+
result.output.contains('HelloWorldTest > doesSomething PASSED')
135135
result.output.contains('> Task :clojureTest SKIPPED')
136136
}
137137

@@ -145,7 +145,7 @@ class TestFilteringSpec extends BaseIntegrationTestKitSpec {
145145
then:
146146
result.output.contains("Testing test.nebula.test1")
147147
result.output.contains("Testing test.nebula.test2")
148-
result.output.contains('nebula.HelloWorldTest > doesSomething PASSED')
148+
result.output.contains('HelloWorldTest > doesSomething PASSED')
149149
}
150150

151151
private void addJavaProjectSetup() {

0 commit comments

Comments
 (0)