在我的第三个问题之后,几乎感觉像是在发垃圾邮件,因为我的问题看起来很微不足道。但我在 Gradle 文档中找不到对我的案例有任何帮助,而且关于 stackoverflow 的其他问题也没有帮助。
这次:我无法使用maven-publish
插件在我自己的独立自定义插件中。到目前为止我的插件的代码:
package com.sample.gradle;
import org.gradle.api.Project;
import org.gradle.api.Plugin;
public class SampleGradlePlugin implements Plugin<Project> {
public void apply(Project project) {
project.apply plugin: 'application'
project.apply plugin: 'maven-publish'
project.apply plugin: 'maven'
project.publishing.publications {
maven(MavenPublication) {
groupId project.group
artifactId project.name
version=project.version
from components.java
}
}
project.uploadArchives {
repositories {
mavenDeployer {
repository(url: project.Repo_Upload_Internal){
authentication(userName: project.Repo_Upload_User, password: project.Repo_Upload_Pass)
}
snapshotRepository(url: project.Repo_Upload_Snapshot){
authentication(userName: project.Repo_Upload_User, password: project.Repo_Upload_Pass)
}
}
}
}
//this try/catch is not important for my question
try{
project.repositories {
maven {
url project.Repo_Gp_Internal
credentials {
username project.Repo_Gp_User;
}
}
}
}
catch(MissingPropertyException e){
println "Info: '"+e.getProperty()+"' not declared in \\"+project.name+"\\gradle.properties"
}
}
}
The publishing
当我在我的一个项目中使用我的插件时,闭包是给我带来这个错误的重要部分:
FAILURE: Build failed with an exception.
* Where:
Build file 'C:\Users\quastc\Desktop\Gradle_Projects\Application_RootProject\buil
d.gradle' line: 3
* What went wrong:
A problem occurred evaluating root project 'Application_RootProject'.
> Failed to apply plugin [id 'sample.sample-groovy-plugin']
> Cannot create a Publication named 'MavenPublication' because this container
does not support creating elements by name alone. Please specify which subtype
of Publication to create. Known subtypes are: MavenPublication
我的错误在哪里?我忘记了什么?
如果有人回答,请告诉我你是如何获得知识的。
就我而言,我修复了该错误消息,添加了以下内容:
import org.gradle.api.publish.maven.MavenPublication
但后来遇到了其他问题,最后最终使用了星云发布插件 https://github.com/nebula-plugins/nebula-publishing-plugin,全部解决
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)