-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathbuild.gradle
More file actions
110 lines (92 loc) · 2.74 KB
/
build.gradle
File metadata and controls
110 lines (92 loc) · 2.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
plugins {
id 'com.gradleup.shadow' version '8.3.5'
id 'application'
id 'groovy'
id 'java'
}
repositories {
mavenLocal()
mavenCentral()
maven { url = "https://s3-eu-west-1.amazonaws.com/maven.seqera.io/releases" }
maven { url = "https://s3-eu-west-1.amazonaws.com/maven.seqera.io/snapshots" }
}
java {
toolchain {
languageVersion = JavaLanguageVersion.of(21)
}
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
compileJava {
options.release.set(17)
options.compilerArgs << '-parameters'
}
test {
useJUnitPlatform()
}
configurations {
nextflowRuntime
}
dependencies {
implementation 'io.nextflow:nf-lang:26.04.0'
implementation 'org.apache.groovy:groovy:4.0.31'
implementation 'org.apache.groovy:groovy-json:4.0.31'
implementation 'org.apache.groovy:groovy-yaml:4.0.31'
implementation 'org.eclipse.lsp4j:org.eclipse.lsp4j:0.23.0'
implementation 'org.eclipse.lsp4j:org.eclipse.lsp4j.jsonrpc:0.23.0'
// runtime dependencies for Nextflow scripts
runtimeOnly 'org.apache.groovy:groovy-templates:4.0.31'
runtimeOnly 'org.yaml:snakeyaml:2.2'
// include Nextflow runtime at build-time to extract language definitions
nextflowRuntime 'io.nextflow:nextflow:26.04.0'
nextflowRuntime 'io.nextflow:nf-amazon:3.9.0'
nextflowRuntime 'io.nextflow:nf-azure:1.22.2'
nextflowRuntime 'io.nextflow:nf-google:1.27.2'
nextflowRuntime 'io.nextflow:nf-k8s:1.5.2'
nextflowRuntime 'io.nextflow:nf-seqera:0.19.0'
nextflowRuntime 'io.nextflow:nf-tower:1.27.0'
nextflowRuntime 'io.nextflow:nf-wave:1.20.0'
testImplementation ('org.objenesis:objenesis:3.4')
testImplementation ('net.bytebuddy:byte-buddy:1.14.17')
testImplementation ('org.spockframework:spock-core:2.4-groovy-4.0') { exclude group: 'org.apache.groovy' }
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
}
sourceSets {
spec {
groovy.srcDir 'src/spec/groovy'
compileClasspath += configurations.nextflowRuntime
runtimeClasspath += configurations.nextflowRuntime
}
}
configurations {
specImplementation.extendsFrom(nextflowRuntime)
}
task buildSpec(type: JavaExec) {
description = 'Build spec file of core definitions'
group = 'build'
dependsOn compileSpecGroovy
classpath = sourceSets.spec.runtimeClasspath
mainClass.set('nextflow.SpecWriter')
args "$buildDir/generated/definitions.json"
outputs.file("$buildDir/generated/definitions.json")
outputs.cacheIf { true }
}
processResources {
dependsOn buildSpec
from(buildSpec.outputs.files) {
into 'spec'
}
}
jar {
dependsOn buildSpec
from("$buildDir/generated") {
include 'definitions.json'
into 'spec'
}
}
application {
mainClass = 'nextflow.lsp.NextflowLanguageServer'
}
shadowJar {
archiveVersion = ''
}