From 692fe5b8f9cdb6ade51342a9832ceb83abde4dd4 Mon Sep 17 00:00:00 2001 From: LamGC Date: Tue, 22 Feb 2022 01:32:02 +0800 Subject: [PATCH] =?UTF-8?q?feat(extension):=20Maven=20=E4=BB=93=E5=BA=93?= =?UTF-8?q?=E6=90=9C=E7=B4=A2=E5=99=A8=E5=B0=86=E4=BD=BF=E7=94=A8=E5=85=A8?= =?UTF-8?q?=E5=B1=80=E4=BB=A3=E7=90=86=E4=B8=8B=E8=BD=BD=E6=89=A9=E5=B1=95?= =?UTF-8?q?=E5=8C=85.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 改动后, 配置的全局代理将适用于 MavenRepositoryExtensionFinder. --- scalabot-app/src/main/kotlin/AppConfigs.kt | 13 ++++++++++++- scalabot-app/src/main/kotlin/ExtensionComponents.kt | 5 ++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/scalabot-app/src/main/kotlin/AppConfigs.kt b/scalabot-app/src/main/kotlin/AppConfigs.kt index a7fa127..e6cdabb 100644 --- a/scalabot-app/src/main/kotlin/AppConfigs.kt +++ b/scalabot-app/src/main/kotlin/AppConfigs.kt @@ -7,6 +7,7 @@ import mu.KotlinLogging import net.lamgc.scalabot.util.ArtifactSerializer import net.lamgc.scalabot.util.ProxyTypeSerializer import org.eclipse.aether.artifact.Artifact +import org.eclipse.aether.repository.Proxy import org.telegram.telegrambots.bots.DefaultBotOptions import java.io.File import java.nio.charset.StandardCharsets @@ -58,7 +59,17 @@ internal data class ProxyConfig( val type: DefaultBotOptions.ProxyType = DefaultBotOptions.ProxyType.NO_PROXY, val host: String = "127.0.0.1", val port: Int = 1080 -) +) { + + fun toAetherProxy(): Proxy? { + return if (type == DefaultBotOptions.ProxyType.HTTP) { + Proxy(Proxy.TYPE_HTTP, host, port) + } else { + null + } + } + +} internal data class MetricsConfig( val enable: Boolean = false, diff --git a/scalabot-app/src/main/kotlin/ExtensionComponents.kt b/scalabot-app/src/main/kotlin/ExtensionComponents.kt index 46cb00e..7a6ebe0 100644 --- a/scalabot-app/src/main/kotlin/ExtensionComponents.kt +++ b/scalabot-app/src/main/kotlin/ExtensionComponents.kt @@ -25,7 +25,10 @@ internal class ExtensionLoader( private val finders: Set = setOf( FileNameFinder, MavenMetaInformationFinder, - MavenRepositoryExtensionFinder(LocalRepository("${System.getProperty("user.home")}/.m2/repository")) + MavenRepositoryExtensionFinder( + LocalRepository("${System.getProperty("user.home")}/.m2/repository"), + proxy = Const.config.proxy.toAetherProxy() + ) ) fun getExtensions(): Set {