Skip to content

aquamarine5/stackbricks-gradle-plugin

Repository files navigation

stackbricks-gradle-plugin

wakatime

添加依赖

方法1(推荐)

Important

强烈建议遵循Github官方文档进行部署。

  • 在项目根目录的setting.gradle文件中添加如下内容:
dependencyResolutionManagement {
    repositories {
        maven {
            url = uri("https://maven.pkg.github.com/aquamarine5/stackbricks-gradle-plugin")
            credentials {
                username = project.findProperty("gpr.user") ?: System.getenv("GPR_USERNAME")
                password = project.findProperty("gpr.key") ?: System.getenv("GPR_TOKEN")
            }
        }
    }
}

Warning

请确保gpr.usergpr.key的值已经在gradle.properties配置,或通过环境变量配置。

  • 随后在build.gradle文件中添加如下项:
plugins {
    id "org.aquamarine5.brainspark.stackbricks-gradle-plugin" version "$latest_sgp_version"
}

Note

目前最新版本为2.1.1,请将$latest_sgp_version替换为最新版本号,详见

方法2

Caution

暂时不打算对Gradle Plugin Portal源进行支持,可用的版本已明显落后最新版本,请不再使用此方法添加。

  • 直接使用Gradle Plugin Portal源
  • setting.gradle内,Gradle Plugin Portal源已默认启用(gradlePluginPortal()),无需再自行配置。
  • build.gradle文件添加以下项:
plugins {
    id "io.github.aquamarine5.stackbricks-gradle-plugin" version "$latest_sgp_version"
}

Note

目前最新版本为1.2,此源的更新速度会略慢于Gradle源,使用时请将$latest_sgp_version替换为最新版本号,详见

Tip

两种源的id不相符,但包内容一致,原因详见Gradle Plugin Portal对于包命名的要求

使用

  • build.gradle文件加入以下配置信息:
stackbricksConfig {
    host = "$cdn_host"
    configJsonFilePath = "stackbricks_manifest_v3.json"
    changelog = "lovely lonely"
    qiniuConfig {
        accessKey = project.findProperty("qiniu.accessKey")
        secretKey = project.findProperty("qiniu.secretKey")
        bucket = "$bucket"
        referer = project.findProperty("qiniu.referer") ?: ""
    }
}

Note

如果七牛云的存储空间未设置Referer防盗链设计,referer传入null或空字符串即可。
host值不需要http(s)://前缀。
关于七牛云的对象存储服务,详见

发布

gradle uploadApkByQiniu
  • 运行uploadApkByQiniu命令后会自动执行assembleRelease命令,生成APK文件,并上传到七牛云,更新Stackbricks配置文件。

Important

确保build.gradle正确配置了针对buildTypes.release.signingConfig的签名信息,避免生成app-release-unsigned.apk导致上传失败。

Stackbricks Config

v3 (stackbricks_manifest_v3.json)

{
    "manifestVersion": 3,
    "latestStable": {
        "changelog": "<string>",
        "downloadUrl": "<string, only file_name>",
        "forceInstall": "<boolean, BUT DEPRECATED, USE forceInstallLessVersion FIELD>",
        "packageName": "<string>",
        "releaseDate": "<long as Instant>",
        "versionCode": "<int>",
        "versionName": "<string>",
        "forceInstallLessVersion": "<int>"
    },
    "latestTest": {
        "changelog": "<string>",
        "downloadUrl": "<string, only file_name>",
        "forceInstall": "<boolean, BUT DEPRECATED, USE forceInstallLessVersion FIELD>",
        "packageName": "<string>",
        "releaseDate": "<long as Instant>",
        "versionCode": "<int>",
        "versionName": "<string>",
        "forceInstallLessVersion": "<int>"
    }
}

v2 (stackbricks_manifest_v2.json)

{
    "manifestVersion": 2,
    "latestStable": {
        "changelog": "<string>",
        "downloadUrl": "<string, only file_name>",
        "forceInstall": "<boolean>",
        "packageName": "<string>",
        "releaseDate": "<long as Instant>",
        "versionCode": "<int>",
        "versionName": "<string>"
    },
    "latestTest": {
        "changelog": "<string>",
        "downloadUrl": "<string, only file_name>",
        "forceInstall": "<boolean>",
        "packageName": "<string>",
        "releaseDate": "<long as Instant>",
        "versionCode": "<int>",
        "versionName": "<string>"
    }
}

v1 (stackbricks_config_v1.json)

{
  "@version": 1,
  "@type": "stackbricks-config",
  "latest": {
    "versionCode": "<int>",
    "versionName": "<string>",
    "downloadUrl": "<string>",
    "releaseDate": "<long as Instant>",
    "packageName": "<string>"
  },
  "versions": [
    "<StackbricksVersionData>"
  ]
}

About

适用于Stackbricks(一个在Android端的自动更新服务框架)的发布更新安装包的Gradle插件 Gradle plugin for publishing update installation packages for Stackbricks (an automatic update service framework on the Android side).

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages