日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內(nèi)最全I(xiàn)T社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > php開源 > php教程 > Gradle 1.12用戶指南翻譯——第五十三章. 簽名插件

Gradle 1.12用戶指南翻譯——第五十三章. 簽名插件

來源:程序員人生   發(fā)布時(shí)間:2017-04-08 13:45:21 閱讀次數(shù):7067次
其他章節(jié)的翻譯請參見:
http://blog.csdn.net/column/details/gradle-translation.html
翻譯項(xiàng)目請關(guān)注Github上的地址:
https://github.com/msdx/gradledoc
本文翻譯所在分支:
https://github.com/msdx/gradledoc/tree/1.12。
直接閱讀雙語版的文檔請?jiān)L問:
http://gradledoc.qiniudn.com/1.12/userguide/userguide.html。
另外,Android 手機(jī)用戶可通過我寫的1個(gè)程序閱讀文檔,帶緩存功能的,目前0.5版本兼容 Android 2.3以上系統(tǒng),項(xiàng)目地址以下:
https://github.com/msdx/gradle-doc-apk
翻譯不容易,轉(zhuǎn)載請注明本文在CSDN博客上的出處:
http://blog.csdn.net/maosidiaoxian/article/details/54292923

關(guān)于我對Gradle的翻譯,以Github上的項(xiàng)目及http://gradledoc.qiniudn.com 上的文檔為準(zhǔn)。如發(fā)現(xiàn)翻譯有誤的地方,將首先在以上兩個(gè)地方更新。因時(shí)間精力問題,博客中發(fā)表的譯文基本不會同步修改。

另外,目前Gradle1.12版本的文檔進(jìn)入校稿階段,校稿的方式可以為到該項(xiàng)目https://github.com/msdx/gradledoc 提交issue或是pull request。校稿的結(jié)果不只是在此版本更新,也會用于改良Gradle下1版本(2.0)文檔的翻譯。


第5103章. 簽名插件

簽名插件添加了對構(gòu)件的文件和artifacts進(jìn)行數(shù)字簽名的功能。這些數(shù)字簽名可以用于證明使用這個(gè)簽名的artifact是誰構(gòu)建的,和其他的信息,比如簽名是甚么時(shí)候生成的。

簽名插件目前只提供了生成PGP 簽名的支持(這是發(fā)布到Maven 中央庫所需的簽名格式)。

53.1. 用法

要使用 Signing 插件,請?jiān)跇?gòu)建腳本中包括以下語句:

示例 53.1. 使用Signing插件

build.gradle

apply plugin: 'signing'

53.2. 簽名憑證

為了創(chuàng)建 PGP 簽名,你將需要1個(gè)密鑰對(有關(guān)使用GnuPG 工具創(chuàng)建密鑰對的介紹可以在GnuPG Howto中找到)。您需要向簽名插件提供你的關(guān)鍵信息,即以下3項(xiàng)信息:

  • 公鑰 ID (1個(gè)8位字符的106進(jìn)制字符串)。

  • 指向包括了你的私鑰的密鑰環(huán)文件的絕對路徑。

  • 用來保護(hù)你的私鑰的密碼。

這些條目必須分別作為屬性項(xiàng)目signing.keyId、 signing.passwordsigning.secretKeyRingFile 進(jìn)行提供。鑒于這些值的個(gè)人和私人性質(zhì),1個(gè)好的做法是將它們保存在用戶的gradle.properties文件(第14.2 節(jié),“Gradle 屬性和系統(tǒng)屬性”中所述)。

signing.keyId=24875D73
signing.password=secret
signing.secretKeyRingFile=/Users/me/.gnupg/secring.gpg

如果在用戶的gradle.properties文件中指定的信息不合適你的環(huán)境,你可以提供這些信息,但你需要手動設(shè)置項(xiàng)目的屬性。

import org.gradle.plugins.signing.Sign

gradle.taskGraph.whenReady { taskGraph ->
    if (taskGraph.allTasks.any { it instanceof Sign }) {
        // Use Java 6's console to read from the console (no good for a CI environment)
        Console console = System.console()
        console.printf "\n\nWe have to sign some things in this build.\n\nPlease enter your signing details.\n\n"

        def id = console.readLine("PGP Key Id: ")
        def file = console.readLine("PGP Secret Key Ring File (absolute path): ")
        def password = console.readPassword("PGP Private Key Password: ")

        allprojects { ext."signing.keyId" = id }
        allprojects { ext."signing.secretKeyRingFile" = file }
        allprojects { ext."signing.password" = password }

        console.printf "\nThanks.\n\n"
    }
}

53.3. 指定要簽名的內(nèi)容

除配置內(nèi)容要如何簽名(即簽名配置),你還必須指定哪些文件要簽名。Signing 插件提供了1個(gè)DSL,它允許你指定應(yīng)簽名的任務(wù)及配置。

53.3.1. 簽名配置

簽名1個(gè)配置的artifacts是很常見的情況。例如, Java 插件配置了構(gòu)建1個(gè)jar文件,并且把 jar 文件添加到archives配置。使用Signing DSL,你可以指定這個(gè)配置的所有 artifacts 都應(yīng)當(dāng)被簽名。

53.3.2. 簽名1個(gè)配置

build.gradle

signing {
    sign configurations.archives
}

這將在你的項(xiàng)目中創(chuàng)建1個(gè)名為“signArchives”的任務(wù)(Sign類型),這個(gè)任務(wù)會構(gòu)建任何archives的artifacts(如果需要),然后為它們生成簽名。簽名文件將和被簽名的artifacts放在1起。

示例 53.3. 簽署1個(gè)配置的輸出

gradle signArchives的輸出結(jié)果

> gradle signArchives
:compileJava
:processResources
:classes
:jar
:signArchives

BUILD SUCCESSFUL

Total time: 1 secs

53.3.2. 簽名任務(wù)

在某些情況下,你需要簽名的artifact 可能不是配置的1部份。在這類情況下,你可以直接簽名生成了要簽名的artifact 的任務(wù)。

53.4. 簽名1個(gè)任務(wù)

build.gradle

task stuffZip (type: Zip) {
    baseName = "stuff"
    from "src/stuff"
}

signing {
    sign stuffZip
}

這將在您的項(xiàng)目創(chuàng)建1個(gè)名為“signStuffZip”的(Sign類型) 的任務(wù),這個(gè)任務(wù)會構(gòu)建輸入任務(wù)的archive(如果需要),并進(jìn)行簽字。簽名文件將和被簽名的 artifact 放在1起。

示例 53.5. 簽名1個(gè)任務(wù)的輸出

gradle signStuffZip的輸出結(jié)果

> gradle signStuffZip
:stuffZip
:signStuffZip

BUILD SUCCESSFUL

Total time: 1 secs

1個(gè)“可簽名”的任務(wù),必須輸出某種類型的archive。這樣的任務(wù)有 Tar, Zip, Jar, War 及 Ear任務(wù)。

53.3.3. 有條件的簽名

常見的使用模式是只在1定條件下簽名構(gòu)建的artifacts。例如,你可能不想對非發(fā)布版本簽名artifacts。要做到這1點(diǎn),你可以指定只在1定條件下才要求簽名。

53.6. 有條件的簽名

build.gradle

version = '1.0-SNAPSHOT'
ext.isReleaseVersion = !version.endsWith("SNAPSHOT")

signing {
    required { isReleaseVersion && gradle.taskGraph.hasTask("uploadArchives") }
    sign configurations.archives
}

在此示例中,我們只想要在我們構(gòu)建1個(gè)我們行將去發(fā)布的發(fā)布版本的時(shí)候,才進(jìn)行簽名。由于我們正在檢查任務(wù)圖,以肯定是不是打算發(fā)布,我們必須將signing.required屬性設(shè)置為1個(gè)閉包以推延evaluation。更多的信息,請參閱SigningExtension.setRequired() 。

53.4. 發(fā)布簽名

當(dāng)通過 Signing DSL指定甚么要被簽名的時(shí)候,生成的signature會自動地加入到 signatures 和 archives 的依賴配置中。這意味著,如果你想要將你的簽名和artifacts上傳到你的散布倉庫中,正常來說你只需要履行uploadArchives任務(wù)。

53.5. 簽名 POM 文件

當(dāng)為你的artifacts部署簽名到 Maven 倉庫時(shí),你還想簽名發(fā)布的 POM 文件。簽名插件添加了1個(gè)signing.signPom() (請參見: SigningExtension.signPom())方法,這個(gè)方法可以在你的上傳任務(wù)配置的beforeDeployment()塊中使用。

示例 53.7. 為部署簽名 POM

build.gradle

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

當(dāng)不需要簽名,和由于缺少配置(即沒有簽名證書)而不能簽名 POM 的時(shí)候,signPom()方法將甚么都不會做,并且不會進(jìn)行任何的提示。


生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 国产成人精品a视频一区www | 国产午夜精品一区二区 | 精品国产一二区 | 国产精品毛片久久久久久 | 国产欧美精品一区二区三区四区 | 一区二区三区视频 | 一区二区国产精品 | 成人免费av| 国产美女被遭强高潮免费网站 | 蜜臀91丨九色丨蝌蚪中文 | 一区二区日韩精品 | 成人精品鲁一区一区二区 | 成人久久 | 成人免费福利 | 国产精品久久久久国产a级 在线观看av网站 | 国产一二三区视频 | 国产一区在线播放 | 久久久性 | 欧美群妇大交群中文字幕 | 欧美一级片在线看 | 看国产一级毛片 | 国产成年人免费视频 | 日韩精品一二三区 | 国产成人久久精品麻豆二区 | 国产麻豆精品 | 在线观看国产黄色 | 欧美 日韩 综合 | 牛牛影视一区二区三区免费看 | 日本一区二区在线播放 | 成人在线视频观看 | 色综合视频 | 国产亚洲欧美一区二区三区 | 免费视频 久久久 | 99精品国产高清在线观看 | 精品伦精品一区二区三区视频 | 国产片一区二区三区 | 久久精品一区二区三区不卡牛牛 | 国产成人一区二区三区 | 黄色一级大片在线免费看产 | 国精产品一区二区三区 | 可以在线看的av |