@@ -7,7 +7,6 @@ package io.openapiprocessor.gradle
77
88import io.openapiprocessor.gradle.OpenApiProcessorExtensionUtils.Companion.EXTENSION_NAME_DEFAULT
99import io.openapiprocessor.gradle.OpenApiProcessorExtensionUtils.Companion.createExtension
10- import io.openapiprocessor.gradle.OpenApiProcessorExtensionUtils.Companion.getExtension
1110import io.openapiprocessor.gradle.version.GitHubVersionCheck
1211import io.openapiprocessor.gradle.version.GitHubVersionProvider
1312import io.openapiprocessor.gradle.version.VersionCheck
@@ -29,10 +28,10 @@ class OpenApiProcessorPlugin: Plugin<Project> {
2928
3029 addOpenApiProcessorRepository(project)
3130
32- createExtension(project)
31+ val extension = createExtension(project)
32+ createProcessingTasks(project, extension)
3333
34- project.afterEvaluate(createCheckUpdatesAction())
35- project.afterEvaluate(createTasksBuilderAction())
34+ checkUpdates(project, extension)
3635 }
3736
3837 private fun addOpenApiProcessorRepository (project : Project ) {
@@ -51,37 +50,34 @@ class OpenApiProcessorPlugin: Plugin<Project> {
5150 }
5251
5352 /* *
54- * Provides an Action that checks for plugin updates.
53+ * Check for plugin updates.
5554 */
56- private fun createCheckUpdatesAction (): Action <Project > {
57- return object : Action <Project > {
58- override fun execute (project : Project ) {
59- val extension = getExtension(project)
60- val interval = extension.checkUpdates.get()
61-
62- val version = VersionCheck (project.rootDir.absolutePath, interval)
63- if (! version.canCheck(" gradle" ))
64- return
55+ private fun checkUpdates (project : Project , extension : OpenApiProcessorExtension ) {
56+ val interval = extension.checkUpdates.get()
6557
66- checkLatestRelease()
67- }
68- }
58+ val version = VersionCheck (project.rootDir.absolutePath, interval)
59+ if (! version.canCheck(" gradle" ))
60+ return
61+
62+ checkLatestRelease()
6963 }
7064
7165 /* *
72- * Provides an Action that create a 'process{ProcessorName}' task for each configured processor.
66+ * Create a 'process{ProcessorName}' task for each configured processor.
7367 */
74- private fun createTasksBuilderAction (): Action <Project > {
75- return object : Action <Project > {
76- override fun execute (project : Project ) {
77- val extension = getExtension(project)
78- extension.processors.get().forEach { entry ->
79- val name = " process${entry.key.replaceFirstChar { it.uppercase() }} "
80- val action = createTaskBuilderAction(entry.key, entry.value, extension)
81- project.tasks.register(name, OpenApiProcessorTask ::class .java, action)
68+ fun createProcessingTasks (project : Project , extension : OpenApiProcessorExtension ) {
69+ extension.processors.configureEach(
70+ object : Action <Processor > {
71+ override fun execute (processor : Processor ) {
72+ val name = " process${processor.name.replaceFirstChar { it.uppercase() }} "
73+
74+ project.tasks.register(
75+ name,
76+ OpenApiProcessorTask ::class .java,
77+ createTaskBuilderAction(name, processor, extension)
78+ )
8279 }
83- }
84- }
80+ })
8581 }
8682
8783 /* *
0 commit comments