Added support for Gradle (#3443)
Co-authored-by: badido18 <hm_boudis@esi.dz>
This commit is contained in:
parent
ca8eaeeec4
commit
3211982327
File diff suppressed because one or more lines are too long
|
@ -544,6 +544,11 @@
|
|||
"alias": "go-mod",
|
||||
"owner": "RunDevelopment"
|
||||
},
|
||||
"gradle": {
|
||||
"title": "Gradle",
|
||||
"require": "clike",
|
||||
"owner": "zeabdelkhalek-badido18"
|
||||
},
|
||||
"graphql": {
|
||||
"title": "GraphQL",
|
||||
"optional": "markdown",
|
||||
|
|
|
@ -0,0 +1,63 @@
|
|||
(function (Prism) {
|
||||
var interpolation = {
|
||||
pattern: /((?:^|[^\\$])(?:\\{2})*)\$(?:\w+|\{[^{}]*\})/,
|
||||
lookbehind: true,
|
||||
inside: {
|
||||
'interpolation-punctuation': {
|
||||
pattern: /^\$\{?|\}$/,
|
||||
alias: 'punctuation',
|
||||
},
|
||||
'expression': {
|
||||
pattern: /[\s\S]+/,
|
||||
inside: null,
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
Prism.languages.gradle = Prism.languages.extend('clike', {
|
||||
'string': {
|
||||
pattern: /'''(?:[^\\]|\\[\s\S])*?'''|'(?:\\.|[^\\'\r\n])*'/,
|
||||
greedy: true,
|
||||
},
|
||||
'keyword':
|
||||
/\b(?:apply|def|dependencies|else|if|implementation|import|plugin|plugins|project|repositories|repository|sourceSets|tasks|val)\b/,
|
||||
'number': /\b(?:0b[01_]+|0x[\da-f_]+(?:\.[\da-f_p\-]+)?|[\d_]+(?:\.[\d_]+)?(?:e[+-]?\d+)?)[glidf]?\b/i,
|
||||
'operator': {
|
||||
pattern:
|
||||
/(^|[^.])(?:~|==?~?|\?[.:]?|\*(?:[.=]|\*=?)?|\.[@&]|\.\.<|\.\.(?!\.)|-[-=>]?|\+[+=]?|!=?|<(?:<=?|=>?)?|>(?:>>?=?|=)?|&[&=]?|\|[|=]?|\/=?|\^=?|%=?)/,
|
||||
lookbehind: true,
|
||||
},
|
||||
'punctuation': /\.+|[{}[\];(),:$]/,
|
||||
});
|
||||
|
||||
Prism.languages.insertBefore('gradle', 'string', {
|
||||
'shebang': {
|
||||
pattern: /#!.+/,
|
||||
alias: 'comment',
|
||||
greedy: true,
|
||||
},
|
||||
'interpolation-string': {
|
||||
pattern:
|
||||
/"""(?:[^\\]|\\[\s\S])*?"""|(["/])(?:\\.|(?!\1)[^\\\r\n])*\1|\$\/(?:[^/$]|\$(?:[/$]|(?![/$]))|\/(?!\$))*\/\$/,
|
||||
greedy: true,
|
||||
inside: {
|
||||
'interpolation': interpolation,
|
||||
'string': /[\s\S]+/,
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
Prism.languages.insertBefore('gradle', 'punctuation', {
|
||||
'spock-block': /\b(?:and|cleanup|expect|given|setup|then|when|where):/,
|
||||
});
|
||||
|
||||
Prism.languages.insertBefore('gradle', 'function', {
|
||||
'annotation': {
|
||||
pattern: /(^|[^.])@\w+/,
|
||||
lookbehind: true,
|
||||
alias: 'punctuation',
|
||||
},
|
||||
});
|
||||
|
||||
interpolation.inside.expression.inside = Prism.languages.gradle;
|
||||
}(Prism));
|
|
@ -0,0 +1 @@
|
|||
!function(e){var n={pattern:/((?:^|[^\\$])(?:\\{2})*)\$(?:\w+|\{[^{}]*\})/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:null}}};e.languages.gradle=e.languages.extend("clike",{string:{pattern:/'''(?:[^\\]|\\[\s\S])*?'''|'(?:\\.|[^\\'\r\n])*'/,greedy:!0},keyword:/\b(?:apply|def|dependencies|else|if|implementation|import|plugin|plugins|project|repositories|repository|sourceSets|tasks|val)\b/,number:/\b(?:0b[01_]+|0x[\da-f_]+(?:\.[\da-f_p\-]+)?|[\d_]+(?:\.[\d_]+)?(?:e[+-]?\d+)?)[glidf]?\b/i,operator:{pattern:/(^|[^.])(?:~|==?~?|\?[.:]?|\*(?:[.=]|\*=?)?|\.[@&]|\.\.<|\.\.(?!\.)|-[-=>]?|\+[+=]?|!=?|<(?:<=?|=>?)?|>(?:>>?=?|=)?|&[&=]?|\|[|=]?|\/=?|\^=?|%=?)/,lookbehind:!0},punctuation:/\.+|[{}[\];(),:$]/}),e.languages.insertBefore("gradle","string",{shebang:{pattern:/#!.+/,alias:"comment",greedy:!0},"interpolation-string":{pattern:/"""(?:[^\\]|\\[\s\S])*?"""|(["/])(?:\\.|(?!\1)[^\\\r\n])*\1|\$\/(?:[^/$]|\$(?:[/$]|(?![/$]))|\/(?!\$))*\/\$/,greedy:!0,inside:{interpolation:n,string:/[\s\S]+/}}}),e.languages.insertBefore("gradle","punctuation",{"spock-block":/\b(?:and|cleanup|expect|given|setup|then|when|where):/}),e.languages.insertBefore("gradle","function",{annotation:{pattern:/(^|[^.])@\w+/,lookbehind:!0,alias:"punctuation"}}),n.inside.expression.inside=e.languages.gradle}(Prism);
|
|
@ -0,0 +1,54 @@
|
|||
<h2>Full example</h2>
|
||||
<pre><code>apply plugin: "java"
|
||||
apply plugin: "eclipse"
|
||||
apply plugin: "idea"
|
||||
|
||||
group = "com.mycompany.hadoopproject"
|
||||
version = "1.0"
|
||||
|
||||
repositories {
|
||||
// Standard Maven
|
||||
mavenCentral()
|
||||
maven {
|
||||
url "https://repository.cloudera.com/artifactory/cloudera-repos/"
|
||||
}
|
||||
}
|
||||
|
||||
// Mimic Maven 'provided' configuration, as suggested in GRADLE-784
|
||||
configurations {
|
||||
provided
|
||||
}
|
||||
sourceSets {
|
||||
main {
|
||||
compileClasspath += configurations.provided
|
||||
}
|
||||
}
|
||||
|
||||
ext.hadoopVersion = "2.0.0-mr1-cdh4.0.1"
|
||||
dependencies {
|
||||
provided "org.apache.hadoop:hadoop-client:${hadoopVersion}"
|
||||
|
||||
// Example of adding a specific compile time dependency
|
||||
compile "com.google.guava:guava:11.0.2"
|
||||
|
||||
testCompile "junit:junit:4.8.2"
|
||||
}
|
||||
|
||||
// Java version selection
|
||||
sourceCompatibility = 1.6
|
||||
targetCompatibility = 1.6
|
||||
|
||||
eclipse {
|
||||
classpath {
|
||||
// Ensure Eclipse build output appears in build directory
|
||||
defaultOutputDir = file("${buildDir}/eclipse-classes")
|
||||
// Ensure the provided configuration jars are available in Eclipse
|
||||
plusConfigurations += configurations.provided
|
||||
}
|
||||
}
|
||||
|
||||
// Emulate Maven shade plugin with a fat jar.
|
||||
// http://docs.codehaus.org/display/GRADLE/Cookbook#Cookbook-Creatingafatjar
|
||||
jar {
|
||||
from configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
|
||||
}</code></pre>
|
|
@ -58,6 +58,7 @@
|
|||
"gml": "clike",
|
||||
"glsl": "c",
|
||||
"go": "clike",
|
||||
"gradle": "clike",
|
||||
"groovy": "clike",
|
||||
"haml": "ruby",
|
||||
"handlebars": "markup-templating",
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,17 @@
|
|||
@BaseScript MyBaseClass baseScript
|
||||
@DelegatesTo(EmailSpec)
|
||||
|
||||
----------------------------------------------------
|
||||
|
||||
[
|
||||
["annotation", "@BaseScript"],
|
||||
" MyBaseClass baseScript\r\n",
|
||||
["annotation", "@DelegatesTo"],
|
||||
["punctuation", "("],
|
||||
"EmailSpec",
|
||||
["punctuation", ")"]
|
||||
]
|
||||
|
||||
----------------------------------------------------
|
||||
|
||||
Checks for annotations.
|
|
@ -0,0 +1,30 @@
|
|||
implementation
|
||||
val tasks dependencies project plugin plugins
|
||||
repository repositories apply def sourceSets import
|
||||
if else
|
||||
----------------------------------------------------
|
||||
|
||||
[
|
||||
["keyword", "implementation"],
|
||||
|
||||
["keyword", "val"],
|
||||
["keyword", "tasks"],
|
||||
["keyword", "dependencies"],
|
||||
["keyword", "project"],
|
||||
["keyword", "plugin"],
|
||||
["keyword", "plugins"],
|
||||
|
||||
["keyword", "repository"],
|
||||
["keyword", "repositories"],
|
||||
["keyword", "apply"],
|
||||
["keyword", "def"],
|
||||
["keyword", "sourceSets"],
|
||||
["keyword", "import"],
|
||||
|
||||
["keyword", "if"],
|
||||
["keyword", "else"]
|
||||
]
|
||||
|
||||
----------------------------------------------------
|
||||
|
||||
Checks for all keywords.
|
|
@ -0,0 +1,43 @@
|
|||
0b0110
|
||||
0b0110_1111_0000
|
||||
0b01G 0b01L 0b01I
|
||||
0b01D 0b01F
|
||||
|
||||
0xBABE
|
||||
0xBad_Face
|
||||
0x1.8p1
|
||||
0xa.fp-2
|
||||
|
||||
42_000
|
||||
3.14_15_9
|
||||
1.2e3
|
||||
3E+1
|
||||
4E-2
|
||||
42g 42l 42i
|
||||
42d 42f
|
||||
|
||||
----------------------------------------------------
|
||||
|
||||
[
|
||||
["number", "0b0110"],
|
||||
["number", "0b0110_1111_0000"],
|
||||
["number", "0b01G"], ["number", "0b01L"], ["number", "0b01I"],
|
||||
["number", "0b01D"], ["number", "0b01F"],
|
||||
|
||||
["number", "0xBABE"],
|
||||
["number", "0xBad_Face"],
|
||||
["number", "0x1.8p1"],
|
||||
["number", "0xa.fp-2"],
|
||||
|
||||
["number", "42_000"],
|
||||
["number", "3.14_15_9"],
|
||||
["number", "1.2e3"],
|
||||
["number", "3E+1"],
|
||||
["number", "4E-2"],
|
||||
["number", "42g"], ["number", "42l"], ["number", "42i"],
|
||||
["number", "42d"], ["number", "42f"]
|
||||
]
|
||||
|
||||
----------------------------------------------------
|
||||
|
||||
Checks for binary, hexadecimal and decimal numbers.
|
|
@ -0,0 +1,45 @@
|
|||
~
|
||||
= == =~ ==~
|
||||
? ?. ?:
|
||||
* ** *. *= **=
|
||||
.@ .&
|
||||
5..8
|
||||
5..<8
|
||||
- -- -= ->
|
||||
+ ++ +=
|
||||
! !=
|
||||
< << <<= <= <=>
|
||||
> >> >>> >>= >>>= >=
|
||||
& && &=
|
||||
| || |=
|
||||
/
|
||||
/=
|
||||
^ ^=
|
||||
% %=
|
||||
|
||||
----------------------------------------------------
|
||||
|
||||
[
|
||||
["operator", "~"],
|
||||
["operator", "="], ["operator", "=="], ["operator", "=~"], ["operator", "==~"],
|
||||
["operator", "?"], ["operator", "?."], ["operator", "?:"],
|
||||
["operator", "*"], ["operator", "**"], ["operator", "*."], ["operator", "*="], ["operator", "**="],
|
||||
["operator", ".@"], ["operator", ".&"],
|
||||
["number", "5"], ["operator", ".."], ["number", "8"],
|
||||
["number", "5"], ["operator", "..<"], ["number", "8"],
|
||||
["operator", "-"], ["operator", "--"], ["operator", "-="], ["operator", "->"],
|
||||
["operator", "+"], ["operator", "++"], ["operator", "+="],
|
||||
["operator", "!"], ["operator", "!="],
|
||||
["operator", "<"], ["operator", "<<"], ["operator", "<<="], ["operator", "<="], ["operator", "<=>"],
|
||||
["operator", ">"], ["operator", ">>"], ["operator", ">>>"], ["operator", ">>="], ["operator", ">>>="], ["operator", ">="],
|
||||
["operator", "&"], ["operator", "&&"], ["operator", "&="],
|
||||
["operator", "|"], ["operator", "||"], ["operator", "|="],
|
||||
["operator", "/"],
|
||||
["operator", "/="],
|
||||
["operator", "^"], ["operator", "^="],
|
||||
["operator", "%"], ["operator", "%="]
|
||||
]
|
||||
|
||||
----------------------------------------------------
|
||||
|
||||
Checks for all operators.
|
|
@ -0,0 +1,13 @@
|
|||
#!foobar
|
||||
#!/usr/bin/env groovy
|
||||
|
||||
----------------------------------------------------
|
||||
|
||||
[
|
||||
["shebang", "#!foobar"],
|
||||
["shebang", "#!/usr/bin/env groovy"]
|
||||
]
|
||||
|
||||
----------------------------------------------------
|
||||
|
||||
Check for shebang comments.
|
|
@ -0,0 +1,25 @@
|
|||
setup:
|
||||
given:
|
||||
when:
|
||||
then:
|
||||
and:
|
||||
cleanup:
|
||||
expect:
|
||||
where:
|
||||
|
||||
----------------------------------------------------
|
||||
|
||||
[
|
||||
["spock-block", "setup:"],
|
||||
["spock-block", "given:"],
|
||||
["spock-block", "when:"],
|
||||
["spock-block", "then:"],
|
||||
["spock-block", "and:"],
|
||||
["spock-block", "cleanup:"],
|
||||
["spock-block", "expect:"],
|
||||
["spock-block", "where:"]
|
||||
]
|
||||
|
||||
----------------------------------------------------
|
||||
|
||||
Checks for all spock blocks.
|
|
@ -0,0 +1,129 @@
|
|||
// Double quoted: interpolation
|
||||
"$foo"
|
||||
"${42}"
|
||||
|
||||
// Triple double quoted: interpolation
|
||||
"""$foo"""
|
||||
"""${42}"""
|
||||
|
||||
// Slashy string: interpolation
|
||||
/$foo/
|
||||
/${42}/
|
||||
|
||||
// Dollar slashy string: interpolation
|
||||
$/$foo/$
|
||||
$/${42}/$
|
||||
|
||||
// Double quoted: no interpolation (escaped)
|
||||
"\$foo \${42}"
|
||||
|
||||
// Triple double quoted: no interpolation (escaped)
|
||||
"""\$foo \${42}"""
|
||||
|
||||
// Slashy string: no interpolation (escaped)
|
||||
/\$foo \${42}/
|
||||
|
||||
// Dollar slashy string: no interpolation (escaped)
|
||||
$/$$foo $${42}/$
|
||||
|
||||
// Single quoted string: no interpolation
|
||||
'$foo ${42}'
|
||||
|
||||
// Triple single quoted string: no interpolation
|
||||
'''$foo ${42}'''
|
||||
|
||||
----------------------------------------------------
|
||||
|
||||
<span class="token comment">// Double quoted: interpolation</span>
|
||||
<span class="token interpolation-string">
|
||||
<span class="token string">"</span>
|
||||
<span class="token interpolation">
|
||||
<span class="token interpolation-punctuation punctuation">$</span>
|
||||
<span class="token expression">foo</span>
|
||||
</span>
|
||||
<span class="token string">"</span>
|
||||
</span>
|
||||
<span class="token interpolation-string">
|
||||
<span class="token string">"</span>
|
||||
<span class="token interpolation">
|
||||
<span class="token interpolation-punctuation punctuation">${</span>
|
||||
<span class="token expression"><span class="token number">42</span></span>
|
||||
<span class="token interpolation-punctuation punctuation">}</span>
|
||||
</span>
|
||||
<span class="token string">"</span>
|
||||
</span>
|
||||
|
||||
<span class="token comment">// Triple double quoted: interpolation</span>
|
||||
<span class="token interpolation-string">
|
||||
<span class="token string">"""</span>
|
||||
<span class="token interpolation">
|
||||
<span class="token interpolation-punctuation punctuation">$</span>
|
||||
<span class="token expression">foo</span>
|
||||
</span>
|
||||
<span class="token string">"""</span>
|
||||
</span>
|
||||
<span class="token interpolation-string">
|
||||
<span class="token string">"""</span>
|
||||
<span class="token interpolation">
|
||||
<span class="token interpolation-punctuation punctuation">${</span>
|
||||
<span class="token expression"><span class="token number">42</span></span>
|
||||
<span class="token interpolation-punctuation punctuation">}</span>
|
||||
</span>
|
||||
<span class="token string">"""</span>
|
||||
</span>
|
||||
|
||||
<span class="token comment">// Slashy string: interpolation</span>
|
||||
<span class="token interpolation-string">
|
||||
<span class="token string">/</span>
|
||||
<span class="token interpolation">
|
||||
<span class="token interpolation-punctuation punctuation">$</span>
|
||||
<span class="token expression">foo</span>
|
||||
</span>
|
||||
<span class="token string">/</span>
|
||||
</span>
|
||||
<span class="token interpolation-string">
|
||||
<span class="token string">/</span>
|
||||
<span class="token interpolation">
|
||||
<span class="token interpolation-punctuation punctuation">${</span>
|
||||
<span class="token expression"><span class="token number">42</span></span>
|
||||
<span class="token interpolation-punctuation punctuation">}</span>
|
||||
</span>
|
||||
<span class="token string">/</span>
|
||||
</span>
|
||||
|
||||
<span class="token comment">// Dollar slashy string: interpolation</span>
|
||||
<span class="token interpolation-string">
|
||||
<span class="token string">$/</span>
|
||||
<span class="token interpolation">
|
||||
<span class="token interpolation-punctuation punctuation">$</span>
|
||||
<span class="token expression">foo</span>
|
||||
</span>
|
||||
<span class="token string">/$</span>
|
||||
</span>
|
||||
<span class="token interpolation-string">
|
||||
<span class="token string">$/</span>
|
||||
<span class="token interpolation">
|
||||
<span class="token interpolation-punctuation punctuation">${</span>
|
||||
<span class="token expression"><span class="token number">42</span></span>
|
||||
<span class="token interpolation-punctuation punctuation">}</span>
|
||||
</span>
|
||||
<span class="token string">/$</span>
|
||||
</span>
|
||||
|
||||
<span class="token comment">// Double quoted: no interpolation (escaped)</span>
|
||||
<span class="token interpolation-string"><span class="token string">"\$foo \${42}"</span></span>
|
||||
|
||||
<span class="token comment">// Triple double quoted: no interpolation (escaped)</span>
|
||||
<span class="token interpolation-string"><span class="token string">"""\$foo \${42}"""</span></span>
|
||||
|
||||
<span class="token comment">// Slashy string: no interpolation (escaped)</span>
|
||||
<span class="token interpolation-string"><span class="token string">/\$foo \${42}/</span></span>
|
||||
|
||||
<span class="token comment">// Dollar slashy string: no interpolation (escaped)</span>
|
||||
<span class="token interpolation-string"><span class="token string">$/$$foo $${42}/$</span></span>
|
||||
|
||||
<span class="token comment">// Single quoted string: no interpolation</span>
|
||||
<span class="token string">'$foo ${42}'</span>
|
||||
|
||||
<span class="token comment">// Triple single quoted string: no interpolation</span>
|
||||
<span class="token string">'''$foo ${42}'''</span>
|
|
@ -0,0 +1,94 @@
|
|||
""""""
|
||||
"""foo"""
|
||||
"""foo
|
||||
bar"""
|
||||
|
||||
''''''
|
||||
'''foo'''
|
||||
'''foo
|
||||
bar'''
|
||||
|
||||
""
|
||||
"fo\"o"
|
||||
''
|
||||
'fo\'o'
|
||||
|
||||
/foo/
|
||||
/fo\/o/
|
||||
|
||||
$/fo$/$o/$
|
||||
$/foo
|
||||
bar/$
|
||||
"foo /* comment */ bar"
|
||||
'foo // bar'
|
||||
'''foo
|
||||
/* comment */
|
||||
bar'''
|
||||
'''hell\'''o'''
|
||||
"""foo
|
||||
// comment
|
||||
bar"""
|
||||
"""hell\"""o"""
|
||||
|
||||
----------------------------------------------------
|
||||
|
||||
[
|
||||
["interpolation-string", [
|
||||
["string", "\"\"\"\"\"\""]
|
||||
]],
|
||||
["interpolation-string", [
|
||||
["string", "\"\"\"foo\"\"\""]
|
||||
]],
|
||||
["interpolation-string", [
|
||||
["string", "\"\"\"foo\r\nbar\"\"\""]
|
||||
]],
|
||||
|
||||
["string", "''''''"],
|
||||
["string", "'''foo'''"],
|
||||
["string", "'''foo\r\nbar'''"],
|
||||
|
||||
["interpolation-string", [
|
||||
["string", "\"\""]
|
||||
]],
|
||||
["interpolation-string", [
|
||||
["string", "\"fo\\\"o\""]
|
||||
]],
|
||||
["string", "''"],
|
||||
["string", "'fo\\'o'"],
|
||||
|
||||
["interpolation-string", [
|
||||
["string", "/foo/"]
|
||||
]],
|
||||
["interpolation-string", [
|
||||
["string", "/fo\\/o/"]
|
||||
]],
|
||||
|
||||
["interpolation-string", [
|
||||
["string", "$/fo$/"],
|
||||
["interpolation", [
|
||||
["interpolation-punctuation", "$"],
|
||||
["expression", ["o"]]
|
||||
]],
|
||||
["string", "/$"]
|
||||
]],
|
||||
["interpolation-string", [
|
||||
["string", "$/foo\r\nbar/$"]
|
||||
]],
|
||||
["interpolation-string", [
|
||||
["string", "\"foo /* comment */ bar\""]
|
||||
]],
|
||||
["string", "'foo // bar'"],
|
||||
["string", "'''foo\r\n/* comment */\r\nbar'''"],
|
||||
["string", "'''hell\\'''o'''"],
|
||||
["interpolation-string", [
|
||||
["string", "\"\"\"foo\r\n// comment\r\nbar\"\"\""]
|
||||
]],
|
||||
["interpolation-string", [
|
||||
["string", "\"\"\"hell\\\"\"\"o\"\"\""]
|
||||
]]
|
||||
]
|
||||
|
||||
----------------------------------------------------
|
||||
|
||||
Checks for single quoted, triple single quoted, double quoted,
|
||||
triple double quoted, slashy and dollar slashy strings.
|
Loading…
Reference in New Issue