Миграция на Kotlin DSL
This commit is contained in:
Generated
+1
@@ -12,6 +12,7 @@
|
||||
<set>
|
||||
<option value="$PROJECT_DIR$" />
|
||||
<option value="$PROJECT_DIR$/app" />
|
||||
<option value="$PROJECT_DIR$/buildSrc" />
|
||||
</set>
|
||||
</option>
|
||||
</GradleProjectSettings>
|
||||
|
||||
@@ -1,89 +0,0 @@
|
||||
plugins {
|
||||
id 'com.android.application'
|
||||
id 'org.jetbrains.kotlin.android'
|
||||
}
|
||||
|
||||
android {
|
||||
compileSdk 33
|
||||
|
||||
defaultConfig {
|
||||
applicationId "ru.megboyzz.dnevnik"
|
||||
minSdk 21
|
||||
targetSdk 32
|
||||
versionCode 1
|
||||
versionName "1.0"
|
||||
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
vectorDrawables {
|
||||
useSupportLibrary true
|
||||
}
|
||||
multiDexEnabled true
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
release {
|
||||
minifyEnabled false
|
||||
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
||||
}
|
||||
}
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_1_8
|
||||
targetCompatibility JavaVersion.VERSION_1_8
|
||||
coreLibraryDesugaringEnabled true
|
||||
}
|
||||
kotlinOptions {
|
||||
jvmTarget = '1.8'
|
||||
freeCompilerArgs = ['-Xjvm-default=compatibility']
|
||||
}
|
||||
buildFeatures {
|
||||
compose true
|
||||
}
|
||||
composeOptions {
|
||||
kotlinCompilerExtensionVersion compose_version
|
||||
}
|
||||
packagingOptions {
|
||||
resources {
|
||||
excludes += '/META-INF/{AL2.0,LGPL2.1}'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
||||
implementation 'androidx.core:core-ktx:1.7.0'
|
||||
implementation "androidx.compose.ui:ui:$compose_version"
|
||||
implementation "androidx.compose.material:material:$compose_version"
|
||||
implementation "androidx.compose.ui:ui-tooling-preview:$compose_version"
|
||||
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.1'
|
||||
implementation 'androidx.activity:activity-compose:1.3.1'
|
||||
implementation 'androidx.constraintlayout:constraintlayout-compose:1.0.1'
|
||||
testImplementation 'junit:junit:4.13.2'
|
||||
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
|
||||
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
|
||||
androidTestImplementation "androidx.compose.ui:ui-test-junit4:$compose_version"
|
||||
debugImplementation "androidx.compose.ui:ui-tooling:$compose_version"
|
||||
debugImplementation "androidx.compose.ui:ui-test-manifest:$compose_version"
|
||||
|
||||
implementation "androidx.navigation:navigation-compose:2.5.3"
|
||||
|
||||
implementation "androidx.compose.runtime:runtime-livedata:$compose_version"
|
||||
implementation "androidx.compose.material:material-icons-extended:$compose_version"
|
||||
implementation "com.google.accompanist:accompanist-swiperefresh:0.23.0"
|
||||
implementation "com.google.accompanist:accompanist-navigation-animation:0.30.0"
|
||||
|
||||
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
|
||||
implementation 'com.squareup.retrofit2:converter-gson:2.3.0'
|
||||
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.5'
|
||||
|
||||
//Библиотечка для рисования круговых диаграмок
|
||||
implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0'
|
||||
|
||||
//LazyHorizontalGrid
|
||||
implementation 'androidx.compose.foundation:foundation:1.4.1'
|
||||
|
||||
// The compose calendar library
|
||||
implementation 'com.kizitonwose.calendar:compose:2.1.1'
|
||||
|
||||
implementation "io.coil-kt:coil-compose:2.3.0"
|
||||
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
plugins {
|
||||
id("com.android.application")
|
||||
kotlin("android")
|
||||
}
|
||||
|
||||
android {
|
||||
namespace = "ru.megboyzz.dnevnik"
|
||||
compileSdk = AppConfig.compileSdk
|
||||
|
||||
defaultConfig {
|
||||
minSdk = AppConfig.minSdk
|
||||
targetSdk = AppConfig.targetSdk
|
||||
version = AppConfig.versionName
|
||||
|
||||
vectorDrawables {
|
||||
useSupportLibrary = true
|
||||
}
|
||||
multiDexEnabled = true
|
||||
|
||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
release {
|
||||
isMinifyEnabled = false
|
||||
proguardFiles(
|
||||
getDefaultProguardFile("proguard-android-optimize.txt"),
|
||||
"proguard-rules.pro"
|
||||
)
|
||||
}
|
||||
}
|
||||
compileOptions {
|
||||
sourceCompatibility = JavaVersion.VERSION_1_8
|
||||
targetCompatibility = JavaVersion.VERSION_1_8
|
||||
}
|
||||
kotlinOptions {
|
||||
jvmTarget = "1.8"
|
||||
freeCompilerArgs = listOf(
|
||||
"-Xjvm-default=compatibility"
|
||||
)
|
||||
}
|
||||
buildFeatures{
|
||||
compose = true
|
||||
}
|
||||
|
||||
composeOptions{
|
||||
kotlinCompilerExtensionVersion = Versions.compose
|
||||
}
|
||||
|
||||
packagingOptions{
|
||||
resources {
|
||||
excludes += "/META-INF/{AL2.0,LGPL2.1}"
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
||||
//std lib
|
||||
implementation(fileTree(mapOf("dir" to "libs", "include" to listOf("*.jar"))))
|
||||
//app libs
|
||||
implementation(AppDependencies.appLibraries)
|
||||
//test libs
|
||||
testImplementation(AppDependencies.testLibraries)
|
||||
androidTestImplementation(AppDependencies.androidTestLibraries)
|
||||
}
|
||||
Vendored
+1
-1
@@ -1,6 +1,6 @@
|
||||
# Add project specific ProGuard rules here.
|
||||
# You can control the set of applied configuration files using the
|
||||
# proguardFiles setting in build.gradle.
|
||||
# proguardFiles setting in build.gradle.kts.kts.kts.
|
||||
#
|
||||
# For more details, see
|
||||
# http://developer.android.com/guide/developing/tools/proguard.html
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
package="ru.megboyzz.dnevnik">
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
buildscript {
|
||||
ext {
|
||||
compose_version = '1.4.1'
|
||||
}
|
||||
}
|
||||
plugins {
|
||||
id 'com.android.application' version '7.2.1' apply false
|
||||
id 'com.android.library' version '7.2.1' apply false
|
||||
id 'org.jetbrains.kotlin.android' version '1.8.0' apply false
|
||||
}
|
||||
task clean(type: Delete) {
|
||||
delete rootProject.buildDir
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
plugins {
|
||||
id("com.android.application") version(Versions.gradle)
|
||||
id("org.jetbrains.kotlin.android") version(Versions.kotlin)
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
import org.gradle.kotlin.dsl.`kotlin-dsl`
|
||||
|
||||
plugins {
|
||||
`kotlin-dsl`
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
|
||||
//Константы уровня приложения
|
||||
object AppConfig {
|
||||
|
||||
const val compileSdk = 33
|
||||
const val minSdk = 21
|
||||
const val targetSdk = 32
|
||||
const val versionCode = 1
|
||||
const val versionName = "1.0.0"
|
||||
const val buildToolsVersion = "29.0.3"
|
||||
|
||||
const val androidTestInstrumentation = "androidx.test.runner.AndroidJUnitRunner"
|
||||
const val proguardConsumerRules = "consumer-rules.pro"
|
||||
const val dimension = "environment"
|
||||
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
import org.gradle.api.artifacts.dsl.DependencyHandler
|
||||
|
||||
object AppDependencies {
|
||||
//std lib
|
||||
val kotlinStdLib = "org.jetbrains.kotlin:kotlin-stdlib-jdk7:${Versions.kotlin}"
|
||||
|
||||
//android ui
|
||||
private val appcompat = "androidx.appcompat:appcompat:${Versions.appcompat}"
|
||||
private val coreKtx = "androidx.core:core-ktx:${Versions.coreKtx}"
|
||||
private val constraintLayout =
|
||||
"androidx.constraintlayout:constraintlayout:${Versions.constraintLayout}"
|
||||
|
||||
private val pieChartLib = "com.github.PhilJay:MPAndroidChart:v3.1.0"
|
||||
|
||||
//test libs
|
||||
private val junit = "junit:junit:${Versions.junit}"
|
||||
private val extJUnit = "androidx.test.ext:junit:${Versions.extJunit}"
|
||||
private val espressoCore = "androidx.test.espresso:espresso-core:${Versions.espresso}"
|
||||
|
||||
val appLibraries = arrayListOf<String>().apply {
|
||||
add(kotlinStdLib)
|
||||
add(coreKtx)
|
||||
add(appcompat)
|
||||
add(constraintLayout)
|
||||
|
||||
add(pieChartLib)
|
||||
}
|
||||
|
||||
val androidTestLibraries = arrayListOf<String>().apply {
|
||||
add(extJUnit)
|
||||
add(espressoCore)
|
||||
}
|
||||
|
||||
val testLibraries = arrayListOf<String>().apply {
|
||||
add(junit)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//util functions for adding the different type dependencies from build.gradle file
|
||||
|
||||
fun DependencyHandler.kapt(list: List<String>) {
|
||||
list.forEach { dependency ->
|
||||
add("kapt", dependency)
|
||||
}
|
||||
}
|
||||
|
||||
fun DependencyHandler.implementation(list: List<String>) {
|
||||
list.forEach { dependency ->
|
||||
add("implementation", dependency)
|
||||
}
|
||||
}
|
||||
|
||||
fun DependencyHandler.testImplementation(list: List<String>){
|
||||
list.forEach { dependency ->
|
||||
add("testImplementation", dependency)
|
||||
}
|
||||
}
|
||||
|
||||
fun DependencyHandler.androidTestImplementation(list: List<String>){
|
||||
list.forEach { dependency ->
|
||||
add("androidTestImplementation", dependency)
|
||||
}
|
||||
}
|
||||
|
||||
fun DependencyHandler.coreLibraryDesugaring(list: List<String>){
|
||||
list.forEach { dependency ->
|
||||
add("coreLibraryDesugaring", dependency)
|
||||
}
|
||||
}
|
||||
|
||||
fun DependencyHandler.debugImplementation(list: List<String>){
|
||||
list.forEach { dependency ->
|
||||
add("debugImplementation", dependency)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
|
||||
//константы версии
|
||||
//для зависимостей Kotlin DSL
|
||||
object Versions {
|
||||
|
||||
//app level
|
||||
const val gradle = "7.2.1"
|
||||
const val kotlin = "1.8.10"
|
||||
|
||||
//libs
|
||||
val coreKtx = "1.7.0"
|
||||
val appcompat = "1.3.0-alpha01"
|
||||
val constraintLayout = "2.0.0-beta8"
|
||||
|
||||
val compose = "1.4.4"
|
||||
|
||||
//test
|
||||
val junit = "4.12"
|
||||
val extJunit = "1.1.1"
|
||||
val espresso = "3.2.0"
|
||||
|
||||
}
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
#Mon Sep 26 23:09:42 MSK 2022
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
|
||||
distributionPath=wrapper/dists
|
||||
zipStorePath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
|
||||
@@ -5,13 +5,15 @@ pluginManagement {
|
||||
mavenCentral()
|
||||
}
|
||||
}
|
||||
|
||||
dependencyResolutionManagement {
|
||||
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
|
||||
repositories {
|
||||
google()
|
||||
mavenCentral()
|
||||
maven { url 'https://jitpack.io' }
|
||||
maven(url = "https://jitpack.io")
|
||||
}
|
||||
}
|
||||
|
||||
rootProject.name = "MyDnevnik"
|
||||
include ':app'
|
||||
include(":app")
|
||||
Reference in New Issue
Block a user