Skip to content

Instantly share code, notes, and snippets.

import com.quickbirdstudios.bluesquare.plugin.mockkAndroid
// 1
/* Apply the project specific plugin */
plugins {
id("com.quickbirdstudios.bluesquare")
}
// 2
/* Configure the project specific plugin */
apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'maven-publish'
apply plugin: 'com.jfrog.artifactory'
def packageName = 'bluesquare-core'
android {
compileSdkVersion 28
// BluesquarePlugin.kt
open class BluesquarePlugin : Plugin<Project> {
override fun apply(project: Project) {
val bluesquareExtension: BluesquareExtension = project.extensions.create(
"bluesquare", BluesquareExtension::class.java
)
project.configurePlugins()
project.configureAndroid()
project.configureDependencies()
open class BluesquareExtension {
var publish: Boolean = false
var packageName: String = ""
}
plugins {
id("com.quickbirdstudios.bluesquare")
}
bluesquare {
publish = true
packageName = "my-package"
}
android {
compileSdkVersion(28)
}
plugins {
id("com.quickbirdstudios.bluesquare")
}
// BluesquarePlugin.kt
open class BluesquarePlugin : Plugin<Project> {
override fun apply(project: Project) {
project.configurePlugins()
project.configureAndroid()
project.configureDependencies()
}
}
//Plugins.kt
plugins {
id("com.android.library")
id("com.quickbirdstudios.bluesquare")
}
// BluesquarePlugin.kt
open class BluesquarePlugin : Plugin<Project> {
override fun apply(project: Project) {
project.configureAndroid()
project.configureDependencies()
}
}
// Dependencies.kt
const val jUnit = "junit:junit:4.12"