2013-11-19 3 views
1

Я пытаюсь построить Apache S4 и опубликовать его в нашем репозитории Nexus. gradle publishToMavenLocal работал, так что я добавил«gradle publish» ошибочно сообщает актуальность

publishing { 
    repositories { 
     maven { 
      credentials { 
       username "admin" 
       password "admin123" 
      } 
      url "http://127.0.0.1:9081/nexus/content/repositories/releases/" 
     } 
    } 
}  

к build.gradle после apply plugin: 'maven-publish'. Это работало для других проектов на одной машине. Тем не менее, теперь я получаю

[email protected]:~/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 

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 

Там нет выхода в хранилище Nexus. Как я могу это исправить?

UPDATE: если я использую конфигурацию из главы 51 Руководства пользователя, заменяющей ivy по maven:

uploadArchives { 
    repositories { 
     maven { 
      credentials { 
       username "admin" 
       password "admin123" 
      } 
      url "http://127.0.0.1:9081/nexus/content/repositories/releases/" 
     } 
    } 
} 

затем загрузить работы, но загружать банки и ivy.xml, без РОМА. При конфигурации из главы 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") 
      } 
     } 
    } 
} 

Я получаю

[email protected]:~/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. 
... 

complete build script.

+0

Вы объявляете какие-либо публикации, как описано в [Руководстве пользователя Gradle] (http://gradle.org/docs/current/userguide/userguide_single.html)? Также обратите внимание, что новый и инкубирующий плагин 'maven-publish' имеет известные ограничения. В настоящее время, как правило, безопаснее использовать существующий плагин 'maven'. –

+0

@PeterNiederwieser Я пытался использовать плагин 'maven', но не удалось. См. Обновление. –

+0

Если он загружает 'ivy.xml', то, вероятно, что-то не так с вашим скриптом сборки (но на основе предоставленной информации я не могу сказать, что). Последний фрагмент завершился неудачей, так как перед тем, как он будет использоваться, должна быть объявлена ​​конфигурация (например, «конфигурации» должны появиться перед «зависимостями»). –

ответ

3

Если никаких действий не найдено, оно будет отображаться как с пометкой. Я использую Gradle 2.4, и это работает как шарм

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

вам необходимо предоставить публиковать репозитории и публикацию.

+0

У меня была такая же проблема, пока я не добавил локальный репозиторий ~/.m2/репозиторий следующим образом: репозиториев { Maven { 'файлов: //' URL + System.getProperty ('user.home') + «/ ,м2/репозиторий/' } } –

Смежные вопросы