- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 maven-publis h插件。我有一个名为 myMedia 的出版物。当我尝试执行tasks.findByName("publishMyMediaPublicationToSnapshotRepository")
,返回 null 。如果存在由maven-publish插件创建的具有该名称的任务,为什么它返回null。
我无法解决这个问题。任何帮助是极大的赞赏。
编辑1:START
我尝试了Francisco Mateo的建议来使用afterEvaluate方法,但是这似乎对我也不起作用。
但是,在试图找出实际原因时,我遇到了一个有趣的发现。我发现当我从任务中调用tasks.findByName("publishMyMediaPublicationToSnapshotRepository")
时,它可以很好地工作并打印出该任务,即 printTaskName 可以按预期运行:
task printTaskName{
doLast{
println "task name found is :--- "+tasks.findByName("publishMyMediaPublicationToSnapshotRepository")
}
}
task publishSnapshot (dependsOn: ['createMyMediaArchive','publishMyMediaPublicationToSnapshotRepository'])
tasks.findByName("publishMyMediaPublicationToSnapshotRepository").mustRunAfter tasks.findByName("createMyMediaArchive")
publishSnapshot.mustRunAfter tasks.findByName("publishMyMediaPublicationToSnapshotRepository")
Cannot invoke method mustRunAfter() on null object
import java.time.LocalDate;
import java.time.format.DateTimeFormatter
import java.text.SimpleDateFormat
import Tasks.PublishArtifacts
import org.gradle.api.GradleException
buildscript {
repositories {
abcRelease()
}
dependencies {
classpath "org.codehaus.groovy.modules.http-builder:http-builder:0.7"
classpath "commons-collections:commons-collections:3.2.1"
classpath "org.jfrog.buildinfo:build-info-extractor-gradle:4.9.10"
}
}
repositories {
mavenCentral()
abcSnapshot()
xyzRelease()
}
apply plugin: 'maven-publish'
apply plugin: 'base'
apply plugin:'java'
apply from: "$rootDir/repositories.gradle"
def getMediaVersion(){
project.mediaVersion
}
configurations{
releaseMedia
}
publishing{
publications {
myMedia(MavenPublication) {
artifactId project.artifactId
artifact "$project.artifactId"+"-"+getMediaVersion()+".tgz"
version getMediaVersion()
}
}
repositories project.artifactoryRepositories
}
task publishSnapshot (dependsOn: ['createMyMediaArchive','publishMyMediaPublicationToSnapshotRepository'])
tasks.findByName("publishMyMediaPublicationToSnapshotRepository").mustRunAfter tasks.findByName("createMyMediaArchive")
publishSnapshot.mustRunAfter tasks.findByName("publishMyMediaPublicationToSnapshotRepository")
afterEvaluate { evaluated ->
evaluated.tasks.findByName("publishMyMediaPublicationToSnapshotRepository").configure {
println "My Media name --------- "+it.name
}
}
task printTaskName{
doLast{
println "task name found is :--- "+tasks.findByName("publishMyMediaPublicationToSnapshotRepository") // This returns task name as exected
}
}
task createMyMediaArchive{
doLast{
//code for creating media
}
}
task publishSnapshot (dependsOn: ['publishHelmMediaPublicationToSnapshotRepository'])
最佳答案
maven-publish
插件执行的许多配置都是延迟完成的。
包装afterEvaluate
应该可以。
afterEvaluate { evaluated ->
evaluated.tasks.findByName("publishMyMediaPublicationToSnapshotRepository").configure {
println it.name
}
}
关于gradle - findByName()方法为gradle插件任务返回null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60261498/
我正在使用 maven-publis h插件。我有一个名为 myMedia 的出版物。当我尝试执行tasks.findByName("publishMyMediaPublicationToSnapsh
我正在使用 Spring Boot 和 Spring Data 来开发使用微服务架构的应用程序。在我的场景中,微服务有一个像这样的存储库 @Repository public inte
我确信我可以提高以下 hibernate 的 findByName 查询的性能: public List findByName(String name) { session.createCrite
我正在使用OpenIddict for token authentication 。昨天,当我调用 userManager.FindByNameAsync(request.Username) 时,我得
我有一个带有 ItemTemplate 的 Xamarin.Forms ListView。 ItemTemplate 包含一个名为“myEntry”的条目控件。每次选择一个项目时,我都想将焦点设置到条
我正在创建一个新的 API 并研究一些好的 API 命名约定。 例如,您有一个如下 API: GET - /users | Get all users GET - /users/:
我正在尝试将ejb应用程序从OC4J迁移到JBoss AS7,应用程序使用OJdbc 6和Hibernate 3,由于Jboss在Hibernate 4上运行,所以我将JBoss配置为支持Hibern
我使用的是4.0.0.M1 Organisation microsoft = organisations.findByName("Microsoft"); if (microsoft
我已经构建了一些绑定(bind)到 linq 数据源的下拉列表。当我在 gridview 上选择一行时,将执行查询,然后应根据查询中的数据设置下拉列表选择。当我这样做时,RegionListBox 工
我是一名优秀的程序员,十分优秀!