本文由CSDN博客貌似掉线翻译,其他章节的翻译请参见:

http://blog.csdn.net/column/details/gradle-translation.html

翻译项目请关注Github上的地址:

https://github.com/msdx/gradledoc

本文翻译所在分支:

https://github.com/msdx/gradledoc/tree/1.12。

直接浏览双语版的文档请访问:

http://gradledoc.qiniudn.com/1.12/userguide/userguide.html。

另外,Android 手机用户可通过我写的一个程序浏览文档,带缓存功能的,目前0.2.1版本兼容 android 2.2以上系统,地址如下:

http://www.wandoujia.com/apps/com.githang.gradledoc

翻译不易,转载请注明本文在CSDN博客上的出处:

http://blog.csdn.net/maosidiaoxian/article/details/50156087

关于我对Gradle的翻译,以Github上的项目及http://gradledoc.qiniudn.com 上的文档为准。如有发现翻译有误的地方,将首先在以上两个地方更新。因时间精力问题,博客中发表的译文基本不会同步修改。

第四十四章. 分发插件

分发插件目前还是孵化中状态。请务必注意,在以后的 Gradle 版本中,相关的 DSL 和其他配置可能会有所改变。

分发插件便于建立archives,作为该项目要分布的文件。分发 archives 通常包含可执行程序,和其他支持文件,比如文档。

44.1. 用法

要使用分发插件,请在构建脚本中包含以下语句:

示例 44.1. 使用分发插件

build.gradle

apply plugin: 'distribution'

本插件向 project 添加了一个名为“distributions” 的 DistributionContainer 类型的扩展。它还在分发容器扩展中创建了一个名为“main”的 distribution。如果你的构建只产生一个 distribution,你只需要配置这一个 distribution(或使用默认值)。

你可以运行“gradle distZip”把 main distribution 打包为 ZIP,或者是运行“gradle distTar”来创建一个使用 GZip 压缩的 TAR 文件。这些文件将会创建在“$buildDir/distributions/$project.name-$project.version.«ext»”。

你可以运行“gradle installDist”来组装这些分发内容,解压到“$buildDir/install/main”。

44.2. 任务

分发插件向 project 中添加了以下任务:

表 44.1. 分发插件 - 任务

任务名称 依赖于 类型 描述
distZip - Zip 创建分发内容的 ZIP 文件
distTar - Tar 创建分发内容的 ZIP 文件
installDist - Sync 组装分发内容,并安装在当前计算机上

对于你向项目中添加的每一个额外的分发集合,分发插件会添加下列任务:

表 44.2. 多分发 - 任务

任务名称 依赖于 类型 描述
${distribution.name}DistZip - Zip 创建分发内容的 ZIP 文件
${distribution.name}DistTar - Tar 创建分发内容的 TAR 文件
install${distribution.name.capitalize()}Dist - Sync 组装分发内容,并安装在当前计算机上

示例 44.2. 添加额外的分发

build.gradle

apply plugin: 'distribution'

version = '1.2'
distributions {
    custom {}
}

这将向项目添加下列任务:

  • customDistZip
  • customDistTar
  • installCustomDist

给定项目的名称为“myproject”,版本为“1.2”,运行“gradle customDistZip”将会产生一个名字为”myproject-custom-1.2.zip“的 ZIP 文件。

运行”gradle installCustomDist“将会把分发内容安装到”$buildDir/install/custom“。

44.3. 分发内容

所有在”src/$distribution.name/dist“目录中的文件都会被自动地包含在 distribution 中。你可以通过配置作为窗口一部分的Distribution 对象,来添加额外的文件。

示例 44.3. 配置 main distribution

build.gradle

apply plugin: 'distribution'

distributions {
    main {
        baseName = 'someName'
        contents {
            from { 'src/readme' }
        }
    }
}

在上面的示例中,”src/readme“目录的内容将被包含进 distribution(与默认添加的”src/dist/main“目录中的文件一起)。

baseName“属性也被修改了。这将导致分发的 archives 以不同的名字创建。


Gradle 1.12用户指南翻译——第四十四章. 分发插件的更多相关文章

  1. Gradle 1.12用户指南翻译——第五十二章. Maven 插件

    本文由CSDN博客貌似掉线翻译,其他章节的翻译请参见:http://blog.csdn.net/column/details/gradle-translation.html翻译项目请关注Github上 ...

  2. Gradle 1.12用户指南翻译——第三十九章. IDEA 插件

    本文由CSDN博客万一博主翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...

  3. Gradle 1.12用户指南翻译——第三十五章. Sonar 插件

    本文由CSDN博客万一博主翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...

  4. Gradle 1.12用户指南翻译——第三十二章. JDepend 插件

    本文由CSDN博客万一博主翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...

  5. Gradle 1.12用户指南翻译——第六十五章. Maven 发布(新)

    其他章节的翻译请参见:http://blog.csdn.net/column/details/gradle-translation.html翻译项目请关注Github上的地址:https://gith ...

  6. Gradle 1.12用户指南翻译——第三十四章. JaCoCo 插件

    本文由CSDN博客万一博主翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...

  7. Gradle 1.12用户指南翻译——第六十四章. 发布到Ivy(新)

    其他章节的翻译请参见:http://blog.csdn.net/column/details/gradle-translation.html翻译项目请关注Github上的地址:https://gith ...

  8. Gradle 1.12用户指南翻译——第三十六章. Sonar Runner 插件

    本文由CSDN博客万一博主翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...

  9. Gradle 1.12用户指南翻译——第三十八章. Eclipse 插件

    本文由CSDN博客万一博主翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...

  10. Gradle 1.12用户指南翻译——第四十二章. Announce插件

    本文由CSDN博客万一博主翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...

随机推荐

  1. Android获得控件在屏幕中的绝对坐标

    int[] location = new int[2] ; view.getLocationInWindow(location); //获取在当前窗口内的绝对坐标 view.getLocationOn ...

  2. 指令汇B新闻客户端开发(二) 主页面布局

    这个主页面采用了一个开源框架SlidingMenu,这个可以在git上面下载.把这些下载下来的文件import我们的eclipse中,用我们的项目去加载这个library,在这个过程中很有可能会报错, ...

  3. Android 基于MVC的MVVM模式开发

    由skay整理  http://blog.csdn.net/sk719887916/article/details/50386144 什么是MVVM 我们一步步来,从MVC开始. MVC 我们都知道, ...

  4. Mybatis插入MySQL数据库中文乱码

    Mybatis插入MySQL数据库中文乱码 在dataSource.properties配置文件中设置useUnicode=true&characterEncoding=utf-8编码即可. ...

  5. Socket编程实践(13) --UNIX域协议

    UNIX域协议 UNIX域套接字与TCP相比, 在同一台主机上, UNIX域套接字更有效率, 几乎是TCP的两倍(由于UNIX域套接字不需要经过网络协议栈,不需要打包/拆包,计算校验和,维护序号和应答 ...

  6. iOS编程中的音频知识(二):那么多种格式我应该用哪一个?

    iPhone支持不少格式,比如AAC,HE-AAC,AMR,IMA4等等,你可以在以下网址看到比较全的格式和简要介绍: http://www.raywenderlich.com/69365/audio ...

  7. Socket编程实践(1) --TCP/IP简述

    ISO的OSI OSI(open system interconnection)开放系统互联模型是由ISO国际标准化组织定义的网络分层模型,共七层, 从下往上为: OSI七层参考模型 物理层(Phys ...

  8. Spring AOP 初探

    本文可作为北京尚学堂spring课程的学习笔记 首先谈谈什么是AOP 它能干什么 AOP Aspect Oriented Programming(面向切面的编程) 什么叫面向切面? 就是我们可以动态的 ...

  9. awk字符串函数及其意义

     awk字符串函数及其意义 awk提供了强大的内置字符串函数,用于实现文本的字符串替换.查找以及分隔等功能. awk字符串函数主要有:gsub.index.length.match.split.sub ...

  10. github管理的建立(SSH Key生成步骤)

    Git是分布式的代码管理工具,远程的代码管理是基于SSH的,所以要使用远程的Git则需要SSH的配置. github的SSH配置如下: 一 . 设置Git的user name和email: $ git ...