Миграция на Kotlin DSL
This commit is contained in:
Generated
+1
@@ -12,6 +12,7 @@
|
|||||||
<set>
|
<set>
|
||||||
<option value="$PROJECT_DIR$" />
|
<option value="$PROJECT_DIR$" />
|
||||||
<option value="$PROJECT_DIR$/app" />
|
<option value="$PROJECT_DIR$/app" />
|
||||||
|
<option value="$PROJECT_DIR$/buildSrc" />
|
||||||
</set>
|
</set>
|
||||||
</option>
|
</option>
|
||||||
</GradleProjectSettings>
|
</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.
|
# Add project specific ProGuard rules here.
|
||||||
# You can control the set of applied configuration files using the
|
# 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
|
# For more details, see
|
||||||
# http://developer.android.com/guide/developing/tools/proguard.html
|
# http://developer.android.com/guide/developing/tools/proguard.html
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools">
|
||||||
package="ru.megboyzz.dnevnik">
|
|
||||||
|
|
||||||
<uses-permission android:name="android.permission.INTERNET" />
|
<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
|
#Mon Sep 26 23:09:42 MSK 2022
|
||||||
distributionBase=GRADLE_USER_HOME
|
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
|
distributionPath=wrapper/dists
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
|
|||||||
@@ -5,13 +5,15 @@ pluginManagement {
|
|||||||
mavenCentral()
|
mavenCentral()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencyResolutionManagement {
|
dependencyResolutionManagement {
|
||||||
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
|
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
|
||||||
repositories {
|
repositories {
|
||||||
google()
|
google()
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
maven { url 'https://jitpack.io' }
|
maven(url = "https://jitpack.io")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
rootProject.name = "MyDnevnik"
|
rootProject.name = "MyDnevnik"
|
||||||
include ':app'
|
include(":app")
|
||||||
Reference in New Issue
Block a user