wagon-git和Gradle

时间:2014-06-13 14:41:23

标签: git maven gradle

这个漂亮的小工具承诺帮助我将工件上传到私人Bitbucket仓库。

http://synergian.github.io/wagon-git/bitbucket.html

我在Gradle构建中使用本指南时遇到了麻烦...

我发现了这个简短而有限的例子, https://github.com/UniconLabs/ssl-utils/blob/master/build.gradle

对我来说最不清楚的是这部分关于如何在我的maven家中准备settings.xml。我应该使用我的.gradle文件夹,因为我使用Gradle?

  

Bitbucket Private Repositories

     

以相同的方式继续,但在Maven中添加基本身份验证   settings.xml(通常位于$ MAVEN_HOME目录,请查看   http://maven.apache.org/settings.html完整指南。

<settings>
        ...
        <servers>
                <server>
                        <id>your-repo-id</id>
                        <username>yourbitbucketusername</username>
                        <password>yourbitbucketpassword</password>
                </server>
                ...
        </servers>
        ...
</settings>

3 个答案:

答案 0 :(得分:2)

最简单的方法是转到〜/ .gradle / gradle.properties文件,并添加以下两行:

yourbitbucketusername = [bitbucket username]
yourbitbucketpassword  = [bitbucket password]

然后,您可以在build.gradle中添加以下内容:

uploadArchives {
    repositories {
        mavenDeployer {
        repository(url: "repo url") {
        authentication(userName: yourbitbucketusername, 
                password: yourbitbucketpassword)
}

答案 1 :(得分:0)

我使它可以与以下脚本一起使用,但是在此之前,您需要执行以下步骤:

  1. 在bitbucket中创建存储库。
  2. 创建ssh密钥并添加到您的bitbucket帐户。 (请记住,将密钥文件保存在〜/ .ssh /文件夹中。(好像wagon-git总是在这里搜索密钥)
  3. 创建gradle.properties文件以配置所需的变量。

    COMPANY = user name or team or company

    REPOSITORY_NAME = repository name on bitbucket

    ARTIFACT_PACKAGE = com.company.package.id

    ARTIFACT_VERSION = 1.0.0

    ARTIFACT_NAME = library name

    ARTIFACT_PACKAGING = aar

  4. 在项目文件夹中创建一个名为“ publish-bitbucket.gradle”的gradle文件。将以下代码复制并粘贴到其中。

    应用插件:“ maven”

    存储库{ 专家{url“ https://raw.github.com/synergian/wagon-git/releases”} }

    配置{ deployLibrary }

    依赖项{ 实现fileTree(dir:'libs',包括:['* .jar']) deployLibrary“ ar.com.synergian:wagon-git:0.2.5” }

    uploadArchives {

    repositories.mavenDeployer {
        configuration = configurations.deployLibrary
        repository(url: 'git:master://git@bitbucket.org:' + COMPANY + '/' + REPOSITORY_NAME + '.git')
        pom.project {
            groupId = ARTIFACT_PACKAGE
            version = ARTIFACT_VERSION
            artifactId = ARTIFACT_NAME
            packaging ARTIFACT_PACKAGING
        }
    }
    

    }

  5. 转到模块文件夹,打开build.gradle文件并将其粘贴到行下方

    从以下位置应用:“ ../ publish-bitbucket.gradle”

  6. 现在,您可以运行名称为“ uploadArchives”的gradle任务,将aar文件部署到bitbucket。

  7. 以引用android studio中的库。将如下所示的Maven配置添加到您的项目build.gradle文件中。

    allprojects { 储存库{ 谷歌() jcenter()

        maven {
            url 'https://maven.google.com/'
        }
    
        maven {
            credentials {
                username "bitbucket user name"
                password "generated personal app password"
            }
    
            authentication {
                basic(BasicAuthentication)
            }
    
            url "https://api.bitbucket.org/2.0/repositories/`user name or team`/`repository name`/src/master"
        }
    }
    

    }

  8. 在build.gradle文件中。使用以下格式实现库。

    实现(组:“ com.company.app.id”,名称:“模块名称”,版本:“ 1.0.0”,扩展名:“ aar”)

我试图纠正代码格式以使其正确显示在我的答案中,但是当我粘贴gradle代码时,似乎很难纠正它。希望对您有帮助!

答案 2 :(得分:0)

为了避免 bitbucket 身份验证的问题和可能通过 gradle 泄露密码的问题,我只是发布到本地 git repo,然后手动将提交推送到 bitbucket。