Tower Guidev2
01/31/2022, 8:29 AMTower Guidev2
01/31/2022, 8:30 AMAndroid Studio Bumblebee | 2021.1.1
Build #AI-211.7628.21.2111.8092744, built on January 19, 2022
Runtime version: 11.0.11+0-b60-7590822 x86_64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
macOS 10.15.7
GC: G1 Young Generation, G1 Old Generation
Memory: 4096M
Cores: 12
Registry: external.system.auto.import.disabled=true, <http://debugger.watches.in|debugger.watches.in>.variables=false
Non-Bundled Plugins: org.jetbrains.kotlin (211-1.6.10-release-923-AS7442.40)
Tower Guidev2
01/31/2022, 8:31 AMbuildscript {
ext.kotlin_version = "1.6.10"
repositories {
google()
mavenCentral()
gradlePluginPortal()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.1.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.dagger:hilt-android-gradle-plugin:2.40.5'
}
}
allprojects {
repositories {
google()
mavenCentral()
gradlePluginPortal()
maven { url '<https://jitpack.io>' }
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
Tower Guidev2
01/31/2022, 8:33 AMplugins {
id "com.android.library"
id "com.google.devtools.ksp" version "1.6.10-1.0.2"
id "kotlin-android"
id "kotlin-kapt"
id 'org.jetbrains.kotlin.plugin.serialization' version '1.4.20'
id 'dagger.hilt.android.plugin'
}
android {
compileSdkVersion 32
defaultConfig {
minSdkVersion 26
targetSdkVersion 32
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles "<http://consumer-rules.pro|consumer-rules.pro>"
}
Tower Guidev2
01/31/2022, 8:34 AMcompileOptions {
coreLibraryDesugaringEnabled true
sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_11
}
kotlinOptions {
jvmTarget = '11'
freeCompilerArgs += [
"-Xopt-in=kotlinx.serialization.ExperimentalSerializationApi",
"-Xopt-in=kotlinx.coroutines.ExperimentalCoroutinesApi",
"-Xopt-in=kotlinx.coroutines.InternalCoroutinesApi",
"-Xopt-in=kotlinx.coroutines.FlowPreview",
"-Xopt-in=kotlinx.coroutines.ObsoleteCoroutinesApi"]
}
}
Tower Guidev2
01/31/2022, 8:34 AMdependencies {
api(platform("io.arrow-kt:arrow-stack:1.0.6-alpha.1"))
api("io.arrow-kt:arrow-core")
api("io.arrow-kt:arrow-fx-coroutines")
api("io.arrow-kt:arrow-fx-stm")
api("io.arrow-kt:arrow-optics")
api "com.google.devtools.ksp:symbol-processing-api:1.6.10-1.0.2"
ksp "io.arrow-kt:arrow-optics-ksp-plugin:1.0.6-alpha.1"
Tower Guidev2
01/31/2022, 8:37 AM@optics
data class Street(val number: Int, val name: String) {
companion object
}
@optics
data class Address(val city: String, val street: Street) {
companion object
}
@optics
data class Company(val name: String, val address: Address) {
companion object
}
@optics
data class Employee(val name: String, val company: Company?) {
companion object
}
Tower Guidev2
01/31/2022, 8:38 AMTower Guidev2
01/31/2022, 9:55 AMimplementation(platform("io.arrow-kt:arrow-stack:1.0.3-alpha.1"))
api("io.arrow-kt:arrow-core")
api("io.arrow-kt:arrow-fx-coroutines")
api("io.arrow-kt:arrow-fx-stm")
ksp 'io.arrow-kt:arrow-optics:1.0.3-alpha.1'
api 'io.arrow-kt:arrow-optics'
api "com.google.devtools.ksp:symbol-processing-api:1.6.10-1.0.2"
ksp "io.arrow-kt:arrow-optics-ksp-plugin:1.0.3-alpha.1"
Tower Guidev2
01/31/2022, 9:56 AMAlejandro Serrano Mena
01/31/2022, 10:28 AMAlejandro Serrano Mena
01/31/2022, 10:28 AMarrow-optics-ksp-plugin:1.0.3-alpha.2
would work tooAlejandro Serrano Mena
01/31/2022, 10:29 AM1.0.6
have been published 😕Tower Guidev2
01/31/2022, 1:00 PM1.0.3-alpha.2
a "run out" 😄
arrow is worth the effort 😉