3 Commits

Author SHA1 Message Date
a65a57f9e2 ci(github-action): 减少矩阵量, 以免大量占用 Action 资源.
把 windows 系统移除, 因此只需要检查是否兼容 jvm 版本即可.
2022-08-18 12:50:49 +08:00
19cc1b9358 ci(github-action): 试着加入兼容性测试.
试一下 Github Action 的矩阵作业, 不过本项目可能还用不到兼容性测试, 所以本改动可能不会并入主分支.
2022-08-18 12:43:55 +08:00
ff396425a7 refactor: 补充缺失代码.
由于先前的修改导致代码缺失, 我现在同意暂存功能很好用了.
2022-08-18 01:06:54 +08:00
2 changed files with 45 additions and 23 deletions

View File

@ -13,22 +13,46 @@ permissions:
contents: read
jobs:
build:
build-and-test:
timeout-minutes: 8
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up JDK 11
uses: actions/setup-java@v3
with:
java-version: '11'
distribution: 'adopt-hotspot'
cache: 'gradle'
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Build and test
uses: gradle/gradle-build-action@v2.2.1
with:
gradle-version: 'wrapper'
arguments: test
- uses: actions/checkout@v3
- name: Set up JDK 11
uses: actions/setup-java@v3
with:
java-version: '11'
distribution: 'adopt-hotspot'
cache: 'gradle'
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Build and test
uses: gradle/gradle-build-action@v2.2.1
with:
gradle-version: 'wrapper'
arguments: test
compatibility-check:
timeout-minutes: 30
continue-on-error: true
strategy:
matrix:
os: [ ubuntu-latest ]
java-version: [ 11, 12, 13, 14, 15, 16, 17, 18 ]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- name: Set up JDK
uses: actions/setup-java@v3
with:
java-version: ${{ matrix.java-version }}
distribution: 'adopt-hotspot'
cache: 'gradle'
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Build and test
uses: gradle/gradle-build-action@v2.2.1
with:
gradle-version: 'wrapper'
arguments: test

View File

@ -1,7 +1,6 @@
package net.lamgc.scalabot
import ch.qos.logback.core.PropertyDefinerBase
import com.google.common.net.InternetDomainName
import com.google.gson.Gson
import com.google.gson.GsonBuilder
import com.google.gson.JsonArray
@ -16,9 +15,9 @@ import org.eclipse.aether.repository.RepositoryPolicy
import org.telegram.telegrambots.bots.DefaultBotOptions
import java.io.File
import java.net.URL
import java.net.URLEncoder
import java.nio.charset.StandardCharsets
import java.util.concurrent.atomic.AtomicBoolean
import java.util.concurrent.atomic.AtomicInteger
import java.util.function.Supplier
import kotlin.reflect.KProperty
@ -45,7 +44,7 @@ internal fun ProxyConfig.toAetherProxy(): Proxy? {
internal fun MavenRepositoryConfig.toRemoteRepository(proxyConfig: ProxyConfig? = null): RemoteRepository {
val repositoryId = if (id == null) {
val generatedRepoId = createDefaultRepositoryId(url)
val generatedRepoId = createDefaultRepositoryId()
log.debug { "仓库 Url `$url` 未设置仓库 Id, 已分配缺省 Id: $generatedRepoId" }
generatedRepoId
} else {
@ -93,11 +92,10 @@ private fun checkRepositoryLayout(layoutType: String): String {
return type
}
private fun createDefaultRepositoryId(url: URL): String {
val topPrivateDomain = InternetDomainName.from(url.host).topPrivateDomain().toString()
return "Repository-${URLEncoder.encode(topPrivateDomain, StandardCharsets.UTF_8)}-${
url.toString().hashCode().toString(16)
}"
private val repoNumberGenerator = AtomicInteger(1)
private fun createDefaultRepositoryId(): String {
return "Repository-${repoNumberGenerator.getAndIncrement()}"
}
/**