Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade AGP, Gradle, language dependencies #75

Merged
merged 7 commits into from
Nov 16, 2022
Merged
Show file tree
Hide file tree
Changes from 3 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
19 changes: 18 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,21 @@ ci/
**/.idea/

# Secrets
**/*/values/secrets.xml
**/*/values/secrets.xml

# Local configuration file (sdk path, etc)
local.properties

# Android Studio Navigation editor temp files
.navigation/

# Coverage tools
jacoco.exec

# Application files
*.apk
*.aar
*.aab

# Dex files for ART/Dalvik VM
*.dex
26 changes: 15 additions & 11 deletions code/app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: "com.diffplug.spotless"
plugins {
id 'com.android.application'
id 'com.diffplug.spotless'
id 'org.jetbrains.kotlin.android'
}

spotless {
kotlin {
Expand All @@ -12,14 +13,16 @@ spotless {
}

android {
compileSdkVersion 31
namespace 'com.adobe.marketing.edge.identity.app'

compileSdkVersion rootProject.ext.compileSdkVersion

defaultConfig {
applicationId "com.adobe.marketing.edge.identity.app"
minSdkVersion 19
targetSdkVersion 31
versionCode 1
versionName "1.0"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
prudrabhat marked this conversation as resolved.
Show resolved Hide resolved
versionCode rootProject.ext.versionCode
versionName project.property('moduleVersion') as String ?: "1.0"
prudrabhat marked this conversation as resolved.
Show resolved Hide resolved
multiDexEnabled = true

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
Expand All @@ -35,14 +38,15 @@ android {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}

kotlinOptions {
jvmTarget = '1.8'
jvmTarget = rootProject.ext.kotlinJvmTarget
}
}

dependencies {
implementation fileTree(dir: "libs", include: ["*.jar"])
prudrabhat marked this conversation as resolved.
Show resolved Hide resolved
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation "org.jetbrains.kotlin:kotlin-stdlib:${rootProject.ext.kotlinVersion}"
implementation 'androidx.core:core-ktx:1.3.2'
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
Expand Down
3 changes: 1 addition & 2 deletions code/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.adobe.marketing.edge.identity.app">
<manifest xmlns:android="http://schemas.android.com/apk/res/android">

<application
android:allowBackup="true"
Expand Down
66 changes: 28 additions & 38 deletions code/build.gradle
Original file line number Diff line number Diff line change
@@ -1,53 +1,43 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext {
kotlin_version = '1.5.0'
}
repositories {
google()
mavenCentral()
maven { url "https://plugins.gradle.org/m2/" }
maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
}
dependencies {
classpath 'com.android.tools.build:gradle:4.0.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "com.diffplug.spotless:spotless-plugin-gradle:5.12.5"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}

allprojects {
repositories {
google()
mavenCentral()
maven { url "https://plugins.gradle.org/m2/" }
maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
}

apply plugin: 'maven-publish'
}

task clean(type: Delete) {
delete rootProject.buildDir
plugins {
id 'com.android.application' version '7.3.1' apply false
id 'com.android.library' version '7.3.1' apply false
id 'com.diffplug.gradle.spotless' version '6.11.0' apply false
prudrabhat marked this conversation as resolved.
Show resolved Hide resolved
id 'org.jetbrains.kotlin.android' version "1.6.21" apply false
}

ext {
// android config
minSdkVersion = 19
targetSdkVersion = 29
compileSdkVersion = 29
targetSdkVersion = 33
compileSdkVersion = 33
versionCode = 1

// java config
sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8

// dependencies
// kotlin config
kotlinVersion = "1.6.21"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't see this kotlinVersion being used, can you remove it?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is being used in code/app/build.gradle Line#48.

kotlinJvmTarget = "1.8"

// test dependencies
junitVersion = "1.1.2"
prudrabhat marked this conversation as resolved.
Show resolved Hide resolved
mockitoCoreVersion = "2.28.2"
buildToolsVersion = "29.0.3"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
jacocoVersion = "0.8.5"

// build tools
buildToolsVersion = "29.0.3"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Setting the build tools version shouldn't be required anymore, can you remove this?


// spotless
prettierVersion = "2.7.1"
prettierPluginJavaVersion = "1.6.2"
Comment on lines +31 to +32
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you use these variables in the Spotless configuration in code/edgeidentity/build.gradle line 20?


// jacoco
jacocoVersion = "0.8.8"
}

task clean(type: Delete) {
delete rootProject.buildDir
}
30 changes: 17 additions & 13 deletions code/edgeidentity/build.gradle
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
apply plugin: 'com.android.library'
apply plugin: 'jacoco'
apply plugin: 'maven-publish'
apply plugin: 'signing'
apply plugin: "com.diffplug.spotless"
plugins {
id 'com.android.library'
id 'jacoco'
id 'maven-publish'
id 'signing'
id 'com.diffplug.spotless'
}

jacoco {
toolVersion = rootProject.ext.jacocoVersion
Expand Down Expand Up @@ -31,6 +33,7 @@ android {

prudrabhat marked this conversation as resolved.
Show resolved Hide resolved
testInstrumentationRunner rootProject.ext.testInstrumentationRunner
consumerProguardFiles "consumer-rules.pro"
multiDexEnabled true
prudrabhat marked this conversation as resolved.
Show resolved Hide resolved
prudrabhat marked this conversation as resolved.
Show resolved Hide resolved
}

flavorDimensions "target"
Expand Down Expand Up @@ -73,16 +76,16 @@ android {
}
}

prudrabhat marked this conversation as resolved.
Show resolved Hide resolved
android.libraryVariants.all { variant ->
afterEvaluate {
tasks.withType(Javadoc) {
source = [android.sourceSets.main.java.sourceFiles, android.sourceSets.phone.java.sourceFiles]
ext.androidJar = "${android.sdkDirectory}/platforms/${android.compileSdkVersion}/android.jar"

doFirst{classpath = files(variant.javaCompile.classpath.files) + files(ext.androidJar)}
source = android.sourceSets.main.java.srcDirs
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
classpath += files(android.libraryVariants.collect { variant ->
variant.javaCompileProvider.get().classpath.files
})

exclude "**/BuildConfig.java"
exclude "**/R.java"
options {
source = "8"
links "https://developer.android.com/reference"
}
}
prudrabhat marked this conversation as resolved.
Show resolved Hide resolved
Expand Down Expand Up @@ -218,7 +221,7 @@ task platformUnitTestJacocoReport(type: JacocoReport, dependsOn: "testPhoneDebug
additionalClassDirs.setFrom files([debugTree])
additionalSourceDirs.setFrom files(android.sourceSets.main.java.sourceFiles)
sourceDirectories.setFrom files(android.sourceSets.phone.java.sourceFiles)
executionData "$buildDir/jacoco/testPhoneDebugUnitTest.exec"
executionData "$buildDir/outputs/unit_test_code_coverage/phoneDebugUnitTest/testPhoneDebugUnitTest.exec"

reports {
xml.enabled true
prudrabhat marked this conversation as resolved.
Show resolved Hide resolved
Expand Down Expand Up @@ -259,6 +262,7 @@ dependencies {
testImplementation 'org.powermock:powermock-module-junit4:2.0.0'
testImplementation 'org.json:json:20180813'

androidTestImplementation "androidx.test:core:1.4.0"
prudrabhat marked this conversation as resolved.
Show resolved Hide resolved
androidTestImplementation "androidx.test.ext:junit:${rootProject.ext.junitVersion}"
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
// Using older version of PowerMock as it supports minimum Android API < 26
Expand Down
1 change: 1 addition & 0 deletions code/gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ org.gradle.jvmargs=-Xmx2048m

android.useAndroidX=true
android.enableJetifier=true
android.disableAutomaticComponentCreation=true

moduleProjectName=edgeidentity
moduleName=edgeidentity
Expand Down
4 changes: 2 additions & 2 deletions code/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#Fri Mar 18 11:50:52 PDT 2022
#Mon Nov 07 08:48:57 PST 2022
distributionBase=GRADLE_USER_HOME
distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
17 changes: 17 additions & 0 deletions code/settings.gradle
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
pluginManagement {
repositories {
gradlePluginPortal()
google()
mavenCentral()
}
}

dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
}
}

include ':app'
include ':edgeidentity'
rootProject.name = "edgeidentity-sdk"