Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 0 additions & 33 deletions build.gradle

This file was deleted.

20 changes: 20 additions & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
buildscript {
val kotlinVersion = "1.7.10"
if (!project.hasProperty("version") || project.version == "unspecified") {
project.version = '+'
}
repositories {
google()
mavenLocal()
mavenCentral()
}
dependencies {
classpath("com.android.tools.build:gradle:7.2.2")
classpath("com.mparticle:android-kit-plugin:${project.version}")
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:${kotlinVersion}")
}
}

tasks.register("clean", Delete::class) {
delete(rootProject.buildDir)
}
29 changes: 29 additions & 0 deletions buildSrc/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import org.gradle.kotlin.dsl.`kotlin-dsl`
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins {
`kotlin-dsl`
`kotlin-dsl-precompiled-script-plugins`
}

gradlePlugin {
plugins {
register("mparticle-kit-plugin") {
id = "mparticle-kit-plugin"
implementationClass = "com.mparticle.plugins.KitPlugin"
}
}
}

repositories {
google()
mavenLocal()
mavenCentral()
}

dependencies {
implementation("com.android.tools.build:gradle:7.2.2")
// implementation("com.android.tools.build:gradle-api:7.2.2")
// implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.0")
// implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.31")
}
36 changes: 36 additions & 0 deletions buildSrc/src/main/kotlin/com/mparticle/plugins/Dependencies.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package com.mparticle.plugins

object Versions {

// Project
const val kotlin = "1.7.10"

const val compileSdkVersion = 31
const val minSdkVersion = 16
const val targetSdkVersion = 31
const val applicationId = "com.mparticle.kits.appsflyer"
const val applicationVersionCode = 1
const val applicationVersionName = "1.0.0"

// Android
const val appcompat = "1.4.2"

// Testing
const val junit = "4.13.2"
const val testRunner = "1.1.1"
const val espressoCore = "3.1.1"
}

object Libraries {

// Kotlin
const val kotlinStdLib = "org.jetbrains.kotlin:kotlin-stdlib-jdk8:${Versions.kotlin}"

// Android
const val appcompat = "androidx.appcompat:appcompat:${Versions.appcompat}"

// Testing
const val junit = "junit:junit:${Versions.junit}"
const val testRunner = "androidx.test:runner:${Versions.testRunner}"
const val espressoCore = "androidx.test.espresso:espresso-core:${Versions.espressoCore}"
}
62 changes: 62 additions & 0 deletions buildSrc/src/main/kotlin/com/mparticle/plugins/Extension.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
package com.mparticle.plugins

import com.android.build.gradle.BaseExtension
import com.android.build.gradle.internal.dsl.DefaultConfig
import org.gradle.api.JavaVersion
import org.gradle.api.Project
import org.gradle.kotlin.dsl.DependencyHandlerScope

fun DependencyHandlerScope.kotlinProject() {
"implementation"(Libraries.kotlinStdLib)
}

fun DependencyHandlerScope.unitTestDependencies() {
"testImplementation"(Libraries.junit)
}

fun DependencyHandlerScope.androidTestDependencies() {
"androidTestImplementation"(Libraries.testRunner)
"androidTestImplementation"(Libraries.espressoCore)
}

fun Project.androidApplicationConfig(
appId: String,
appVersionCode: Int = Versions.applicationVersionCode,
appVersionName: String = Versions.applicationVersionName
) {
androidLibraryConfig {
applicationId = appId
versionCode = appVersionCode
versionName = appVersionName
}
}

fun Project.androidLibraryConfig(defaultConfigExtensions: (DefaultConfig.() -> Unit)? = null) {
android.run {
compileSdkVersion(Versions.compileSdkVersion)
defaultConfig {
defaultConfigExtensions?.invoke(this)
minSdk = Versions.minSdkVersion
targetSdk = Versions.targetSdkVersion
testInstrumentationRunner = "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
getByName("debug") {
isMinifyEnabled = false
}
getByName("release") {
isMinifyEnabled = true
proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro")
consumerProguardFiles("consumer-rules.pro")
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
}
}

val Project.android: BaseExtension
get() = extensions.findByName("android") as? BaseExtension
?: error("Project '$name' is not an Android module")
56 changes: 56 additions & 0 deletions buildSrc/src/main/kotlin/com/mparticle/plugins/KitPlugin.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
package com.mparticle.plugins

import com.android.build.gradle.BaseExtension
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.kotlin.dsl.dependencies

class KitPlugin : Plugin<Project> {

private val Project.android: BaseExtension
get() = extensions.findByName("android") as? BaseExtension
?: error("Not an Android module: $name")

override fun apply(project: Project) =
with(project) {
applyPlugins()
androidConfig()
dependenciesConfig()
}

private fun Project.applyPlugins() {
plugins.run {
apply("com.android.library")
apply("kotlin-android")
apply("kotlin-android-extensions")
}
}

private fun Project.androidConfig() {
android.run {
compileSdkVersion(31)
defaultConfig {
minSdk = 16
targetSdk = 31
versionCode = 1
versionName = "1.0"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
getByName("debug") {
isMinifyEnabled = false
}
}
}
}

private fun Project.dependenciesConfig() {
dependencies {
"api"("com.mparticle:android-kit-base:5.44.0")
"testImplementation"("junit:junit:4.13.2")
"testImplementation"("org.mockito:mockito-core:1.10.19")
"testImplementation"("androidx.annotation:annotation:[1.0.0,)")
"compileOnly"("androidx.annotation:annotation:[1.0.0,)")
}
}
}
2 changes: 2 additions & 0 deletions lib/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest package="com.mparticle.kits.appsflyer" />
22 changes: 22 additions & 0 deletions lib/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@

plugins {
id("com.android.library")
id("mparticle-kit-plugin")
kotlin("android")
}

repositories {
google()
mavenCentral()
}

android {
compileSdk = 31
defaultConfig {
minSdk = 16
}
}

dependencies {
api("com.appsflyer:af-android-sdk:6.8.0")
}
File renamed without changes.
2 changes: 1 addition & 1 deletion settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
rootProject.name = "android-appsflyer-kit"
include(":")
include(":lib")