Skip to content

Commit e8c6493

Browse files
committed
Initial v2 commit
- Moved to Gradle project setup and build - Updated plugin.xml as prep to adding GrammarKit based parser - Added dependency on graphql-java which will be used instead of Node.js based language service
1 parent 447edc6 commit e8c6493

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+1704
-1725
lines changed

.gitignore

+5-6
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,8 @@ $RECYCLE.BIN/
6666

6767
# Windows shortcuts
6868
*.lnk
69-
.idea/dictionaries/*
70-
.idea/workspace.xml
71-
.idea/uiDesigner.xml
72-
.idea/vcs.xml
73-
.idea/pure-run-config-templates.xml
74-
resources/META-INF/dist/
69+
.idea
70+
resources/META-INF/dist/
71+
72+
.gradle
73+
build

.idea/.name

-1
This file was deleted.

.idea/compiler.xml

+4-17
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/copyright/profiles_settings.xml

-3
This file was deleted.

.idea/encodings.xml

-6
This file was deleted.

.idea/libraries/commons_io_2_5.xml

-9
This file was deleted.

.idea/misc.xml

+2-15
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/modules.xml

+2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

build.gradle

+116
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
buildscript {
2+
repositories {
3+
maven { url 'https://jitpack.io'}
4+
}
5+
dependencies{
6+
classpath "com.github.JetBrains:gradle-grammar-kit-plugin:2018.1.2"
7+
}
8+
}
9+
10+
plugins {
11+
id 'org.jetbrains.intellij' version '0.3.4'
12+
}
13+
14+
group 'com.intellij.lang.jsgraphql'
15+
version '2.0-SNAPSHOT'
16+
17+
apply plugin: 'java'
18+
19+
sourceCompatibility = 1.8
20+
21+
repositories {
22+
mavenCentral()
23+
}
24+
25+
dependencies {
26+
compile "com.graphql-java:graphql-java:9.0"
27+
compile "commons-io:commons-io:2.6"
28+
//compile project(':com.graphql-java:graphql-java')
29+
testCompile group: 'junit', name: 'junit', version: '4.12'
30+
}
31+
32+
intellij {
33+
version '2017.3.5'
34+
type 'IU'
35+
updateSinceUntilBuild = false
36+
pluginName 'JS GraphQL 2'
37+
plugins = ['JavaScriptLanguage', 'CSS']
38+
}
39+
patchPluginXml {
40+
changeNotes """
41+
Add change notes here.<br>
42+
<em>most HTML tags may be used</em>"""
43+
}
44+
45+
sourceSets {
46+
47+
main.java.srcDirs = ['src/main', 'gen']
48+
main.resources.srcDir 'resources'
49+
50+
test.java.srcDirs = ['src/test']
51+
test.resources.srcDir 'test-resources'
52+
53+
}
54+
55+
apply plugin: 'org.jetbrains.grammarkit'
56+
57+
// import is optional to make task creation easier
58+
import org.jetbrains.grammarkit.tasks.*
59+
60+
// GraphQL Parser and Lexer
61+
task generateGraphQLLexer(type: GenerateLexer) {
62+
source 'src/grammars/GraphQLLexer.flex'
63+
targetDir 'gen/com/intellij/lang/jsgraphql/'
64+
targetClass 'GraphQLLexer'
65+
purgeOldFiles = true
66+
}
67+
68+
task generateGraphQLParser(type: GenerateParser) {
69+
source "src/grammars/GraphQLParser.bnf"
70+
targetRoot = 'gen/'
71+
purgeOldFiles = true
72+
pathToParser = 'com/intellij/lang/jsgraphql/GraphQLParser'
73+
pathToPsiRoot = 'com/intellij/lang/jsgraphql/psi'
74+
}
75+
76+
// GraphQL Endpoint Parser and Lexer
77+
task generateGraphQLEndpointLexer(type: GenerateLexer) {
78+
source 'src/grammars/JSGraphQLEndpointLexer.flex'
79+
targetDir 'gen/com/intellij/lang/jsgraphql/endpoint/lexer/'
80+
targetClass 'JSGraphQLEndpointLexer'
81+
purgeOldFiles = true
82+
}
83+
84+
task generateGraphQLEndpointParser(type: GenerateParser) {
85+
source "src/grammars/JSGraphQLEndpointParser.bnf"
86+
targetRoot = 'gen/'
87+
purgeOldFiles = true
88+
pathToParser = 'com/intellij/lang/jsgraphql/endpoint/parser/JSGraphQLEndpointParser'
89+
pathToPsiRoot = 'com/intellij/lang/jsgraphql/endpoint/psi'
90+
}
91+
92+
93+
// GraphQL Endpoint Doc Parser and Lexer
94+
task generateGraphQLEndpointDocLexer(type: GenerateLexer) {
95+
source 'src/grammars/JSGraphQLEndpointDocLexer.flex'
96+
targetDir 'gen/com/intellij/lang/jsgraphql/endpoint/doc/lexer/'
97+
targetClass 'GraphQLLexer'
98+
purgeOldFiles = true
99+
}
100+
101+
task generateGraphQLEndpointDocParser(type: GenerateParser) {
102+
source "src/grammars/JSGraphQLEndpointDocParser.bnf"
103+
targetRoot = 'gen/'
104+
purgeOldFiles = true
105+
pathToParser = 'com/intellij/lang/jsgraphql/endpoint/doc/JSGraphQLEndpointDocParser'
106+
pathToPsiRoot = 'com/intellij/lang/jsgraphql/endpoint/doc/psi'
107+
}
108+
109+
compileJava {
110+
dependsOn generateGraphQLEndpointLexer
111+
dependsOn generateGraphQLEndpointParser
112+
dependsOn generateGraphQLEndpointDocLexer
113+
dependsOn generateGraphQLEndpointDocParser
114+
//dependsOn generateGraphQLLexer
115+
//dependsOn generateGraphQLParser
116+
}

gen/com/intellij/lang/jsgraphql/endpoint/doc/lexer/JSGraphQLEndpointDocLexer.java

+11-7
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)