上传自己的共享库到JitPack

405 阅读1分钟

目标

我们开发的库希望自己使用更方便或者其他人使用更方便,可以放到公共的仓库中,JitPack非常方便。本文解决Compose组件中使用了JDK 11

步骤

  • 在github上创建一个仓库
  • 创建一个库模块
  • 配置模块支持Jitpack
  • 在JitPack上完成发布

配置JitPack

创建一个库模块,希望这个库模块能够发布到JitPack,参考下面的问题2

JitPack完成发布

  • 创建一个tag
  • 上传tag到仓库
  • 在jitpack上点击这个tag,进行编译和发布

image.png

image.png

Log为绿色说明编译成功,为红色说明编译失败

问题

  • 解决JDK11的问题
  • 解决插件不能使用的问题

解决JDK 11问题

> Failed to apply plugin 'com.android.internal.application'.
   > Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.
     You can try some of the following options:
       - changing the IDE settings.
       - changing the JAVA_HOME environment variable.
       - changing `org.gradle.java.home` in `gradle.properties`.

配置jitpack.yml文件来确定jdk版本 在根目录创建jitpack.yml这个文件,文件中使用下面代码完成配置

jdk:
  - openjdk11

解决插件不能使用的问题

A problem occurred evaluating script.
> Failed to apply plugin 'com.github.dcendents.android-maven'.
   > Could not create plugin of type 'AndroidMavenPlugin'.
      > Could not generate a decorated class for type AndroidMavenPlugin.
         > org/gradle/api/publication/maven/internal/MavenPomMetaInfoProvider

使用下面的参考1文件中解决办法


plugins {
    id 'com.android.library'
    id 'kotlin-android'
    id 'maven-publish'
}

afterEvaluate {
    publishing {
        publications {
            release(MavenPublication) {
                from components.release
                groupId = 'com.zj.banner'
                artifactId = 'banner'
                version = '1.0.0'
            }
        }
    }
}

使用共享库

  • 增加仓库地址
  • 增加依赖
	allprojects {
		repositories {
			...
			maven { url 'https://jitpack.io' }
		}
	}
	dependencies {
	        implementation 'com.github.monkeydone:ComposeSamples:Tag'
	}

参考