blob: 78914a91dba8db2bfa77bbd3d6888c04dd6a3adf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
package at.skyhanni.sharedvariables
import java.io.File
import java.util.Properties
enum class MultiVersionStage(val label: String) {
OFF("off"),
PREPROCESS_ONLY("preprocess-only"),
FULL("compile")
;
fun shouldCompile(projectTarget: ProjectTarget): Boolean {
if (projectTarget == ProjectTarget.MAIN) return true
return when (this) {
OFF -> false
PREPROCESS_ONLY -> false
FULL -> projectTarget == ProjectTarget.MODERN
}
}
fun shouldCreateProject(projectTarget: ProjectTarget): Boolean {
if (projectTarget == ProjectTarget.MAIN) return true
return when (this) {
OFF -> false
PREPROCESS_ONLY -> true
FULL -> true
}
}
companion object {
lateinit var activeState: MultiVersionStage
fun initFrom(file: File) {
val prop = Properties()
if (file.exists()) {
file.inputStream().use(prop::load)
}
val multiVersion = prop["skyhanni.multi-version"]
activeState = MultiVersionStage.values().find { it.label == multiVersion } ?: OFF
println("SkyHanni multi version stage loaded: $activeState")
}
}
}
|