initial commit
This commit is contained in:
136
settings.gradle.kts
Normal file
136
settings.gradle.kts
Normal file
@@ -0,0 +1,136 @@
|
||||
import java.net.HttpURLConnection
|
||||
import java.net.URI
|
||||
|
||||
rootProject.name = "LoveLiveMusicPlayerKMP"
|
||||
enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS")
|
||||
|
||||
val nexusBaseUrl = "http://192.168.123.100:18081"
|
||||
|
||||
fun probeNexus(baseUrl: String): Boolean =
|
||||
try {
|
||||
val conn = URI.create("$baseUrl/service/rest/v1/status").toURL()
|
||||
.openConnection() as HttpURLConnection
|
||||
conn.connectTimeout = 2000
|
||||
conn.readTimeout = 2000
|
||||
conn.requestMethod = "GET"
|
||||
conn.instanceFollowRedirects = true
|
||||
val code = conn.responseCode
|
||||
conn.inputStream?.close()
|
||||
conn.disconnect()
|
||||
code in 200 until 400
|
||||
} catch (_: Throwable) {
|
||||
false
|
||||
}
|
||||
|
||||
val forcedNexus = startParameter.projectProperties["useNexus"]
|
||||
val useNexusRepos = when {
|
||||
forcedNexus != null -> forcedNexus.toBoolean()
|
||||
else -> probeNexus(nexusBaseUrl)
|
||||
}
|
||||
|
||||
gradle.extra["useNexusRepos"] = useNexusRepos
|
||||
gradle.extra["nexusBaseUrl"] = nexusBaseUrl
|
||||
|
||||
logger.lifecycle(
|
||||
if (useNexusRepos) {
|
||||
"[repos] Nexus reachable — prefer $nexusBaseUrl, public repos as fallback"
|
||||
} else {
|
||||
"[repos] Nexus unreachable, using public repositories only"
|
||||
},
|
||||
)
|
||||
|
||||
/**
|
||||
* Prefer local Nexus (fast) then fall back to public mirrors so missing
|
||||
* proxy artifacts (e.g. AGP) still resolve.
|
||||
*/
|
||||
fun RepositoryHandler.addLlmpRepositories(includeGradlePortal: Boolean) {
|
||||
if (useNexusRepos) {
|
||||
maven {
|
||||
url = uri("$nexusBaseUrl/repository/maven-public/")
|
||||
isAllowInsecureProtocol = true
|
||||
}
|
||||
maven {
|
||||
url = uri("$nexusBaseUrl/repository/google/")
|
||||
isAllowInsecureProtocol = true
|
||||
}
|
||||
maven {
|
||||
url = uri("$nexusBaseUrl/repository/mob/")
|
||||
isAllowInsecureProtocol = true
|
||||
}
|
||||
if (includeGradlePortal) {
|
||||
maven {
|
||||
url = uri("$nexusBaseUrl/repository/gradle/")
|
||||
isAllowInsecureProtocol = true
|
||||
}
|
||||
}
|
||||
maven {
|
||||
url = uri("$nexusBaseUrl/repository/jitpack/")
|
||||
isAllowInsecureProtocol = true
|
||||
}
|
||||
}
|
||||
google()
|
||||
mavenCentral()
|
||||
if (includeGradlePortal) gradlePluginPortal()
|
||||
maven { url = uri("https://mvn.mob.com/android") }
|
||||
maven { url = uri("https://jitpack.io") }
|
||||
}
|
||||
|
||||
pluginManagement {
|
||||
val base = "http://192.168.123.100:18081"
|
||||
val forced = settings.startParameter.projectProperties["useNexus"]
|
||||
val useNexus = when {
|
||||
forced != null -> forced.toBoolean()
|
||||
else -> try {
|
||||
val conn = java.net.URI.create("$base/service/rest/v1/status").toURL()
|
||||
.openConnection() as java.net.HttpURLConnection
|
||||
conn.connectTimeout = 2000
|
||||
conn.readTimeout = 2000
|
||||
conn.requestMethod = "GET"
|
||||
val code = conn.responseCode
|
||||
conn.inputStream?.close()
|
||||
conn.disconnect()
|
||||
code in 200 until 400
|
||||
} catch (_: Throwable) {
|
||||
false
|
||||
}
|
||||
}
|
||||
repositories {
|
||||
if (useNexus) {
|
||||
maven {
|
||||
url = uri("$base/repository/maven-public/")
|
||||
isAllowInsecureProtocol = true
|
||||
}
|
||||
maven {
|
||||
url = uri("$base/repository/google/")
|
||||
isAllowInsecureProtocol = true
|
||||
}
|
||||
maven {
|
||||
url = uri("$base/repository/mob/")
|
||||
isAllowInsecureProtocol = true
|
||||
}
|
||||
maven {
|
||||
url = uri("$base/repository/gradle/")
|
||||
isAllowInsecureProtocol = true
|
||||
}
|
||||
maven {
|
||||
url = uri("$base/repository/jitpack/")
|
||||
isAllowInsecureProtocol = true
|
||||
}
|
||||
}
|
||||
google()
|
||||
mavenCentral()
|
||||
gradlePluginPortal()
|
||||
maven { url = uri("https://mvn.mob.com/android") }
|
||||
maven { url = uri("https://jitpack.io") }
|
||||
}
|
||||
}
|
||||
|
||||
dependencyResolutionManagement {
|
||||
repositories {
|
||||
addLlmpRepositories(includeGradlePortal = false)
|
||||
}
|
||||
}
|
||||
|
||||
include(":shared")
|
||||
include(":composeApp")
|
||||
include(":androidApp")
|
||||
Reference in New Issue
Block a user