-
-
Notifications
You must be signed in to change notification settings - Fork 43
/
Copy pathbuild.gradle
102 lines (83 loc) · 2.47 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
import org.jetbrains.grammarkit.tasks.*
plugins {
id 'org.jetbrains.intellij' version "0.7.3"
id "org.jetbrains.grammarkit" version "2021.1.3"
}
sourceSets {
main {
java {
srcDirs += ["src/main/gen"]
}
}
}
Properties properties = new Properties()
properties.load(project.rootProject.file("local.properties").newDataInputStream())
sourceCompatibility = 1.8
targetCompatibility = 1.8
version '0.5.4'
group 'NEON support'
jar {
archiveName 'intellij-neon-' + version + '.jar'
from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
}
runIde {
ideDirectory "${properties.getProperty('runIdeDirectory')}"
}
def htmlFixer = { htmlFile -> file(htmlFile).text.replace('<html>', '').replace('</html>', '') }
patchPluginXml {
changeNotes = htmlFixer('src/main/resources/META-INF/change-notes.html')
}
apply plugin: 'org.jetbrains.intellij'
intellij {
version ideaVersion
updateSinceUntilBuild false
plugins = [
"com.jetbrains.php:${phpPluginVersion}",
'java',
'properties'
]
pluginName 'Neon'
}
repositories {
mavenCentral()
maven { url = 'https://mvnrepository.com/artifact/org.hamcrest/hamcrest-core' }
flatDir {
dirs 'libs'
}
}
dependencies {
compileOnly 'org.hamcrest:hamcrest-core:1.3'
testCompile 'junit:junit:4.13'
}
apply plugin: 'org.jetbrains.grammarkit'
grammarKit {
jflexRelease = '1.7.0-1'
grammarKitRelease = '6452fde524'
}
/*
task generateNeonParser(type: GenerateParser) {
source = "src/main/java/cz/juzna/intellij/neon/parser/NeonParser.bnf"
targetRoot = "src/main/gen"
pathToParser = '/cz/juzna/intellij/neon/parser/NeonParser.java'
pathToPsiRoot = '/cz/juzna/intellij/neon/psi'
purgeOldFiles = true
}
task generateNeonLexer(type: GenerateLexer) {
source = "src/main/java/cz/juzna/intellij/neon/parser/_NeonLexer.flex"
targetDir = "src/main/gen/cz/juzna/intellij/neon/parser/"
targetClass = "_NeonLexer"
purgeOldFiles = true
}*/
task generateNeonContentLexer(type: GenerateLexer) {
source = "src/main/java/cz/juzna/intellij/neon/lexer/neon.flex"
targetDir = "src/main/gen/cz/juzna/intellij/neon/lexer/"
targetClass = "NeonLexer"
purgeOldFiles = true
}
task generateFlexFiles {
println('Generating Classes (Lexer)')
//dependsOn(generateNeonParser)
//dependsOn(generateNeonLexer)
dependsOn(generateNeonContentLexer)
}
compileJava.dependsOn(generateFlexFiles)