mirror of
https://github.com/simplex-chat/simplex-chat.git
synced 2026-04-26 23:55:53 +00:00
035a2f954c
* ui: additional images, views for making connections and creating groups (#6750) * ios: setup for additional assets * ios build config * header * fix * update layout * more views with images * layout * layout * android images and view * fix path * fix desktop * fix desktop build * smaller image * layout * more layout * more kotlin views * group layout * padding * create group layout * more create group layout * layout * tweak layout * more tweak * config --------- Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com> * ios: connecting as part of onboarding (#6754) * ios: implementation of "connecting" cards * ios: revision * fix flip * fixes * fix frame * replace nav stack with tab view * rename * update gradient and card label material * fix gradient * debug * remove debug code * update card labels * card label layout * landscape cards * layout * safe area * less bold * debug landscape * refactor titles, back inline with title in landscape * remove ignoreSafeArea * remove extra padding * refactor * clean * layout spec added to plan --------- Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com> * android, desktop: connecting during onboarding - new cards (#6757) * android, desktop: connecting during onboarding - new cards * fix * change layout * fixes * fix * fix * layout * fix layout * animation * import * paddings * 350ms * font * fonts * layout * box * more layout * layout * simpler * hide toolbar heading in onboarding mode * simpler desktop layout * better desktop * revert desktop toolbar * bigger font, landscape * fix desktop * cap width * refactor, simplify * qr code scanner icon * use icon without assets * cleaner * fix * fix --------- Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com> * android, desktop: connect banner after onboarding (#6761) * android, desktop: connect banner after onboarding * improve * smaller button * bigger icon, same string * fallback gradients * improve build * simpler connect screens during onboarding * left-align * update strings * improve state machine * text, padding * strings * primary color for tap to paste link * fix race condition * fix loading race --------- Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com> * ios: banner and connect screens (#6767) * ios: banner and connect screens * fix * return nav * remove padding * refactor * refactor * refactor 2 * refactor 3 * refactor 4 * header * xcode files * improve * fix toolbar * toolbar 2 * no assets * no assets 2 * padding * android padding * simplify * layout * fix --------- Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com> * fix refreshable * text * fix toolbar color * rework address share logic * padding --------- Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com> Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com>
115 lines
5.3 KiB
Kotlin
115 lines
5.3 KiB
Kotlin
import java.io.File
|
|
import java.util.*
|
|
|
|
buildscript {
|
|
val prop = java.util.Properties().apply {
|
|
try {
|
|
load(java.io.FileInputStream(File(rootProject.rootDir, "local.properties")))
|
|
} catch (e: Exception) {
|
|
// No file was created
|
|
}
|
|
}
|
|
fun ExtraPropertiesExtension.getOrNull(name: String): Any? = if (has(name)) get("name") else null
|
|
|
|
extra.set("compose.version", prop["compose.version"] ?: extra["compose.version"])
|
|
extra.set("kotlin.version", prop["kotlin.version"] ?: extra["kotlin.version"])
|
|
extra.set("gradle.plugin.version", prop["gradle.plugin.version"] ?: extra["gradle.plugin.version"])
|
|
extra.set("abi_filter", prop["abi_filter"] ?: "arm64-v8a")
|
|
// Name that will be shown for debug build. By default, it is from strings
|
|
extra.set("app.name", prop["app.name"] ?: "@string/app_name")
|
|
// Whether the app is debuggable or not. Specify `false` if yo`u want good performance in debug builds
|
|
extra.set("enable_debuggable", prop["debuggable"] != "false")
|
|
// Ending part of package name.
|
|
// Provide, for example, `application_id.suffix=.debug` in local.properties
|
|
// to allow debug & release versions to coexist
|
|
extra.set("application_id.suffix", prop["application_id.suffix"] ?: "")
|
|
// Compression level for debug AND release apk. 0 = disable compression. Max is 9
|
|
extra.set("compression.level", (prop["compression.level"] as String?)?.toIntOrNull() ?: 0)
|
|
if (prop["simplex.assets.dir"] != null) {
|
|
extra.set("simplex.assets.dir", prop["simplex.assets.dir"])
|
|
}
|
|
// NOTE: If you need a different version of something, provide it in `local.properties`
|
|
// like so: compose.version=123, or gradle.plugin.version=1.2.3, etc
|
|
|
|
|
|
/** Mac signing and notarization */
|
|
// You can specify `compose.desktop.mac.*` keys and values from the right side of the command in `$HOME/.gradle/gradle.properties`.
|
|
// This will be project-independent setup without requiring to have `local.properties` file
|
|
extra.set("desktop.mac.signing.identity", prop["desktop.mac.signing.identity"] ?: extra.getOrNull("compose.desktop.mac.signing.identity"))
|
|
extra.set("desktop.mac.signing.keychain", prop["desktop.mac.signing.keychain"] ?: extra.getOrNull("compose.desktop.mac.signing.keychain"))
|
|
extra.set("desktop.mac.notarization.apple_id", prop["desktop.mac.notarization.apple_id"] ?: extra.getOrNull("compose.desktop.mac.notarization.appleID"))
|
|
extra.set("desktop.mac.notarization.password", prop["desktop.mac.notarization.password"] ?: extra.getOrNull("compose.desktop.mac.notarization.password"))
|
|
extra.set("desktop.mac.notarization.team_id", prop["desktop.mac.notarization.team_id"] ?: extra.getOrNull("compose.desktop.mac.notarization.teamID"))
|
|
|
|
repositories {
|
|
google()
|
|
mavenCentral()
|
|
}
|
|
dependencies {
|
|
classpath("com.android.tools.build:gradle:${rootProject.extra["gradle.plugin.version"]}")
|
|
classpath(kotlin("gradle-plugin", version = rootProject.extra["kotlin.version"] as String))
|
|
classpath("dev.icerock.moko:resources-generator:0.23.0")
|
|
|
|
// Workaround gradle sync issue: https://github.com/gmazzo/gradle-buildconfig-plugin/issues/137#issuecomment-1935739759
|
|
classpath("com.squareup:kotlinpoet:1.16.0")
|
|
|
|
// NOTE: Do not place your application dependencies here; they belong
|
|
// in the individual module build.gradle files
|
|
}
|
|
}// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
|
/*plugins {
|
|
id "com.android.application" version "$gradle_plugin_version" apply false
|
|
id "com.android.library" version "$gradle_plugin_version" apply false
|
|
id "org.jetbrains.kotlin.android" version "$kotlin_version" apply false
|
|
id "org.jetbrains.kotlin.plugin.serialization" version "$kotlin_version"
|
|
}*/
|
|
|
|
group = "chat.simplex"
|
|
version = extra["android.version_name"] as String
|
|
|
|
allprojects {
|
|
repositories {
|
|
google()
|
|
mavenCentral()
|
|
maven("https://oss.sonatype.org/content/repositories/snapshots")
|
|
maven("https://jitpack.io")
|
|
}
|
|
}
|
|
|
|
plugins {
|
|
kotlin("multiplatform") apply false
|
|
kotlin("android") apply false
|
|
id("com.android.application") apply false
|
|
id("com.android.library") apply false
|
|
id("org.jetbrains.compose") apply false
|
|
id("org.jetbrains.kotlin.plugin.serialization") apply false
|
|
}
|
|
|
|
// https://raymondctc.medium.com/configuring-your-sourcecompatibility-targetcompatibility-and-kotlinoptions-jvmtarget-all-at-once-66bf2198145f
|
|
val jvmVersion: Provider<String> = providers.gradleProperty("kotlin.jvm.target")
|
|
|
|
configure(subprojects) {
|
|
// Apply compileOptions to subprojects
|
|
plugins.withType<com.android.build.gradle.BasePlugin>().configureEach {
|
|
extensions.findByType<com.android.build.gradle.BaseExtension>()?.apply {
|
|
jvmVersion.map { JavaVersion.toVersion(it) }.orNull?.let {
|
|
compileOptions {
|
|
sourceCompatibility = it
|
|
targetCompatibility = it
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// Apply kotlinOptions.jvmTarget to subprojects
|
|
tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile>().configureEach {
|
|
kotlinOptions {
|
|
if (jvmVersion.isPresent) jvmTarget = jvmVersion.get()
|
|
}
|
|
}
|
|
}
|
|
|
|
tasks.register("clean", Delete::class) {
|
|
delete(rootProject.buildDir)
|
|
}
|