"gradle publish"错误地报告了最新信息

Ale*_*nov 2 gradle build.gradle

我正在尝试构建Apache S4并将其发布到我们的Nexus存储库.gradle publishToMavenLocal工作,所以我补充说

publishing {
    repositories {
        maven {
            credentials {
                username "admin"
                password "admin123"
            }
            url "http://127.0.0.1:9081/nexus/content/repositories/releases/"
        }
    }
}    
Run Code Online (Sandbox Code Playgroud)

build.gradleapply plugin: 'maven-publish'.这适用于同一台机器上的其他项目.但是,现在我明白了

aromanov@ws:~/etc/apache-s4-0.6.0$ gradle clean publish
Build file '/home/aromanov/etc/apache-s4-0.6.0/subprojects/s4-benchmarks/s4-benchmarks.gradle': line 42
The RepositoryHandler.mavenRepo() method has been deprecated and is scheduled to be removed in Gradle 2.0. Please use the maven() method instead.
Runs Apache RAT. Exclusions are defined in .rat-excludes fileUNDEFINED
:clean
:s4-base:clean
:s4-benchmarks:clean
:s4-comm:clean
:s4-core:clean
:s4-tools:clean
:test-apps:clean
:test-apps:consumer-app:clean
:test-apps:producer-app:clean
:test-apps:simple-deployable-app-1:clean
:s4-base:publish UP-TO-DATE
:s4-benchmarks:publish UP-TO-DATE
:s4-comm:publish UP-TO-DATE
:s4-core:publish UP-TO-DATE
:s4-tools:publish UP-TO-DATE
:test-apps:publish UP-TO-DATE
:test-apps:consumer-app:publish UP-TO-DATE
:test-apps:producer-app:publish UP-TO-DATE
:test-apps:simple-deployable-app-1:publish UP-TO-DATE

BUILD SUCCESSFUL

Total time: 10.468 secs
Run Code Online (Sandbox Code Playgroud)

gradle -i我得到

Selected primary task 'publish'
Tasks to be executed: [task ':s4-base:publish', task ':s4-benchmarks:publish', task ':s4-comm:publish', task ':s4-core:publish', task ':s4-tools:publish', task ':test-apps:publish', task ':test-apps:consumer-app:publish', task ':test-apps:producer-app:publish', task ':test-apps:simple-deployable-app-1:publish']
:s4-base:publish (Thread[main,5,main]) started.
:s4-base:publish
Skipping task ':s4-base:publish' as it has no actions.
:s4-base:publish UP-TO-DATE
:s4-base:publish (Thread[main,5,main]) completed. Took 0.005 secs.
... so on for other subprojects
Run Code Online (Sandbox Code Playgroud)

Nexus存储库中没有输出.我怎样才能解决这个问题?

更新:如果我使用"用户指南"第51章中的配置,则替换ivymaven:

uploadArchives {
    repositories {
        maven {
            credentials {
                username "admin"
                password "admin123"
            }
            url "http://127.0.0.1:9081/nexus/content/repositories/releases/"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

然后上传工作,但它上传jars和ivy.xml,没有POM.使用第52章的配置:

configurations {
    deployerJars
}

dependencies {
    deployerJars "org.apache.maven.wagon:wagon-http:2.2"
}

uploadArchives {
    configuration = configurations.deployerJars
    repositories {
        mavenDeployer {
            repository(url: "http://127.0.0.1:9081/nexus/content/repositories/releases/") {
                authentication(userName: "admin", password: "admin123")
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我明白了

aromanov@ws:~/etc/apache-s4-0.6.0$ gradle -i upload
Starting Build
Starting file lock listener thread.
...
Publishing configuration: configuration ':s4-base:deployerJars'
Publishing to repository 'mavenDeployer'
[ant:null] Error reading settings file '/tmp/gradle_empty_settings2934509160228124339.xml' - ignoring. Error was: /tmp/gradle_empty_settings2934509160228124339.xml (No such file or directory)
:s4-base:uploadArchives (Thread[main,5,main]) completed. Took 1.113 secs.
...
Run Code Online (Sandbox Code Playgroud)

完整的构建脚本.

小智 6

如果未找到任何操作,则会将其标记为最新.我正在使用gradle 2.4,这就像一个魅力

publishing {
publications {
    mavenJava(MavenPublication) {
        from components.java
    }
}
repositories {
maven {
  credentials {
    username 'admin'
    password 'password'
  }
  url "http://baseUrl/artifactory/libs-release-local"
}
}
}
Run Code Online (Sandbox Code Playgroud)

您需要提供发布存储库和发布.