Mercurial > public > gradleplugins
annotate src/main/groovy/org/ssdt_ohio/gradle/plugins/UserDocPlugin.groovy @ 28:204c063c93d3
USASR-2436: Bump snapshot version
author | Christopher Springer <springer@nwoca.org> |
---|---|
date | Wed, 21 Dec 2016 13:16:39 +0000 |
parents | e3c55e83c9a4 |
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 } |