在 Jitpack 上发布开源项目(基于 Gradle 8.2) 省流版

王先生
2024-06-20 / 0 评论 / 13 阅读 / 正在检测是否收录...

创建好项目之后创建模块,创建好模块之后进行配置。
本篇为省流版,默认 gradle 新老版本使用经验,详细步骤版请看另一篇文章https://blog.1okk.com/archives/146.html

理论上 高版本 gradle 发布 jitpack 的教程本文通用。

配置

根 setting.gradle 添加如下参数

pluginManagement {
    repositories {
        ……
    }
}

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        ……
        maven {
            url "https://jitpack.io"
            allowInsecureProtocol = true // 如果 url 为 http 协议,需要添加此项;https 可不用
        }
    }
}

rootProject.name = "NetUtils"
include ':app'
include ':netutils'

要发布的模块 build.gradle 修改如下

plugins {
    ……
    id 'maven-publish'
}
android {
    ……
}

afterEvaluate {
    publishing {
        // 当前依赖库的版本号,方便我们开发者自己查看,同时发布到 MavenLocal 也是用的这个版本号(Jitpack不会使用到)
        def versionName = "1.0.0"
        publications {
            release(MavenPublication) {
                // 自定义属性 这里头是artifacts的配置信息,不填会采用默认的
                groupId = 'net.moao.netutils' // 依赖库的 Group Id(Jitpack不会使用到)
                artifactId = 'netutils' // 依赖库的名称,单组件发布时随意填写,多组件时即为此组件的 ArtifactId(Jitpack不会使用到)
                version = versionName
                // 增加上传源码的 task
                artifact sourceJar
                // 必须有这个 否则不会上传AAR包  将bundleReleaseAar任务的单个输出文件作为发布的AAR文件。这样,该AAR文件就会成为 MavenPublication 的 artifact 并进行发布
                afterEvaluate { artifact(tasks.getByName("bundleReleaseAar")) }
            }
        }
    }
}

// 增加上传源码的task
task sourceJar(type: Jar) {
    from android.sourceSets.main.java.srcDirs
    archiveClassifier = "sources"
}

dependencies {
    ……
}

创建 jitpack.yml 指定 jitpack 使用的 java 版本

根目录创建 jitpack.yml

before_install:
  - sdk install java 17.0.7-open
  - sdk use java 17.0.7-open
jdk:
  - openjdk17

配置完成,前往仓库上传源码,创建 TAG,然后就能在 jitpack 上发布了。

评论 (0)

取消