generated from ThalesGroup/template-project
-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathbuild.gradle
109 lines (91 loc) · 2.9 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
103
104
105
106
107
108
109
buildscript {
repositories {
mavenCentral()
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath 'org.xtext:xtext-gradle-plugin:4.0.0'
classpath 'com.github.node-gradle:gradle-node-plugin:7.1.0'
}
}
apply plugin: 'com.github.node-gradle.node'
// Configuration for Xtext projects
configure(subprojects.findAll { it.name.contains('org.eclipse.xsmp') }) {
ext.xtextVersion = '2.34.0'
repositories {
mavenCentral()
}
apply plugin: 'java-library'
dependencies {
api platform("org.eclipse.xtext:xtext-dev-bom:${xtextVersion}")
}
apply plugin: 'org.xtext.xtend'
apply from: "${rootDir}/gradle/source-layout.gradle"
apply plugin: 'eclipse'
//apply plugin: 'idea'
group = 'org.eclipse.xsmp'
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
configurations.all {
exclude group: 'asm'
}
}
task npmInstallVsce(type: NpmTask, dependsOn: npmSetup) {
ext.destPath = "$rootProject.projectDir/node_modules/@vscode/vsce"
outputs.dir(destPath)
group 'Node'
description 'Installs the NodeJS package "Visual Studio Code Extension Manager"'
args = [ 'install', '@vscode/vsce' ]
}
// Configuration for vscode projects
configure(subprojects.findAll { it.name.equals('vscode-extension') }) {
apply plugin: 'com.github.node-gradle.node'
def inputFiles = fileTree(
dir: projectDir,
excludes: [ 'out/**', '.gitignore', '.gradle/**', 'build/**', '*.gradle' ]
)
npmInstall {
inputs.files(inputFiles)
outputs.dir('out')
}
task vscodeExtension(dependsOn: [npmInstall, npmInstallVsce], type: NodeTask) {
ext.destDir = new File(buildDir, 'vscode')
ext.archiveName = "xsmp-modeler-${version}.vsix"
ext.destPath = "$destDir/$archiveName"
inputs.with {
files inputFiles
dir npmInstallVsce.destPath
}
outputs.dir destDir
doFirst {
destDir.mkdirs()
}
script = file("$npmInstallVsce.destPath/vsce")
args = [ 'package', '--out', destPath ]
execOverrides {
workingDir = projectDir
}
}
task clean {
doLast {
delete vscodeExtension.destDir
delete 'out' // output of npmInstall - don't want to delete node_modules
}
}
task updateVersion(type: NpmTask, dependsOn: npmSetup) {
group 'Node'
description 'Update VS Code extension version'
args = [ 'version', "${version}", '--allow-same-version' ]
}
}
/*
release {
tagTemplate = 'v${version}'
preTagCommitMessage = '[release] pre tag commit: '
tagCommitMessage = '[release] creating tag: '
newVersionCommitMessage = '[release] new version commit: '
failOnSnapshotDependencies = false
}
*/