GRAILS-1019: Allowing expressions to be used with the 'disabled' attribute for g...
[grails.git] / scripts / _PackagePlugins.groovy
blob79ac0844ddc78bcff54fba8d4d6075758ba331bb
1 /*
2 * Copyright 2004-2005 the original author or authors.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 /**
18 * Gant script that handles the packaging of Grails plug-ins
20 * @author Graeme Rocher
22 * @since 0.4
24 import org.codehaus.groovy.grails.commons.GrailsClassUtils as GCU
26 GCL = new GroovyClassLoader()
28 Ant.property(environment:"env")
29 grailsHome = Ant.antProject.properties."env.GRAILS_HOME"
31 pluginResources = []
34 target( packagePlugins : "Packages any Grails plugins that are installed for this project") {
35 depends( classpath )
36 try {
38 def basePluginFile = baseFile.listFiles().find { it.name.endsWith("GrailsPlugin.groovy")}
39 def basePlugin = null
41 if(basePluginFile) {
42 basePlugin = new org.springframework.core.io.FileSystemResource(basePluginFile)
43 pluginResources << basePlugin
46 pluginResources += resolveResources("file:${basedir}/plugins/*/*GrailsPlugin.groovy").toList()
47 for(p in pluginResources) {
48 def pluginBase = p.file.parentFile.canonicalFile
49 def pluginPath = pluginBase.absolutePath
50 def pluginName = pluginBase.name
51 def pluginNameWithVersion = pluginBase.name
53 Ant.sequential {
54 if(new File("${pluginBase}/grails-app/conf/hibernate").exists()) {
55 copy(todir:classesDirPath, failonerror:false) {
56 fileset(dir:"${pluginBase}/grails-app/conf/hibernate", includes:"**", excludes:"*.groovy")
59 if(new File("${pluginBase}/grails-app/conf").exists()) {
60 copy(todir:classesDirPath, failonerror:false) {
61 fileset(dir:"${pluginBase}/grails-app/conf", includes:"*", excludes:"*.groovy")
64 if(new File("${pluginPath}/web-app").exists()) {
65 Ant.mkdir(dir:"${basedir}/web-app/plugins/${pluginName}")
66 if(basePlugin != p) {
67 copy(todir:"${basedir}/web-app/plugins/${pluginName}") {
68 fileset(dir:"${pluginBase}/web-app", includes:"**", excludes:"**/WEB-INF/**, **/META-INF/**")
75 catch(Exception e) {
76 e.printStackTrace(System.out)