Source Code added
Some checks are pending
Repo / Label merge conflict / Triage (push) Waiting to run
Some checks are pending
Repo / Label merge conflict / Triage (push) Waiting to run
This commit is contained in:
parent
ac679f452a
commit
3f20680501
477 changed files with 25051 additions and 2 deletions
12
buildSrc/src/main/kotlin/Jellyfin.kt
Normal file
12
buildSrc/src/main/kotlin/Jellyfin.kt
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
object JellyfinSdk {
|
||||
const val GROUP = "org.jellyfin.sdk"
|
||||
|
||||
const val LOCAL = "latest-SNAPSHOT"
|
||||
const val SNAPSHOT = "master-SNAPSHOT"
|
||||
const val SNAPSHOT_UNSTABLE = "openapi-unstable-SNAPSHOT"
|
||||
}
|
||||
|
||||
object JellyfinExoPlayer {
|
||||
const val GROUP = "org.jellyfin.exoplayer"
|
||||
const val SNAPSHOT = "SNAPSHOT"
|
||||
}
|
||||
49
buildSrc/src/main/kotlin/SigningHelper.kt
Normal file
49
buildSrc/src/main/kotlin/SigningHelper.kt
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
import org.gradle.api.Project
|
||||
import java.io.File
|
||||
import java.util.*
|
||||
|
||||
object SigningHelper {
|
||||
|
||||
fun loadSigningConfig(project: Project): Config? {
|
||||
val serializedKeystore = System.getenv("KEYSTORE") ?: return null
|
||||
val storeFile = try {
|
||||
project.file("/tmp/keystore.jks").apply {
|
||||
writeBytes(Base64.getDecoder().decode(serializedKeystore))
|
||||
}
|
||||
} catch (e: RuntimeException) {
|
||||
return null
|
||||
}
|
||||
val storePassword = System.getenv("KEYSTORE_PASSWORD") ?: return null
|
||||
val keyAlias = System.getenv("KEY_ALIAS") ?: return null
|
||||
val keyPassword = System.getenv("KEY_PASSWORD") ?: return null
|
||||
|
||||
return Config(
|
||||
storeFile,
|
||||
storePassword,
|
||||
keyAlias,
|
||||
keyPassword
|
||||
)
|
||||
}
|
||||
|
||||
data class Config(
|
||||
/**
|
||||
* Store file used when signing.
|
||||
*/
|
||||
val storeFile: File,
|
||||
|
||||
/**
|
||||
* Store password used when signing.
|
||||
*/
|
||||
val storePassword: String,
|
||||
|
||||
/**
|
||||
* Key alias used when signing.
|
||||
*/
|
||||
val keyAlias: String,
|
||||
|
||||
/**
|
||||
* Key password used when signing.
|
||||
*/
|
||||
val keyPassword: String
|
||||
)
|
||||
}
|
||||
69
buildSrc/src/main/kotlin/VersionUtils.kt
Normal file
69
buildSrc/src/main/kotlin/VersionUtils.kt
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
import org.gradle.api.Project
|
||||
import java.util.*
|
||||
|
||||
/**
|
||||
* Get the version name from the current environment or use the fallback.
|
||||
* It will look for a environment variable called JELLYFIN_VERSION first.
|
||||
* Next it will look for a property called "jellyfin.version" and lastly it will use the fallback.
|
||||
* If the version in the environment starts with a "v" prefix it will be removed.
|
||||
*
|
||||
* Sample output:
|
||||
* v2.0.0 -> 2.0.0
|
||||
* null -> 0.0.0-dev.1 (unless different fallback set)
|
||||
*/
|
||||
fun Project.getVersionName(fallback: String = "0.0.0-dev.1"): String {
|
||||
val configuredVersion = System.getenv("JELLYFIN_VERSION")
|
||||
?: findProperty("jellyfin.version")?.toString()
|
||||
|
||||
return configuredVersion?.removePrefix("v") ?: fallback
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the version code for a given semantic version.
|
||||
* Does not validate the input and thus will throw an exception when parts are missing.
|
||||
*
|
||||
* The pre-release part ("-rc.1", "-beta.1" etc.) defaults to 99 when not specified.
|
||||
*
|
||||
* Sample output:
|
||||
* MA.MI.PA-PR > MA MI PA PR
|
||||
* 0.0.0-dev.1 > 1
|
||||
* 0.0.0 > 99
|
||||
* 1.1.1 > 1 01 01 99
|
||||
* 0.7.0 > 7 00 99
|
||||
* 99.99.99 > 99 99 99 99
|
||||
* 2.0.0-rc.3 > 2 00 00 03
|
||||
* 2.0.0 > 2 00 00 99
|
||||
* 99.99.99-rc.1 > 99 99 99 01
|
||||
*/
|
||||
fun getVersionCode(versionName: String): Int {
|
||||
// Split to core and pre release parts with a default for pre release (null)
|
||||
val (versionCore, versionPreRelease) =
|
||||
when (val index = versionName.indexOf('-')) {
|
||||
// No pre-release part included
|
||||
-1 -> versionName to null
|
||||
// Pre-release part included
|
||||
else -> versionName.substring(0, index) to
|
||||
versionName.substring(index + 1, versionName.length)
|
||||
}
|
||||
|
||||
// Parse core part
|
||||
val (major, minor, patch) = versionCore
|
||||
.splitToSequence('.')
|
||||
.mapNotNull(String::toIntOrNull)
|
||||
.take(3)
|
||||
.toList()
|
||||
|
||||
// Parse pre release part (ignore type, only get the number)
|
||||
val buildVersion = versionPreRelease
|
||||
?.substringAfter('.')
|
||||
?.let(String::toIntOrNull)
|
||||
|
||||
// Build code
|
||||
var code = 0
|
||||
code += major * 1000000 // Major (0-99)
|
||||
code += minor * 10000 // Minor (0-99)
|
||||
code += patch * 100 // Patch (0-99)
|
||||
code += buildVersion ?: 99 // Pre release (0-99)
|
||||
|
||||
return code
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue