Skip to content

Commit

Permalink
Add plugin publishing
Browse files Browse the repository at this point in the history
  • Loading branch information
jraska committed Dec 13, 2019
1 parent b069961 commit 359de7e
Show file tree
Hide file tree
Showing 12 changed files with 39 additions and 31 deletions.
2 changes: 2 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
buildscript {
repositories {
jcenter()
gradlePluginPortal()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.61"
classpath 'com.gradle.publish:plugin-publish-plugin:0.10.1'
}
}

Expand Down
5 changes: 1 addition & 4 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,5 @@
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.parallel=true
org.gradle.daemon=true
android.useAndroidX=true
android.enableJetifier=true
kapt.incremental.apt=true
kapt.use.worker.api=true
VERSION_NAME=0.1.0

16 changes: 13 additions & 3 deletions plugin/build.gradle
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
apply plugin: 'kotlin'
apply plugin: 'java-gradle-plugin'
apply plugin: 'com.gradle.plugin-publish'

repositories {
jcenter()
Expand All @@ -23,11 +24,20 @@ compileTestKotlin {
}
}

pluginBundle {
website = 'https://github.com/jraska/modules-graph-assert'
vcsUrl = 'https://github.com/jraska/modules-graph-assert'
tags = ['gradle', 'plugin', 'graph', 'assert', 'build speed', 'android', 'java', 'kotlin', 'quality', 'multiprojects', 'module']
}

gradlePlugin {
plugins {
moduleGraphAssertions {
id = 'com.jraska.module.graph'
implementationClass = 'com.jraska.module.graph.ModuleGraphAssertionsPlugin'
modulesGraphAssert {
id = 'com.jraska.module.graph.assertion'
version = '0.1.0'
displayName = 'Modules Graph Assert'
description = 'Gradle plugin to keep your modules graph healthy and lean.'
implementationClass = 'com.jraska.module.graph.assertion.ModuleGraphAssertionsPlugin'
}
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.jraska.module.graph.plugin
package com.jraska.module.graph.assertion

object Api {
object Tasks {
Expand All @@ -10,8 +10,6 @@ object Api {
const val ASSERT_NO_IN_LAYER_PREFIX = "assertNoDependenciesWithin"
}

const val CHECK_TASK = "check"

const val EXTENSION_ROOT = "moduleGraphRules"
const val EXTENSION_ROOT = "modulesGraphAssert"
}

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.jraska.module.graph.plugin
package com.jraska.module.graph.assertion

import com.jraska.module.graph.DependencyGraph
import org.gradle.api.Project
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.jraska.module.graph.plugin
package com.jraska.module.graph.assertion

open class GraphRulesExtension {
var appModuleName = ":app"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
package com.jraska.module.graph.plugin
package com.jraska.module.graph.assertion

import com.jraska.module.graph.plugin.tasks.AssertLayersOrderTask
import com.jraska.module.graph.plugin.tasks.AssertModuleTreeHeightTask
import com.jraska.module.graph.plugin.tasks.AssertNoInLayerDependencies
import com.jraska.module.graph.plugin.tasks.GenerateModulesGraphTask
import com.jraska.module.graph.plugin.Api.Tasks
import com.jraska.module.graph.assertion.Api.Tasks
import com.jraska.module.graph.assertion.tasks.AssertLayersOrderTask
import com.jraska.module.graph.assertion.tasks.AssertModuleTreeHeightTask
import com.jraska.module.graph.assertion.tasks.AssertNoInLayerDependencies
import com.jraska.module.graph.assertion.tasks.GenerateModulesGraphTask
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.api.Task
import org.gradle.language.base.plugins.LifecycleBasePlugin.CHECK_TASK_NAME
import org.gradle.language.base.plugins.LifecycleBasePlugin.VERIFICATION_GROUP
import java.util.Locale
import java.util.*

@Suppress("unused", "UnstableApiUsage") // Used as plugin
class ModuleGraphAssertionsPlugin : Plugin<Project> {
Expand All @@ -27,7 +28,7 @@ class ModuleGraphAssertionsPlugin : Plugin<Project> {

val allAssertionsTask = project.tasks.create(Tasks.ASSERT_ALL)
allAssertionsTask.group = VERIFICATION_GROUP
project.tasks.find { it.name == Api.CHECK_TASK }?.dependsOn(allAssertionsTask)
project.tasks.find { it.name == CHECK_TASK_NAME }?.dependsOn(allAssertionsTask)

project.addMaxHeightTasks(graphRules).forEach { allAssertionsTask.dependsOn(it) }
project.addModuleLayersTasks(graphRules).forEach { allAssertionsTask.dependsOn(it) }
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.jraska.module.graph.plugin.tasks
package com.jraska.module.graph.assertion.tasks

import com.jraska.module.graph.plugin.GradleDependencyGraphFactory
import com.jraska.module.graph.assertion.GradleDependencyGraphFactory
import com.jraska.module.graph.DependencyGraph
import org.gradle.api.DefaultTask
import org.gradle.api.GradleException
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.jraska.module.graph.plugin.tasks
package com.jraska.module.graph.assertion.tasks

import com.jraska.module.graph.plugin.GradleDependencyGraphFactory
import com.jraska.module.graph.assertion.GradleDependencyGraphFactory
import org.gradle.api.DefaultTask
import org.gradle.api.GradleException
import org.gradle.api.tasks.Input
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.jraska.module.graph.plugin.tasks
package com.jraska.module.graph.assertion.tasks

import com.jraska.module.graph.plugin.GradleDependencyGraphFactory
import com.jraska.module.graph.assertion.GradleDependencyGraphFactory
import com.jraska.module.graph.DependencyGraph
import org.gradle.api.DefaultTask
import org.gradle.api.GradleException
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.jraska.module.graph.plugin.tasks
package com.jraska.module.graph.assertion.tasks

import com.jraska.module.graph.plugin.GradleDependencyGraphFactory
import com.jraska.module.graph.assertion.GradleDependencyGraphFactory
import com.jraska.module.graph.GraphvizWriter
import org.gradle.api.DefaultTask
import org.gradle.api.tasks.Input
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.jraska.module.graph.plugin.tasks
package com.jraska.module.graph.assertion.tasks

import com.jraska.module.graph.plugin.GradleDependencyGraphFactory
import com.jraska.module.graph.assertion.GradleDependencyGraphFactory
import com.jraska.module.graph.GraphvizWriter
import org.gradle.api.DefaultTask
import org.gradle.api.tasks.Input
Expand Down

0 comments on commit 359de7e

Please sign in to comment.