Shadow
Shadow copied to clipboard
aar-to-jar-plugin 发布到本地仓的方式找不到啊
发布本地仓,本地仓压根没有aar-to-jar-plugin 。解决下被
aar-to-jar-plugin
是属于coding
group的,也就是一些服务于Shadow这个项目内部的模块,所以不需要发布到maven中。Shadow的接入方是不会依赖这些模块的。
如果你需要复用这个模块,是可以在buildScripts/gradle/maven.gradle
中仿照其他模块的发布配置添加这个模块的。
不将这些内部模块的发布任务都加到maven.gradle中使它们成为对外服务的模块,是为了减少维护成本。对外服务的模块需要考虑接口的前后兼容性。内部服务的模块可以较为随意的变更接口。
在source 中的 sample-app模块下有项目依赖 pluginCompileOnly project(":sample-host-lib") normalImplementation project(":sample-host-lib") 那么是不是应该把sample-host-lib 单独发布一个jar文件或者maven给接入方呢? 目前想通过shadow 调用接入方里面的方法 并返回数据.(调用过程种可能回有页面展示等所以不能直接用dexloader方式简单的实现) 是不是在sample-host-lib对外提供接口即可了.谢谢指导
在source 中的 sample-app模块下有项目依赖 pluginCompileOnly project(":sample-host-lib") normalImplementation project(":sample-host-lib") 那么是不是应该把sample-host-lib 单独发布一个jar文件或者maven给接入方呢? 目前想通过shadow 调用接入方里面的方法 并返回数据.(调用过程种可能回有页面展示等所以不能直接用dexloader方式简单的实现) 是不是在sample-host-lib对外提供接口即可了.谢谢指导
没能理解这和aar-to-jar-plugin
的关系。
//以下内容主要用于发布插件 apply plugin: 'maven-publish' apply plugin: 'java-library' repositories { mavenCentral() } group = 'com' version = '1.0.0'
publishing { publications { upload(MavenPublication) { from components.java } } repositories { maven { name('mukun') url('') credentials { username = '' password = '' } } } } 试了下用这个发布是可以的
aar-to-jar-plugin
因为sample-host-lib 模块中的build.gradle文件引入了"apply plugin: 'com.tencent.shadow.internal.aar-to-jar' 如果不把这个插件发布到私服,那么就会报错。
我遇到的问题是: 找不到 classpath 'com.tencent.shadow.coding:aar-to-jar-plugin' 这个插件。请问这个插件是放在哪里的?
碰到了一样的问题,希望这些能帮助你
def codingGroupId = 'com.tencent.shadow.internal'
def codingPath = 'projects/sdk/coding'
publishing {
publications {
aarToJarPlugin(MavenPublication) {
groupId codingGroupId + ".aar-to-jar-plugin"
artifactId codingGroupId + ".aar-to-jar-plugin.gradle.plugin"
version publicationVersion
artifact("$codingPath/aar-to-jar-plugin/build/libs/aar-to-jar-plugin.jar")
artifact sourceJar("aar-to-jar-plugin", "$codingPath/aar-to-jar-plugin")
pom.withXml {
def root = asNode()
def dependencies = root.appendNode('dependencies')
dependencies.append(getDependencyNode('compile', 'org.jetbrains.kotlin', 'kotlin-stdlib-jdk7', kotlin_version))
dependencies.append(getDependencyNode('compile', 'com.android.tools.build', 'gradle', build_gradle_version))
def scm = root.appendNode('scm')
setScm(scm)
}
}
androidJar(MavenPublication) {
groupId codingGroupId + '.android-jar'
artifactId codingGroupId + '.android-jar.gradle.plugin'
version publicationVersion
artifact("$codingPath/android-jar/build/libs/android-jar.jar")
artifact sourceJar("android-jar", "$codingPath/android-jar")
pom.withXml {
def root = asNode()
def dependencies = root.appendNode('dependencies')
dependencies.append(getDependencyNode('compile', 'org.jetbrains.kotlin', 'kotlin-stdlib-jdk7', kotlin_version))
dependencies.append(getDependencyNode('compile', codingGroupId, 'get-android-jar', publicationVersion))
def scm = root.appendNode('scm')
setScm(scm)
}
}
codeGenerator(MavenPublication) {
groupId codingGroupId + '.code-generator'
artifactId codingGroupId + '.code-generator.gradle.plugin'
version publicationVersion
artifact("$codingPath/code-generator/build/libs/code-generator.jar")
artifact sourceJar("code-generator", "$codingPath/code-generator")
pom.withXml {
def root = asNode()
def dependencies = root.appendNode('dependencies')
dependencies.append(getDependencyNode('compile', 'org.jetbrains.kotlin', 'kotlin-stdlib-jdk7', kotlin_version))
dependencies.append(getDependencyNode('compile', 'com.squareup', 'javapoet', javapoet_version))
dependencies.append(getDependencyNode('compile', 'org.javassist', 'javassist', javassist_version))
dependencies.append(getDependencyNode('compile', 'junit', 'junit', junit_version))
def scm = root.appendNode('scm')
setScm(scm)
}
}
commonJarSettings(MavenPublication) {
groupId codingGroupId + '.common-jar-settings'
artifactId codingGroupId + '.common-jar-settings.gradle.plugin'
version publicationVersion
artifact("$codingPath/common-jar-settings/build/libs/common-jar-settings.jar")
artifact sourceJar("common-jar-settings", "$codingPath/common-jar-settings")
pom.withXml {
def root = asNode()
def dependencies = root.appendNode('dependencies')
dependencies.append(getDependencyNode('compile', 'org.jetbrains.kotlin', 'kotlin-stdlib-jdk7', kotlin_version))
dependencies.append(getDependencyNode('compile', 'com.android.tools.build', 'gradle', build_gradle_version))
dependencies.append(getDependencyNode('compile', 'org.jetbrains.kotlin', 'kotlin-gradle-plugin', kotlin_version))
def scm = root.appendNode('scm')
setScm(scm)
}
}
getAndroidJar(MavenPublication) {
groupId codingGroupId + '.get-android-jar'
artifactId codingGroupId + '.get-android-jar.gradle.plugin'
version publicationVersion
// artifact("$codingPath/get-android-jar/build/libs/get-android-jar.jar")
artifact sourceJar("get-android-jar", "$codingPath/get-android-jar")
pom.withXml {
def root = asNode()
def dependencies = root.appendNode('dependencies')
// dependencies.append(getDependencyNode('compile', 'org.jetbrains.kotlin', 'kotlin-stdlib-jdk7', kotlin_version))
// dependencies.append(getDependencyNode('compile', 'com.android.tools.build', 'gradle', build_gradle_version))
// dependencies.append(getDependencyNode('compile', 'org.jetbrains.kotlin', 'kotlin-gradle-plugin', kotlin_version))
def scm = root.appendNode('scm')
setScm(scm)
}
}
javaBuildConfig(MavenPublication) {
groupId codingGroupId + '.java-build-config'
artifactId codingGroupId + '.java-build-config.gradle.plugin'
version publicationVersion
artifact("$codingPath/java-build-config/build/libs/java-build-config.jar")
artifact sourceJar("java-build-config", "$codingPath/java-build-config")
pom.withXml {
def root = asNode()
def dependencies = root.appendNode('dependencies')
// dependencies.append(getDependencyNode('compile', 'org.jetbrains.kotlin', 'kotlin-stdlib-jdk7', kotlin_version))
// dependencies.append(getDependencyNode('compile', 'com.android.tools.build', 'gradle', build_gradle_version))
// dependencies.append(getDependencyNode('compile', 'org.jetbrains.kotlin', 'kotlin-gradle-plugin', kotlin_version))
def scm = root.appendNode('scm')
setScm(scm)
}
}
}