diff --git a/scalabot-app/src/main/kotlin/AppConfigs.kt b/scalabot-app/src/main/kotlin/AppConfigs.kt index ad3796d..090370b 100644 --- a/scalabot-app/src/main/kotlin/AppConfigs.kt +++ b/scalabot-app/src/main/kotlin/AppConfigs.kt @@ -106,6 +106,8 @@ internal data class MavenRepositoryConfig( val url: URL, val proxy: Proxy? = Proxy("http", "127.0.0.1", 1080), val layout: String = "default", + val enableReleases: Boolean = true, + val enableSnapshots: Boolean = true, // 可能要设计个 type 来判断解析成什么类型的 Authentication. val authentication: Authentication? = null ) { @@ -121,14 +123,14 @@ internal data class MavenRepositoryConfig( builder.setReleasePolicy( RepositoryPolicy( - true, + enableReleases, RepositoryPolicy.UPDATE_POLICY_NEVER, RepositoryPolicy.CHECKSUM_POLICY_FAIL ) ) builder.setSnapshotPolicy( RepositoryPolicy( - true, + enableSnapshots, RepositoryPolicy.UPDATE_POLICY_ALWAYS, RepositoryPolicy.CHECKSUM_POLICY_WARN ) diff --git a/scalabot-app/src/main/kotlin/util/Serializers.kt b/scalabot-app/src/main/kotlin/util/Serializers.kt index f4a5698..0257c28 100644 --- a/scalabot-app/src/main/kotlin/util/Serializers.kt +++ b/scalabot-app/src/main/kotlin/util/Serializers.kt @@ -142,12 +142,15 @@ internal object MavenRepositoryConfigSerializer return when (json) { is JsonObject -> { MavenRepositoryConfig( + id = json.get("id")?.asString, url = URL(checkJsonKey(json, "url")), proxy = if (json.has("proxy") && json.get("proxy").isJsonObject) context.deserialize( json.getAsJsonObject("proxy"), Proxy::class.java ) else null, layout = json.get("layout").asString ?: "default", + enableReleases = json.get("enableReleases")?.asBoolean ?: true, + enableSnapshots = json.get("enableSnapshots")?.asBoolean ?: true, authentication = if (json.has("authentication") && json.get("authentication").isJsonObject) context.deserialize( json.getAsJsonObject("authentication"), Authentication::class.java