annotate src/main/groovy/org/ssdt_ohio/gradle/plugins/UserDocPlugin.groovy @ 15:e3c55e83c9a4

USASR-1307: start custom class/property displays
author Dave Smith <smith@nwoca.org>
date Fri, 17 Jan 2014 18:16:29 +0000
parents a628135958e7
children 927f02ccc596
rev   line source
13
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
1 package org.ssdt_ohio.gradle.plugins
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
2
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
3 import org.gradle.api.Plugin
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
4 import org.gradle.api.Project
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
5 import org.gradle.api.internal.plugins.DslObject
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
6 import org.gradle.api.plugins.GroovyPlugin
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
7 import org.gradle.api.plugins.JavaBasePlugin
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
8 import org.gradle.api.plugins.JavaPluginConvention
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
9 import org.gradle.api.tasks.GroovyRuntime
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
10 import org.gradle.api.tasks.GroovySourceSet
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
11 import org.gradle.api.tasks.SourceSet
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
12 import org.ssdt_ohio.gradle.tasks.UserDoc
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
13
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
14
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
15 class UserDocPlugin implements Plugin<Project> {
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
16
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
17
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
18 private static final String USERDOC_TASK_NAME = 'userdoc'
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
19
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
20 @Override
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
21 void apply(Project project) {
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
22
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
23 project.getPlugins().apply(GroovyPlugin.class)
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
24 configureUserdoc(project)
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
25
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
26 }
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
27
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
28 private void configureUserdoc(final Project project) {
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
29 UserDoc userDoc = project.getTasks().create(USERDOC_TASK_NAME, UserDoc.class);
15
e3c55e83c9a4 USASR-1307: start custom class/property displays
Dave Smith <smith@nwoca.org>
parents: 13
diff changeset
30 userDoc.setDescription("Generates UserDoc API documentation");
13
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
31 userDoc.setGroup(JavaBasePlugin.DOCUMENTATION_GROUP);
15
e3c55e83c9a4 USASR-1307: start custom class/property displays
Dave Smith <smith@nwoca.org>
parents: 13
diff changeset
32 userDoc.windowTitle = project.name
e3c55e83c9a4 USASR-1307: start custom class/property displays
Dave Smith <smith@nwoca.org>
parents: 13
diff changeset
33 userDoc.docTitle = project.name
13
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
34
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
35 JavaPluginConvention convention = project.getConvention().getPlugin(JavaPluginConvention.class);
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
36 SourceSet sourceSet = convention.getSourceSets().getByName(SourceSet.MAIN_SOURCE_SET_NAME);
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
37 userDoc.setClasspath(sourceSet.getOutput().plus(sourceSet.getCompileClasspath()))
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
38
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
39
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
40 GroovySourceSet groovySourceSet = new DslObject(sourceSet).getConvention().getPlugin(GroovySourceSet.class);
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
41 println "srcdirs: " + groovySourceSet.getGroovy().getSrcDirs()
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
42 userDoc.setSource(groovySourceSet.getGroovy());
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
43
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
44 userDoc.setDestinationDir(new File(project.buildDir, "docs/userdoc"))
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
45
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
46 userDoc.setGroovyClasspath(new GroovyRuntime(project).inferGroovyClasspath(project.configurations.compile))
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
47
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
48 }
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
49
a628135958e7 USASR-1307: inititial userdoc plugin/task to produce customizable groovy doc
Dave Smith <smith@nwoca.org>
parents:
diff changeset
50 }