ソースを参照

plugin update

Milan Jurkulak 1 年間 前
親
コミット
9470a5b9ef

+ 26 - 0
buildSrc/src/main/kotlin/org/mjdev/gradle/plugins/BasePlugin.kt

@@ -0,0 +1,26 @@
+package org.mjdev.gradle.plugins
+
+import org.gradle.api.Plugin
+import org.gradle.api.Project
+
+abstract class BasePlugin : Plugin<Project> {
+    override fun apply(project: Project) {
+        with(project) {
+            registerTasks()
+            beforeEvaluate {
+                onBeforeEvaluate()
+            }
+            afterEvaluate {
+                onAfterEvaluate()
+            }
+            project.configure(listOf(project)) {
+                onConfigure()
+            }
+        }
+    }
+
+    abstract fun Project.onConfigure()
+    abstract fun Project.registerTasks()
+    abstract fun Project.onBeforeEvaluate()
+    abstract fun Project.onAfterEvaluate()
+}

+ 5 - 24
buildSrc/src/main/kotlin/org/mjdev/gradle/plugins/MultiPlatformPlugin.kt

@@ -1,43 +1,24 @@
 package org.mjdev.gradle.plugins
 
-import org.gradle.api.Plugin
 import org.gradle.api.Project
 import org.mjdev.gradle.tasks.DeployTask
 import org.mjdev.gradle.tasks.GenerateChangelogTask
 import  org.mjdev.gradle.extensions.ProjectExt.registerTask
 
-class MultiPlatformPlugin : Plugin<Project> {
-    override fun apply(project: Project) {
-        with(project) {
-            registerTasks()
-            beforeEvaluate {
-                onBeforeEvaluate()
-            }
-            afterEvaluate {
-                onAfterEvaluate()
-            }
-            project.configure(listOf(project)) {
-                onConfigure()
-            }
-        }
-    }
-
-    private fun Project.onConfigure() {
+class MultiPlatformPlugin : BasePlugin() {
+    override fun Project.onConfigure() {
 //        buildscript.repositories {
-//
 //        }
     }
 
-    private fun Project.registerTasks() {
+    override fun Project.registerTasks() {
         registerTask<DeployTask>("deploy")
         registerTask<GenerateChangelogTask>("changelog")
     }
 
-    private fun Project.onBeforeEvaluate() {
-
+    override fun Project.onBeforeEvaluate() {
     }
 
-    private fun Project.onAfterEvaluate() {
-
+    override fun Project.onAfterEvaluate() {
     }
 }