-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathbuild.gradle
102 lines (85 loc) · 2.81 KB
/
build.gradle
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
buildscript {
ext.java_version = "17"
}
plugins {
id 'idea'
id 'java'
id 'org.jetbrains.intellij' version '1.16.0'
}
group 'com.redhat.devtools.intellij'
version projectVersion
configurations {
compileOptions {
sourceCompatibility = java_version
targetCompatibility = java_version
}
}
repositories {
mavenCentral()
mavenLocal()
maven { url 'https://repository.jboss.org' }
}
def versionsMap = ['IU-2022.3':'223.7571.175', 'IU-2023.1':'231.8109.91', 'IU-2023.2':'232.8660.158', 'IU-2023.3':'233.11799.7', 'IU-2024.1':'241.14494.19']
intellij {
version = ideaVersion
pluginName = 'Knative by Red Hat'
plugins = ['terminal',
'yaml',
'org.jetbrains.plugins.github',
'com.intellij.kubernetes:' + versionsMap[ideaVersion],
'com.redhat.devtools.intellij.telemetry:1.1.0.52']
updateSinceUntilBuild = false
}
runIde {
systemProperties['com.redhat.devtools.intellij.telemetry.mode'] = 'debug'
}
runIdeForUiTests {
systemProperties['com.redhat.devtools.intellij.telemetry.mode'] = 'debug'
}
//with this option enabled, build will fail about IDEA expiration builds
buildSearchableOptions.enabled = false
dependencies {
implementation 'io.fabric8:knative-client:6.12.0'
implementation 'io.fabric8:openshift-client:6.12.0'
implementation 'com.redhat.devtools.intellij:intellij-common:1.9.5'
testImplementation 'org.mockito:mockito-inline:4.6.1'
// telemetry contributes annotations 13.0.0, so we need to declare newer version
implementation 'org.jetbrains:annotations:23.0.0'
testImplementation 'com.redhat.devtools.intellij:intellij-common:1.9.5:test'
}
configurations {
runtimeClasspath {
exclude group: 'org.slf4j', module: 'slf4j-api'
}
integrationTestImplementation.extendsFrom testImplementation
integrationTestRuntimeOnly.extendsFrom testRuntimeOnly
}
test {
// Discover and execute JUnit4-based tests
useJUnit()
jvmArgs "-Djava.awt.headless=true"
}
sourceSets {
integrationTest {
java.srcDir file('src/it/java')
resources.srcDir file('src/it/resources')
compileClasspath += sourceSets.main.output + sourceSets.test.output + configurations.testRuntimeClasspath
runtimeClasspath += output + compileClasspath
}
}
tasks.register('integrationTest', Test) {
description = 'Runs the integration tests.'
group = 'verification'
testClassesDirs = sourceSets.integrationTest.output.classesDirs
classpath = sourceSets.integrationTest.runtimeClasspath
outputs.upToDateWhen { false }
jvmArgs "-Djava.awt.headless=true"
}
tasks.withType(Copy).all { duplicatesStrategy 'exclude' }
runPluginVerifier {
ideVersions = [ideaVersion]
}
publishPlugin {
token = jetBrainsToken
channels = [jetBrainsChannel]
}