forked from altosz/grass
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGrassGrailsPlugin.groovy
63 lines (51 loc) · 2 KB
/
GrassGrailsPlugin.groovy
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
class GrassGrailsPlugin {
def version = "0.3.4"
def grailsVersion = "1.1.1 > *"
def dependsOn = [:]
def pluginExcludes = [
"grails-app/views/error.gsp"
]
def author = "Alexei Tishin"
def authorEmail = "[email protected]"
def title = "Compass stylesheet authoring tool plugin"
def description = '''\\
Compass is a stylesheet authoring tool that uses the Sass stylesheet language to make your stylesheets smaller and your web site easier to maintain. This plugin brings compass advantages to grails community.
'''
def documentation = "http://grails.org/Grass+Plugin"
def doWithSpring = {
// TODO Implement runtime spring config (optional)
}
def doWithApplicationContext = { applicationContext ->
// TODO Implement post initialization spring config (optional)
}
def doWithWebDescriptor = { xml ->
// TODO Implement additions to web.xml (optional)
}
def doWithDynamicMethods = { ctx ->
// TODO Implement registering dynamic methods to classes (optional)
}
def watchedResources = [ "file:./src/stylesheets/**/*.sass", "file:./src/stylesheets/**/*.scss" ]
def onChange = { event ->
// TODO Implement code that is executed when any artefact that this plugin is
// watching is modified and reloaded. The event contains: event.source,
// event.application, event.manager, event.ctx, and event.plugin.
GroovyClassLoader classLoader = new GroovyClassLoader(getClass().getClassLoader())
ConfigObject config = new ConfigSlurper().parse(classLoader.loadClass('GrassConfig'))
def compassConfiguration = new CompassConfiguration()
compassConfiguration.init(config) { msg ->
event("StatusError", [msg])
exit(-1)
}
try {
CompassCompile.compile(compassConfiguration, new AntBuilder()) { msg ->
throw new Exception(msg)
}
} catch (Exception e) {
println e.message
}
}
def onConfigChange = { event ->
// TODO Implement code that is executed when the project configuration changes.
// The event is the same as for 'onChange'.
}
}