File: docs.gradle

package info (click to toggle)
groovy2 2.2.2%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: jessie-kfreebsd
  • size: 23,916 kB
  • sloc: java: 136,570; xml: 948; sh: 486; makefile: 67; ansic: 64
file content (169 lines) | stat: -rw-r--r-- 7,161 bytes parent folder | download | duplicates (2)
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
task doc(dependsOn: ['asciidocAll', 'assembleAsciidoc', 'javadocAll', 'groovydocAll', 'docGDK']) {
    ext.footer = 'Copyright © 2003-2013 The Codehaus. All rights reserved.'
    ext.title = "Groovy ${groovyVersion}"
}

task assembleAsciidoc(type: Copy, dependsOn: 'asciidocAll') {
    /*
    if (!isJava15()) {
        subprojects {
            from project.asciidoctor
        }
        into "$buildDir/asciidoc"
    }
    */
}

def javadocSpec = {
    maxMemory = javaDoc_mx
    project.configure(options) {
        windowTitle = doc.title
        docTitle = doc.title
        encoding = 'UTF-8'
        author = true
        version = true
        overview = rootProject.file('src/main/overviewj.html')
        footer = doc.footer
        source = rootProject.useIndy()?'1.7':'1.5'
        links('http://docs.oracle.com/javase/7/docs/api/', 'http://evgeny-goldin.org/javadoc/ant/api/',
                'http://commons.apache.org/proper/commons-cli/javadocs/api-release', 'http://junit.org/javadoc/latest/',
                'http://docs.oracle.com/javaee/6/api/', 'http://www.antlr2.org/javadoc')
    }
}

def groovydocSpec = {
    use = true
    if (project != rootProject) source = project.sourceSets.main.allSource
    classpath = javadoc.classpath
    ext.windowtitle = doc.title
    ext.doctitle = doc.title
    header = doc.title
    footer = doc.footer
    overview = rootProject.file('src/main/overview.html')
    includePrivate = false
    link 'http://docs.oracle.com/javaee/6/api/', 'javax.servlet.', 'javax.management.'
    link 'http://docs.oracle.com/javase/7/docs/api/', 'java.', 'org.xml.', 'javax.', 'org.w3c.'
    link 'http://evgeny-goldin.org/javadoc/ant/api/', 'org.apache.ant.', 'org.apache.tools.ant.'
    link 'http://junit.org/javadoc/latest/', 'org.junit.', 'junit.'
    link 'http://www.antlr2.org/javadoc', 'antlr.'
    link 'http://commons.apache.org/proper/commons-cli/javadocs/api-release', 'org.apache.commons.cli.'
}

allprojects {
    javadoc javadocSpec
    groovydoc groovydocSpec

    if (!isJava15()) {
        //task asciidocAll(dependsOn: 'asciidoctor')
        task asciidocAll()
    }
}

// Root project has an extra 'all' javadoc task
task javadocAll(type: Javadoc)
javadocAll {
    destinationDir = new File(buildDir, 'alljavadoc')
    source = javadoc.source
    classpath = javadoc.classpath
    subprojects.each { sp ->
        source += sp.javadoc.source
        classpath += sp.javadoc.classpath
    }
}
javadocAll javadocSpec

// Root project has an extra 'all' groovydoc task
task groovydocAll(type: Groovydoc)  
groovydocAll {
    dependsOn( { project(':groovy-groovydoc').classes })
    dependsOn( { project(':groovy-docgenerator').classes })
    destinationDir = new File(buildDir, 'allgroovydoc')
    source = groovydoc.source
    classpath = groovydoc.classpath
    groovyClasspath = groovydoc.groovyClasspath
    subprojects.each { sp ->
        source += sp.groovydoc.source
        classpath += sp.groovydoc.classpath
        groovyClasspath += sp.groovydoc.groovyClasspath
    }
}
groovydocAll groovydocSpec

// when docgenerator is run by the build, it requires a groovy-release-info file
// but the file is only generated by the 'jar' task, so as a workaround, we copy
// it into the docgenerator classes
task docProjectVersionInfo(type: Copy) {
    destinationDir = file("${project(':groovy-docgenerator').buildDir}/classes/main")
    into('META-INF') {
        from('src/main/META-INF/groovy-release-info.properties') {
            filter(rootProject.propertiesFilter, org.apache.tools.ant.filters.ReplaceTokens)
        }
    }
    from('subprojects/groovy-docgenerator/src/main/resources')
}

task docGDK {
////    ext.extraDocGDKclasses = []
//    dependsOn([project(':groovy-groovydoc'), project(':groovy-docgenerator')]*.classes)
//    // TODO don't hard-code these
//    dependsOn([project(':groovy-sql'), project(':groovy-sql'), project(':groovy-swing')]*.classes)
//    dependsOn docProjectVersionInfo
    ext.destinationDir = "$buildDir/html/groovy-jdk"
//    inputs.files sourceSets.tools.runtimeClasspath
//    outputs.dir destinationDir
//    doLast { task ->
//        try {
//            ant {
//                java(classname: 'org.codehaus.groovy.tools.DocGenerator',
//                     fork: 'true',
//                     failonerror: 'true',
//                     classpath: (configurations.tools + groovydocAll.groovyClasspath).asPath,
//                     errorproperty: 'edr',
//                     outputproperty: 'odr') {
//                    // either package name if in core or fully qualified path otherwise
//                    arg(value: 'org.codehaus.groovy.runtime.DefaultGroovyMethods')
//                    arg(value: 'org.codehaus.groovy.runtime.DefaultGroovyStaticMethods')
//                    arg(value: 'org.codehaus.groovy.runtime.DateGroovyMethods')
//                    arg(value: 'org.codehaus.groovy.runtime.EncodingGroovyMethods')
//                    arg(value: 'org.codehaus.groovy.runtime.IOGroovyMethods')
//                    arg(value: 'org.codehaus.groovy.runtime.ProcessGroovyMethods')
//                    arg(value: 'org.codehaus.groovy.runtime.ResourceGroovyMethods')
//                    arg(value: 'org.codehaus.groovy.runtime.SocketGroovyMethods')
//                    arg(value: 'org.codehaus.groovy.runtime.StringGroovyMethods')
//                    arg(value: 'org.codehaus.groovy.vmplugin.v5.PluginDefaultGroovyMethods')
//                    arg(value: 'org.codehaus.groovy.vmplugin.v6.PluginDefaultGroovyMethods')
//                    arg(value: 'org.codehaus.groovy.vmplugin.v6.PluginStaticGroovyMethods')
//                    // TODO don't hard-code these
//                    arg(value: 'subprojects/groovy-sql/src/main/java/org/codehaus/groovy/runtime/SqlGroovyMethods.java')
//                    arg(value: 'subprojects/groovy-swing/src/main/java/org/codehaus/groovy/runtime/SwingGroovyMethods.java')
//                    arg(value: 'subprojects/groovy-xml/src/main/java/org/codehaus/groovy/runtime/XmlGroovyMethods.java')
//                }
//            }
//        } finally {
//            if (ant.properties.odr) {
//                logger.info 'Out: ' + ant.properties.odr
//            }
//            if (ant.properties.edr) {
//                logger.error 'Err: ' + ant.properties.edr
//            }
//        }
//        copy {
//            into task.destinationDir
//            from 'src/tools/org/codehaus/groovy/tools/groovy.ico', 'src/tools/org/codehaus/groovy/tools/stylesheet.css'
//        }
//    }
}

// this will apply the javadoc fix tool to all generated javadocs
// we use it to make sure that the javadocs are not vulnerable independently of the JDK used to build
allprojects {
    tasks.withType(Javadoc).all {
        doLast {
            logger.lifecycle("Applying Javadoc fix tool (see http://www.kb.cert.org/vuls/id/225657) into $destinationDir".toString())
            def javadocFix = new JavadocFixTool()
            javadocFix.recursive = true
            javadocFix.doPatch = true
            javadocFix.searchAndPatch(destinationDir)
        }
    }
}