chore!: migrate to version 2.x

This commit is contained in:
hstyi
2025-06-13 15:16:56 +08:00
committed by GitHub
parent ca484618c7
commit 6177bbdc68
444 changed files with 18594 additions and 3832 deletions

View File

@@ -0,0 +1,41 @@
package app.termora.plugins.oss
import org.apache.commons.vfs2.Capability
import org.apache.commons.vfs2.FileName
import org.apache.commons.vfs2.FileSystem
import org.apache.commons.vfs2.FileSystemOptions
import org.apache.commons.vfs2.provider.AbstractOriginatingFileProvider
class OSSFileProvider private constructor() : AbstractOriginatingFileProvider() {
companion object {
val instance by lazy { OSSFileProvider() }
val capabilities = listOf(
Capability.CREATE,
Capability.DELETE,
Capability.RENAME,
Capability.GET_TYPE,
Capability.LIST_CHILDREN,
Capability.READ_CONTENT,
Capability.URI,
Capability.WRITE_CONTENT,
Capability.GET_LAST_MODIFIED,
Capability.SET_LAST_MODIFIED_FILE,
Capability.RANDOM_ACCESS_READ,
Capability.APPEND_CONTENT
)
}
override fun getCapabilities(): Collection<Capability> {
return OSSFileProvider.capabilities
}
override fun doCreateFileSystem(
rootFileName: FileName,
fileSystemOptions: FileSystemOptions
): FileSystem? {
TODO("Not yet implemented")
}
}

View File

@@ -0,0 +1,35 @@
package app.termora.plugins.oss
import app.termora.DynamicIcon
import app.termora.I18n
import app.termora.Icons
import app.termora.plugin.Extension
import app.termora.plugin.ExtensionSupport
import app.termora.plugin.PaidPlugin
import app.termora.protocol.ProtocolHostPanelExtension
import app.termora.protocol.ProtocolProviderExtension
class OSSPlugin : PaidPlugin {
private val support = ExtensionSupport()
init {
support.addExtension(ProtocolProviderExtension::class.java) { OSSProtocolProviderExtension.instance }
support.addExtension(ProtocolHostPanelExtension::class.java) { OSSProtocolHostPanelExtension.instance }
}
override fun getAuthor(): String {
return "TermoraDev"
}
override fun getName(): String {
return "Alibaba OSS"
}
override fun <T : Extension> getExtensions(clazz: Class<T>): List<T> {
return support.getExtensions(clazz)
}
}

View File

@@ -0,0 +1,22 @@
package app.termora.plugins.oss
import app.termora.Host
import app.termora.protocol.ProtocolHostPanel
import org.apache.commons.lang3.StringUtils
class OSSProtocolHostPanel : ProtocolHostPanel() {
override fun getHost(): Host {
return Host(
name = StringUtils.EMPTY,
protocol = OSSProtocolProvider.PROTOCOL
)
}
override fun setHost(host: Host) {
}
override fun validateFields(): Boolean {
return true
}
}

View File

@@ -0,0 +1,19 @@
package app.termora.plugins.oss
import app.termora.protocol.ProtocolHostPanel
import app.termora.protocol.ProtocolHostPanelExtension
import app.termora.protocol.ProtocolProvider
class OSSProtocolHostPanelExtension private constructor() : ProtocolHostPanelExtension {
companion object {
val instance by lazy { OSSProtocolHostPanelExtension() }
}
override fun getProtocolProvider(): ProtocolProvider {
return OSSProtocolProvider.instance
}
override fun createProtocolHostPanel(): ProtocolHostPanel {
return OSSProtocolHostPanel()
}
}

View File

@@ -0,0 +1,33 @@
package app.termora.plugins.oss
import app.termora.DynamicIcon
import app.termora.Icons
import app.termora.protocol.FileObjectHandler
import app.termora.protocol.FileObjectRequest
import app.termora.protocol.TransferProtocolProvider
import org.apache.commons.vfs2.provider.FileProvider
class OSSProtocolProvider private constructor() : TransferProtocolProvider {
companion object {
val instance by lazy { OSSProtocolProvider() }
const val PROTOCOL = "OSS"
}
override fun getProtocol(): String {
return PROTOCOL
}
override fun getIcon(width: Int, height: Int): DynamicIcon {
return Icons.aliyun
}
override fun getFileProvider(): FileProvider {
return OSSFileProvider.instance
}
override fun getRootFileObject(requester: FileObjectRequest): FileObjectHandler {
TODO("Not yet implemented")
}
}

View File

@@ -0,0 +1,14 @@
package app.termora.plugins.oss
import app.termora.protocol.ProtocolProvider
import app.termora.protocol.ProtocolProviderExtension
class OSSProtocolProviderExtension private constructor() : ProtocolProviderExtension {
companion object {
val instance by lazy { OSSProtocolProviderExtension() }
}
override fun getProtocolProvider(): ProtocolProvider {
return OSSProtocolProvider.Companion.instance
}
}

View File

@@ -0,0 +1,24 @@
<termora-plugin>
<id>oss</id>
<name>Alibaba OSS</name>
<paid/>
<version>${projectVersion}</version>
<termora-version since=">=${rootProjectVersion}" until=""/>
<entry>app.termora.plugins.oss.OSSPlugin</entry>
<descriptions>
<description>Connecting to Alibaba OSS</description>
<description language="zh_CN">支持连接到阿里云对象存储</description>
<description language="zh_TW">支援連接到阿里雲物件存儲</description>
</descriptions>
<vendor url="https://github.com/TermoraDev">TermoraDev</vendor>
</termora-plugin>

View File

@@ -0,0 +1 @@
<svg t="1747212946112" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1350" width="16" height="16"><path d="M853.33333333 79.6444448H170.66666667C120.6044448 79.6444448 79.6444448 120.6044448 79.6444448 170.66666667v682.66666666c0 50.06222187 40.96 91.02222187 91.02222187 91.02222187h682.66666666c50.06222187 0 91.02222187-40.96 91.02222187-91.02222187V170.66666667c0-50.06222187-40.96-91.02222187-91.02222187-91.02222187zM298.09777813 700.87111147c-56.88888853 0-104.6755552-45.51111147-104.67555626-102.4v-175.21777814c0-56.88888853 45.51111147-102.4 104.67555626-102.4v-2.2755552H466.48888853l-13.65333333 59.16444374-145.6355552 31.85777813c-13.65333333 4.55111147-22.7555552 13.65333333-22.7555552 27.30666667v147.91111146c0 13.65333333 11.37777813 25.03111147 22.7555552 27.30666667l143.36 29.58222187 13.65333333 59.1644448h-166.1155552z m273.06666667-202.5244448v29.58222186h-116.05333333v-29.58222186h116.05333333zM830.57777813 600.74666667c0 56.88888853-45.51111147 102.4-104.67555626 102.4H557.51111147l13.65333333-59.1644448 143.36-29.58222187c13.65333333-4.55111147 22.7555552-13.65333333 22.7555552-27.30666667v-147.91111146c0-13.65333333-11.37777813-25.03111147-22.7555552-27.30666667l-143.36-29.58222187-13.65333333-59.1644448h166.1155552c56.88888853 0 104.6755552 45.51111147 104.6755552 102.4v175.21777814z" p-id="1351" fill="#6C707E"></path></svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@@ -0,0 +1 @@
<svg t="1747211795611" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1290" width="16" height="16"><path d="M832 106.666667H192C145.066667 106.666667 106.666667 145.066667 106.666667 192v640c0 46.933333 38.4 85.333333 85.333333 85.333333h640c46.933333 0 85.333333-38.4 85.333333-85.333333V192c0-46.933333-38.4-85.333333-85.333333-85.333333zM311.466667 689.066667c-53.333333 0-98.133333-42.666667-98.133334-96v-164.266667c0-53.333333 42.666667-96 98.133334-96v-2.133333H469.333333l-12.8 55.466666-136.533333 29.866667c-12.8 4.266667-21.333333 12.8-21.333333 25.6v138.666667c0 12.8 10.666667 23.466667 21.333333 25.6l134.4 27.733333 12.8 55.466667h-155.733333z m256-189.866667v27.733333h-108.8v-27.733333h108.8zM810.666667 595.2c0 53.333333-42.666667 96-98.133334 96H554.666667l12.8-55.466667 134.4-27.733333c12.8-4.266667 21.333333-12.8 21.333333-25.6v-138.666667c0-12.8-10.666667-23.466667-21.333333-25.6l-134.4-27.733333-12.8-55.466667h155.733333c53.333333 0 98.133333 42.666667 98.133333 96v164.266667z" p-id="1291" fill="#CED0D6"></path></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB