import grails.util.GrailsUtil /* * Copyright 2004-2005 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * @author Graeme Rocher * @since 1.0 * * Created: Sep 20, 2007 */ includeTargets << grailsScript("_GrailsCompile") javadocDir = "${basedir}/docs/api" groovydocDir = "${basedir}/docs/gapi" docEncoding = "UTF-8" docSourceLevel = "1.5" links = [ 'http://java.sun.com/j2se/1.5.0/docs/api/' ] target(docs: "Produces documentation for a Grails project") { depends(compile, javadoc, groovydoc) } target(setupDoc:"Sets up the doc directories") { ant.mkdir(dir:"${basedir}/docs") ant.mkdir(dir:groovydocDir) ant.mkdir(dir:javadocDir) } target(groovydoc:"Produces groovydoc documentation") { ant.taskdef(name:"groovydoc", classname:"org.codehaus.groovy.ant.Groovydoc") event("DocStart", ['groovydoc']) try { ant.groovydoc(destdir:groovydocDir, sourcepath:".", use:"true", windowtitle:grailsAppName,'private':"true") } catch(Exception e) { event("StatusError", ["Error generating groovydoc: ${e.message}"]) } event("DocEnd", ['groovydoc']) } target(javadoc:"Produces javadoc documentation") { depends(setupDoc) event("DocStart", ['javadoc']) File javaDir = new File("${basedir}/src/java") if(javaDir.listFiles().find{ !it.name.startsWith(".")}) { try { ant.javadoc( access:"protected", destdir:javadocDir, encoding:docEncoding, classpathref:"grails.compile.classpath", use:"yes", windowtitle:grailsAppName, docencoding:docEncoding, charset:docEncoding, source:docSourceLevel, useexternalfile:"yes", breakiterator:"true", linksource:"yes", maxmemory:"128m", failonerror:false, sourcepath:javaDir.absolutePath) { for(i in links) { link(href:i) } } } catch(Exception e) { event("StatusError", ["Error generating javadoc: ${e.message}"]) // ignore, empty src/java directory } } event("DocEnd", ['javadoc']) }