2013-06-26 4 views
2

Мой файл build.gradle содержит раздел, как это загрузить архивы Sonatype:gradle: как поделиться build.gradle, который содержит информацию, которую я единственный, у кого есть?

uploadArchives { 
    repositories { 
     mavenDeployer { 
      beforeDeployment { 
       MavenDeployment deployment -> signing.signPom(deployment); 
      } 

      // HERE 
      repository(url: sonatypeRepoURI) { 
       authentication(userName: sonatypeUsername, 
        password: sonatypePassword); 
      } 

      pom.project { 
       // etc etc 
      } 
     } 
    } 
} 

В точке, отмеченной HERE, другие пользователи, желающие использовать свой файл сборки не получится, потому что по крайней мере, первая переменная не не определено:

FAILURE: Build failed with an exception. 

* Where: 
Build file '/path/to/build.gradle' line: 144 

* What went wrong: 
A problem occurred evaluating root project 'whateverTheProject'. 
> No such property: sonatypeRepoURI for class: 
    org.gradle.api.publication.maven.internal.ant.DefaultGroovyMavenDeployer 

Как изменить раздел выше, чтобы пользователи не пострадали от этих переменных, которые не определены для них?

+1

Вот пример файла сборки, посвященного этой проблеме: https://github.com/Ninja-Squad/DbSetup/blob/master/build.gradle. –

+0

@JBNizet хороший! Я нашел другой способ, но он действительно хакерский по сравнению с этим решением! Если вы поместите это в качестве ответа, я с радостью приму это. Еще новичок с град ... – fge

ответ

9

Вы можете попробовать добавить все необходимые свойства в свой файл gradle.properties, который вы добавляете в систему контроля версий, но оставьте значения пустыми.

Например:

version=1.0 
signing.keyId= 
signing.password= 
signing.secretKeyRingFile= 

sonatypeUsername= 
sonatypePassword= 

Затем переопределить их в своих собственных $ {USER}/Gradle/gradle.properties.. В качестве примера рассмотрим рабочий проект https://github.com/judoole/monitorino. Должен быть способен выполнять все задачи на любой машине, кроме моментальный снимок, этап и сбор.

Редактировать: Я бы так не делал этого сегодня. Следуя руководству по грабли, используйте требуемый. Так же, как, например, от @ JB-nizet Gradle реф 53.3.3 Условный Подписание: http://www.gradle.org/docs/current/userguide/signing_plugin.html

+0

Интересно, спасибо! Я люблю град, но есть слишком много способов сделать что-то ... Исходя из того, что я был новичком Groovy, я думаю! – fge

+0

Получается лучше, когда вы получаете немного опыта с ним! А на дополнительном плюсиде вы узнаете новый и прекрасный язык программирования :) – judoole

1

Очень просто просто создать файл "gradle.properties" в "~/.gradle" со следующим содержанием:

sonatypeUsername =
sonatypePassword =

После запуска проекта. Он работает нормально.