Gradle 用户手册


Gradle 用户手册

Gradle User Guide

跳转查看:点击打开链接

Version 1.12

本手册副本只可自用或分发给其它人浏览,但该过程中如果您收取任何费用都将触犯版权,同时,无论是电子版还是打印版, 在分发时请勿删除本版权信息.
Copies of this document may be made for your own use and for distribution to others, provided that you do not charge any fee for such copies and further provided that each copy contains this Copyright Notice, whether distributed in print or electronically.

目录 - Table of Contents

1. 简介 - Introduction(已完成)
1.1. 关于本手册 - About this user guide
2. 概述 - Overview
2.1. Features 2.2. Why Groovy?
3.教程说明 - Tutorials(已完成)
3.1. 快速开始 - Getting Started
4. 安装 - Installing Gradle(已完成)
4.1. 先决条件 - Prerequisites 4.2. 下载 - Download 4.3. 解压 - Unpacking 4.4. 环境变量配置 - Environment variables 4.5. 安装测试 - Running and testing your installation 4.6. JVM参数配置 - JVM options
5. 问题反馈 - Troubleshooting(已完成)
5.1. 解决问题 - Working through problems 5.2.获取帮助 - Getting help
6. 构建基础 - Build Script Basics(已完成)
6.1. Projects 和 tasks - Projects and tasks 6.2. Hello world 6.3. 快速定义任务 - A shortcut task definition 6.4. 代码即脚本 - Build scripts are code 6.5. 任务依赖 - Task dependencies 6.6. 动态任务 - Dynamic tasks 6.7. 任务操作 - Manipulating existing tasks 6.8. 短标记法 - Shortcut notations 6.9. 添加自定义属性 - Extra task properties 6.10. 调用Ant任务 - Using Ant Tasks 6.11. 方法抽取 - Using methods 6.12. 定义默认任务 - Default tasks 6.13. Configure by DAG 6.14. 下一步目标 - Where to next?
7. Java构建入门 - Java Quickstart(已完成...)
7.1. Java插件 - The Java plugin 7.2. 一个基本Java项目 - A basic Java project 7.3.多项目构建 - Multi-project Java build 7.4. 下一步目标? - Where to next?
8. 依赖管理基础 - Dependency Management Basics(已完成)
8.1. 神马是依赖管理 - What is dependency management? 8.2. 依赖声明 - Declaring your dependencies 8.3. 依赖配置 - Dependency configurations 8.4. 外部依赖 - External dependencies 8.5. 仓库 - Repositories 8.6. 内容发布 - Publishing artifacts 8.7. 下一步目标? - Where to next?
9. Groovy 快速入门 - Groovy Quickstart
9.1. 一个基本的Groovy项目 - A basic Groovy project 9.2. 总结 - Summary
10. Web 工程构建 - Web Application Quickstart
10.1. 打 War 包 - Building a WAR file 10.2. Web 工程启动 - Running your web application 10.3. 总结 - Summary
11. Gradle命令行的基本使用 - Using the Gradle Command-Line
11.1. 多任务调用 - Executing multiple tasks 11.2. 排除任务 - Excluding tasks 11.3. 失败后继续执行 - Continuing the build when a failure occurs 11.4. 简化任务名 - Task name abbreviation 11.5. 选择构建位置 - Selecting which build to execute 11.6. 获取构建相关信息 - Obtaining information about your build 11.7. Dry Run 11.8. 总结 - Summary
12. 使用Gradle 图形用户界面 - Using the Gradle Graphical User Interface
12.1. 任务树 - Task Tree 12.2. 收藏夹 - Favorites 12.3. 命令行 - Command Line 12.4. 设置 - Setup
13. 编写构建脚本 - Writing Build Scripts
13.1. Gradle 构建语言 - The Gradle build language 13.2. Project API - The Project API 13.3. Script API - The Script API 13.4. 声明变量 - Declaring variables 13.5. 一些 Groovy 基础 - Some Groovy basics
14. 教程 - 杂七杂八 - Tutorial - 'This and That'
14.1. 创建目录 - Directory creation 14.2. Gradle 属性和系统属性 - Gradle properties and system properties 14.3. 使用外部构建脚本配置项目 - Configuring the project using an external build script 14.4. 配置任意对象 - Configuring arbitrary objects 14.5. 使用外部脚本配置任意对象 - Configuring arbitrary objects using an external script 14.6. 缓存 - Caching
15. 任务详述 - More about Tasks
15.1. 定义任务 - Defining tasks 15.2. 查找任务 - Locating tasks 15.3. 配置任务 - Configuring tasks 15.4. 向任务添加依赖 - Adding dependencies to a task 15.5. 任务排序 - Ordering tasks 15.6. 向任务添加描述 - Adding a description to a task 15.7. 替换任务 - Replacing tasks 15.8. 跳过任务 - Skipping tasks 15.9. 跳过处于最新状态的任务 - Skipping tasks that are up-to-date 15.10. 任务规则 - Task rules 15.11. 析构器任务 - Finalizer tasks 15.12. 总结 - Summary
16. 使用文件 - Working With Files
16.1. 查找文件 - Locating files 16.2. 文件集合 - File collections 16.3. 文件树 - File trees 16.4. 使用归档文件的内容作为文件树 - Using the contents of an archive as a file tree 16.5. 指定一组输入文件 - Specifying a set of input files 16.6. 复制文件 - Copying files 16.7. 使用 Sync 任务 - Using the Sync task 16.8. 创建归档文件 - Creating archives
17. 从 Gradle 中调用 Ant - Using Ant from Gradle
17.1. 在构建中使用 Ant 任务和类型 - Using Ant tasks and types in your build 17.2. 导入 Ant 构建 - Importing an Ant build 17.3. Ant 属性和引用 - Ant properties and references 17.4. API - API
18. Logging
18.1. Choosing a log level 18.2. Writing your own log messages 18.3. Logging from external tools and libraries 18.4. Changing what Gradle logs
19. The Gradle Daemon
19.1. Enter the daemon 19.2. Reusing and expiration of daemons 19.3. Usage and troubleshooting 19.4. Configuring the daemon
20. The Build Environment
20.1. Configuring the build environment via gradle.properties 20.2. Accessing the web via a proxy
21. Gradle Plugins
21.1. Applying plugins 21.2. What plugins do 21.3. Conventions 21.4. More on plugins
22. Standard Gradle plugins
22.1. Language plugins 22.2. Incubating language plugins 22.3. Integration plugins 22.4. Incubating integration plugins 22.5. Software development plugins 22.6. Incubating software development plugins 22.7. Base plugins 22.8. Third party plugins
23. The Java Plugin
23.1. Usage 23.2. Source sets 23.3. Tasks 23.4. Project layout 23.5. Dependency management 23.6. Convention properties 23.7. Working with source sets 23.8. Javadoc 23.9. Clean 23.10. Resources 23.11. CompileJava 23.12. Test 23.13. Jar 23.14. Uploading
24. The Groovy Plugin
24.1. Usage 24.2. Tasks 24.3. Project layout 24.4. Dependency management 24.5. Automatic configuration of groovyClasspath 24.6. Convention properties 24.7. Source set properties 24.8. GroovyCompile
25. The Scala Plugin
25.1. Usage 25.2. Tasks 25.3. Project layout 25.4. Dependency management 25.5. Automatic configuration of scalaClasspath 25.6. Convention properties 25.7. Source set properties 25.8. Fast Scala Compiler 25.9. Compiling in external process 25.10. Incremental compilation 25.11. Eclipse Integration 25.12. IntelliJ IDEA Integration
26. The War Plugin
26.1. Usage 26.2. Tasks 26.3. Project layout 26.4. Dependency management 26.5. Convention properties 26.6. War 26.7. Customizing
27. The Ear Plugin
27.1. Usage 27.2. Tasks 27.3. Project layout 27.4. Dependency management 27.5. Convention properties 27.6. Ear 27.7. Customizing 27.8. Using custom descriptor file
28. The Jetty Plugin
28.1. Usage 28.2. Tasks 28.3. Project layout 28.4. Dependency management 28.5. Convention properties
29. The Checkstyle Plugin
29.1. Usage 29.2. Tasks 29.3. Project layout 29.4. Dependency management 29.5. Configuration
30. The CodeNarc Plugin
30.1. Usage 30.2. Tasks 30.3. Project layout 30.4. Dependency management 30.5. Configuration
31. The FindBugs Plugin
31.1. Usage 31.2. Tasks 31.3. Dependency management 31.4. Configuration
32. The JDepend Plugin
32.1. Usage 32.2. Tasks 32.3. Dependency management 32.4. Configuration
33. The PMD Plugin
33.1. Usage 33.2. Tasks 33.3. Dependency management 33.4. Configuration
34. The JaCoCo Plugin
34.1. Getting Started 34.2. Configuring the JaCoCo Plugin 34.3. JaCoCo Report configuration 34.4. JaCoCo specific task configuration 34.5. Tasks 34.6. Dependency management
35. The Sonar Plugin
35.1. Usage 35.2. Analyzing Multi-Project Builds 35.3. Analyzing Custom Source Sets 35.4. Analyzing languages other than Java 35.5. Setting Custom Sonar Properties 35.6. Configuring Sonar Settings from the Command Line 35.7. Tasks
36. The Sonar Runner Plugin
36.1. Plugin Status and Compatibility 36.2. Getting Started 36.3. Configuring the Sonar Runner 36.4. Analyzing Multi-Project Builds 36.5. Analyzing Custom Source Sets 36.6. Analyzing languages other than Java 36.7. More on configuring Sonar properties 36.8. Setting Sonar Properties from the Command Line 36.9. Executing Sonar Runner in a separate process 36.10. Tasks
37. The OSGi Plugin
37.1. Usage 37.2. Implicitly applied plugins 37.3. Tasks 37.4. Dependency management 37.5. Convention object 37.6.
38. The Eclipse Plugin
38.1. Usage 38.2. Tasks 38.3. Configuration 38.4. Customizing the generated files
39. The IDEA Plugin
39.1. Usage 39.2. Tasks 39.3. Configuration 39.4. Customizing the generated files 39.5. Further things to consider
40. The ANTLR Plugin
40.1. Usage 40.2. Tasks 40.3. Project layout 40.4. Dependency management 40.5. Convention properties 40.6. Source set properties
41. The Project Report Plugin
41.1. Usage 41.2. Tasks 41.3. Project layout 41.4. Dependency management 41.5. Convention properties
42. The Announce Plugin
42.1. Usage 42.2. Configuration
43. The Build Announcements Plugin
43.1. Usage
44. The Distribution Plugin
44.1. Usage 44.2. Tasks 44.3. Distribution contents
45. The Application Plugin
45.1. Usage 45.2. Tasks 45.3. Convention properties 45.4. Including other resources in the distribution
46. The Java Library Distribution Plugin
46.1. Usage 46.2. Tasks 46.3. Including other resources in the distribution
47. Build Init Plugin
47.1. Tasks 47.2. What to set up 47.3. Build init types
48. Wrapper Plugin
48.1. Usage 48.2. Tasks
49. The Build Dashboard Plugin
49.1. Usage 49.2. Tasks 49.3. Project layout 49.4. Dependency management 49.5. Configuration
50. Dependency Management
50.1. Introduction 50.2. Dependency Management Best Practices 50.3. Dependency configurations 50.4. How to declare your dependencies 50.5. Working with dependencies 50.6. Repositories 50.7. How dependency resolution works 50.8. Fine-tuning the dependency resolution process 50.9. The dependency cache 50.10. Strategies for transitive dependency management
51. Publishing artifacts
51.1. Introduction 51.2. Artifacts and configurations 51.3. Declaring artifacts 51.4. Publishing artifacts 51.5. More about project libraries
52. The Maven Plugin
52.1. Usage 52.2. Tasks 52.3. Dependency management 52.4. Convention properties 52.5. Convention methods 52.6. Interacting with Maven repositories
53. The Signing Plugin
53.1. Usage 53.2. Signatory credentials 53.3. Specifying what to sign 53.4. Publishing the signatures 53.5. Signing POM files
54. Building native binaries
54.1. Tool chain support 54.2. Component model 54.3. Tasks 54.4. Core language support: C, C++, Assembler, Objective-C and Objective-C++ 54.5. Configuring the compiler, assembler and linker 54.6. Windows Resources 54.7. Library Dependencies 54.8. Native Binary Variants 54.9. Tool chains 54.10. Visual Studio IDE integration 54.11. CUnit support
55. The Build Lifecycle
55.1. Build phases 55.2. Settings file 55.3. Multi-project builds 55.4. Initialization 55.5. Configuration and execution of a single project build 55.6. Responding to the lifecycle in the build script
56. Multi-project Builds
56.1. Cross project configuration 56.2. Subproject configuration 56.3. Execution rules for multi-project builds 56.4. Running tasks by their absolute path 56.5. Project and task paths 56.6. Dependencies - Which dependencies? 56.7. Project lib dependencies 56.8. Parallel project execution 56.9. Decoupled Projects 56.10. Multi-Project Building and Testing 56.11. Property and method inheritance 56.12. Summary
57. Writing Custom Task Classes
57.1. Packaging a task class 57.2. Writing a simple task class 57.3. A standalone project 57.4. Incremental tasks
58. Writing Custom Plugins
58.1. Packaging a plugin 58.2. Writing a simple plugin 58.3. Getting input from the build 58.4. Working with files in custom tasks and plugins 58.5. A standalone project 58.6. Maintaining multiple domain objects
59. Organizing Build Logic
59.1. Inherited properties and methods 59.2. Injected configuration 59.3. Build sources in the buildSrc project 59.4. Running another Gradle build from a build 59.5. External dependencies for the build script 59.6. Ant optional dependencies 59.7. Summary
60. Initialization Scripts
60.1. Basic usage 60.2. Using an init script 60.3. Writing an init script 60.4. External dependencies for the init script 60.5. Init script plugins
61. The Gradle Wrapper
61.1. Configuration 61.2. Unix file permissions
62. Embedding Gradle
62.1. Introduction to the Tooling API 62.2. Tooling API and the Gradle Build Daemon 62.3. Quickstart
63. Comparing Builds
63.1. Definition of terms 63.2. Current Capabilities 63.3. Comparing Gradle Builds
64. Ivy Publishing (new)
64.1. The “ivy-publish” Plugin 64.2. Publications 64.3. Repositories 64.4. Performing a publish 64.5. Generating the Ivy module descriptor file without publishing 64.6. Complete example 64.7. Future features
65. Maven Publishing (new)
65.1. The “maven-publish” Plugin 65.2. Publications 65.3. Repositories 65.4. Performing a publish 65.5. Publishing to Maven Local 65.6. Generating the POM file without publishing
A. Gradle Samples
A.1. Sample customBuildLanguage A.2. Sample customDistribution A.3. Sample customPlugin A.4. Sample java/multiproject
B. Potential Traps
B.1. Groovy script variables B.2. Configuration and execution phase
C. The Feature Lifecycle
C.1. States C.2. Backwards Compatibility Policy
D. Gradle Command Line
D.1. Deprecated command-line options D.2. Daemon command-line options: D.3. System properties D.4. Environment variables
E. Existing IDE Support and how to cope without it
E.1. IntelliJ E.2. Eclipse E.3. Using Gradle without IDE support
Glossary

List of Examples

6.1.  The first build script 6.2.  Execution of a build script 6.3.  A task definition shortcut 6.4.  Using Groovy in Gradle's tasks 6.5.  Using Groovy in Gradle's tasks 6.6.  Declaration of dependencies between tasks 6.7.  Lazy dependsOn - the other task does not exist (yet) 6.8.  Dynamic creation of a task 6.9.  Accessing a task via API - adding a dependency 6.10.  Accessing a task via API - adding behaviour 6.11.  Accessing task as a property of the build script 6.12.  Adding extra properties to a task 6.13.  Using AntBuilder to execute ant.loadfile target 6.14.  Using methods to organize your build logic 6.15.  Defining a default tasks 6.16.  Different outcomes of build depending on chosen tasks 7.1.  Using the Java plugin 7.2.  Building a Java project 7.3.  Adding Maven repository 7.4.  Adding dependencies 7.5.  Customization of MANIFEST.MF 7.6.  Adding a test system property 7.7.  Publishing the JAR file 7.8.  Eclipse plugin 7.9.  Java example - complete build file 7.10.  Multi-project build - hierarchical layout 7.11.  Multi-project build - settings.gradle file 7.12.  Multi-project build - common configuration 7.13.  Multi-project build - dependencies between projects 7.14.  Multi-project build - distribution file 8.1.  Declaring dependencies 8.2.  Definition of an external dependency 8.3.  Shortcut definition of an external dependency 8.4.  Usage of Maven central repository 8.5.  Usage of a remote Maven repository 8.6.  Usage of a remote Ivy directory 8.7.  Usage of a local Ivy directory 8.8.  Publishing to an Ivy repository 8.9.  Publishing to a Maven repository 9.1.  Groovy plugin 9.2.  Dependency on Groovy 2.2.0 9.3.  Groovy example - complete build file 10.1.  War plugin 10.2.  Running web application with Jetty plugin 11.1.  Executing multiple tasks 11.2.  Excluding tasks 11.3.  Abbreviated task name 11.4.  Abbreviated camel case task name 11.5.  Selecting the project using a build file 11.6.  Selecting the project using project directory 11.7.  Obtaining information about projects 11.8.  Providing a description for a project 11.9.  Obtaining information about tasks 11.10.  Changing the content of the task report 11.11.  Obtaining more information about tasks 11.12.  Obtaining detailed help for tasks 11.13.  Obtaining information about dependencies 11.14.  Filtering dependency report by configuration 11.15.  Getting the insight into a particular dependency 11.16.  Information about properties 12.1.  Launching the GUI 13.1.  Accessing property of the Project object 13.2.  Using local variables 13.3.  Using extra properties 13.4.  Groovy JDK methods 13.5.  Property accessors 13.6.  Method call without parentheses 13.7.  List and map literals 13.8.  Closure as method parameter 13.9.  Closure delegates 14.1.  Directory creation with mkdir 14.2.  Setting properties with a gradle.properties file 14.3.  Configuring the project using an external build script 14.4.  Configuring arbitrary objects 14.5.  Configuring arbitrary objects using a script 15.1.  Defining tasks 15.2.  Defining tasks - using strings for task names 15.3.  Defining tasks with alternative syntax 15.4.  Accessing tasks as properties 15.5.  Accessing tasks via tasks collection 15.6.  Accessing tasks by path 15.7.  Creating a copy task 15.8.  Configuring a task - various ways 15.9.  Configuring a task - with closure 15.10.  Defining a task with closure 15.11.  Adding dependency on task from another project 15.12.  Adding dependency using task object 15.13.  Adding dependency using closure 15.14.  Adding a 'must run after' task ordering 15.15.  Adding a 'should run after' task ordering 15.16.  Task ordering does not imply task execution 15.17.  A 'should run after' task ordering is ignored if it introduces an ordering cycle 15.18.  Adding a description to a task 15.19.  Overwriting a task 15.20.  Skipping a task using a predicate 15.21.  Skipping tasks with StopExecutionException 15.22.  Enabling and disabling tasks 15.23.  A generator task 15.24.  Declaring the inputs and outputs of a task 15.25.  Task rule 15.26.  Dependency on rule based tasks 15.27.  Adding a task finalizer 15.28.  Task finalizer for a failing task 16.1.  Locating files 16.2.  Creating a file collection 16.3.  Using a file collection 16.4.  Implementing a file collection 16.5.  Creating a file tree 16.6.  Using a file tree 16.7.  Using an archive as a file tree 16.8.  Specifying a set of files 16.9.  Specifying a set of files 16.10.  Copying files using the copy task 16.11.  Specifying copy task source files and destination directory 16.12.  Selecting the files to copy 16.13.  Copying files using the copy() method without up-to-date check 16.14.  Copying files using the copy() method with up-to-date check 16.15.  Renaming files as they are copied 16.16.  Filtering files as they are copied 16.17.  Nested copy specs 16.18.  Using the Sync task to copy dependencies 16.19.  Creating a ZIP archive 16.20.  Creation of ZIP archive 16.21.  Configuration of archive task - custom archive name 16.22.  Configuration of archive task - appendix & classifier 17.1.  Using an Ant task 17.2.  Passing nested text to an Ant task 17.3.  Passing nested elements to an Ant task 17.4.  Using an Ant type 17.5.  Using a custom Ant task 17.6.  Declaring the classpath for a custom Ant task 17.7.  Using a custom Ant task and dependency management together 17.8.  Importing an Ant build 17.9.  Task that depends on Ant target 17.10.  Adding behaviour to an Ant target 17.11.  Ant target that depends on Gradle task 17.12.  Setting an Ant property 17.13.  Getting an Ant property 17.14.  Setting an Ant reference 17.15.  Getting an Ant reference 18.1.  Using stdout to write log messages 18.2.  Writing your own log messages 18.3.  Using SLF4J to write log messages 18.4.  Configuring standard output capture 18.5.  Configuring standard output capture for a task 18.6.  Customizing what Gradle logs 20.1.  Configuring an HTTP proxy 20.2.  Configuring an HTTPS proxy 21.1.  Applying a plugin 21.2.  Applying a plugin by type 21.3.  Applying a plugin by type 21.4.  Tasks added by a plugin 21.5.  Changing plugin defaults 21.6.  Plugin convention object 23.1.  Using the Java plugin 23.2.  Custom Java source layout 23.3.  Accessing a source set 23.4.  Configuring the source directories of a source set 23.5.  Defining a source set 23.6.  Defining source set dependencies 23.7.  Compiling a source set 23.8.  Assembling a JAR for a source set 23.9.  Generating the Javadoc for a source set 23.10.  Running tests in a source set 23.11.  Filtering tests in the build script 23.12.  JUnit Categories 23.13.  Grouping TestNG tests 23.14.  Creating a unit test report for subprojects 23.15.  Customization of MANIFEST.MF 23.16.  Creating a manifest object. 23.17.  Separate MANIFEST.MF for a particular archive 23.18.  Separate MANIFEST.MF for a particular archive 24.1.  Using the Groovy plugin 24.2.  Custom Groovy source layout 24.3.  Configuration of Groovy dependency 24.4.  Configuration of Groovy test dependency 24.5.  Configuration of bundled Groovy dependency 24.6.  Configuration of Groovy file dependency 25.1.  Using the Scala plugin 25.2.  Custom Scala source layout 25.3.  Declaring a Scala dependency for production code 25.4.  Declaring a Scala dependency for test code 25.5.  Enabling the Fast Scala Compiler 25.6.  Adjusting memory settings 25.7.  Activating the Zinc based compiler 26.1.  Using the War plugin 26.2.  Customization of war plugin 27.1.  Using the Ear plugin 27.2.  Customization of ear plugin 28.1.  Using the Jetty plugin 29.1.  Using the Checkstyle plugin 30.1.  Using the CodeNarc plugin 31.1.  Using the FindBugs plugin 32.1.  Using the JDepend plugin 33.1.  Using the PMD plugin 34.1.  Applying the JaCoCo plugin 34.2.  Configuring JaCoCo plugin settings 34.3.  Configuring test task 34.4.  Configuring test task 34.5.  Using application plugin to generate code coverage data 34.6.  Coverage reports generated by applicationCodeCoverageReport 35.1.  Applying the Sonar plugin 35.2.  Configuring Sonar connection settings 35.3.  Configuring Sonar project settings 35.4.  Global configuration in a multi-project build 35.5.  Common project configuration in a multi-project build 35.6.  Individual project configuration in a multi-project build 35.7.  Configuring the language to be analyzed 35.8.  Using property syntax 35.9.  Analyzing custom source sets 35.10.  Analyzing languages other than Java 35.11.  Setting custom global properties 35.12.  Setting custom project properties 35.13.  Implementing custom command line properties 36.1.  Applying the Sonar Runner plugin 36.2.  Configuring Sonar connection settings 36.3.  Global configuration settings 36.4.  Shared configuration settings 36.5.  Individual configuration settings 36.6.  Skipping analysis of a project 36.7.  Analyzing custom source sets 36.8.  Analyzing languages other than Java 37.1.  Using the OSGi plugin 37.2.  Configuration of OSGi MANIFEST.MF file 38.1.  Using the Eclipse plugin 38.2.  Partial Overwrite for Classpath 38.3.  Partial Overwrite for Project 38.4.  Export Dependencies 38.5.  Customizing the XML 39.1.  Using the IDEA plugin 39.2.  Partial Overwrite for Module 39.3.  Partial Overwrite for Project 39.4.  Export Dependencies 39.5.  Customizing the XML 40.1.  Using the ANTLR plugin 40.2.  Declare ANTLR version 42.1.  Using the announce plugin 42.2.  Configure the announce plugin 42.3.  Using the announce plugin 43.1.  Using the build announcements plugin 43.2.  Using the build announcements plugin from an init script 44.1.  Using the distribution plugin 44.2.  Adding extra distributions 44.3.  Configuring the main distribution 45.1.  Using the application plugin 45.2.  Configure the application main class 45.3.  Configure default JVM settings 45.4.  Include output from other tasks in the application distribution 45.5.  Automatically creating files for distribution 46.1.  Using the java library distribution plugin 46.2.  Configure the distribution name 46.3.  Include files in the distribution 49.1.  Using the Build Dashboard plugin 50.1.  Definition of a configuration 50.2.  Accessing a configuration 50.3.  Configuration of a configuration 50.4.  Module dependencies 50.5.  Artifact only notation 50.6.  Dependency with classifier 50.7.  Iterating over a configuration 50.8.  Client module dependencies - transitive dependencies 50.9.  Project dependencies 50.10.  File dependencies 50.11.  Generated file dependencies 50.12.  Gradle API dependencies 50.13.  Gradle's Groovy dependencies 50.14.  Excluding transitive dependencies 50.15.  Optional attributes of dependencies 50.16.  Collections and arrays of dependencies 50.17.  Dependency configurations 50.18.  Dependency configurations for project 50.19.  Configuration.copy 50.20.  Accessing declared dependencies 50.21.  Configuration.files 50.22.  Configuration.files with spec 50.23.  Configuration.copy 50.24.  Configuration.copy vs. Configuration.files 50.25.  Adding central Maven repository 50.26.  Adding Bintray's JCenter Maven repository 50.27.  Adding the local Maven cache as a repository 50.28.  Adding custom Maven repository 50.29.  Adding additional Maven repositories for JAR files 50.30.  Accessing password protected Maven repository 50.31.  Flat repository resolver 50.32.  Ivy repository 50.33.  Ivy repository with pattern layout 50.34.  Ivy repository with Maven compatible layout 50.35.  Ivy repository with custom patterns 50.36.  Ivy repository 50.37.  Accessing a repository 50.38.  Configuration of a repository 50.39.  Definition of a custom repository 50.40.  Forcing consistent version for a group of libraries 50.41.  Using a custom versioning scheme 50.42.  Blacklisting a version with a replacement 50.43.  Changing dependency group and/or name at the resolution 50.44.  Enabling dynamic resolve mode 50.45.  'Latest' version selector 50.46.  Custom status scheme 50.47.  Dynamic version cache control 50.48.  Changing module cache control 51.1.  Defining an artifact using an archive task 51.2.  Defining an artifact using a file 51.3.  Customizing an artifact 51.4.  Map syntax for defining an artifact using a file 51.5.  Configuration of the upload task 52.1.  Using the Maven plugin 52.2.  Creating a stand alone pom. 52.3.  Upload of file to remote Maven repository 52.4.  Upload of file via SSH 52.5.  Customization of pom 52.6.  Builder style customization of pom 52.7.  Modifying auto-generated content 52.8.  Customization of Maven installer 52.9.  Generation of multiple poms 52.10.  Accessing a mapping configuration 53.1.  Using the Signing plugin 53.2.  Signing a configuration 53.3.  Signing a configuration output 53.4.  Signing a task 53.5.  Signing a task output 53.6.  Conditional signing 53.7.  Signing a POM for deployment 54.1.  Defining a library component 54.2.  Defining executable components 54.3.  The 'cpp' plugin 54.4.  C++ source set 54.5.  The 'c' plugin 54.6.  C source set 54.7.  The 'assembler' plugin 54.8.  The 'objective-c' plugin 54.9.  The 'objective-cpp' plugin 54.10.  Settings that apply to all binaries 54.11.  Settings that apply to all shared libraries 54.12.  Settings that apply to all binaries produced for the 'main' executable component 54.13.  Settings that apply only to shared libraries produced for the 'main' library component 54.14.  The 'windows-resources' plugin 54.15.  Configuring the location of Windows resource sources 54.16.  Building a resource-only dll 54.17.  Providing a library dependency to the source set 54.18.  Providing a library dependency to the binary 54.19.  Declaring project dependencies 54.20.  Defining build types 54.21.  Configuring debug binaries 54.22.  Defining platforms 54.23.  Defining flavors 54.24.  Targeting a component at particular platforms 54.25.  Building all possible variants 54.26.  Defining tool chains 54.27.  Registering CUnit tests 54.28.  Registering CUnit tests 54.29.  Running CUnit tests 55.1.  Single project build 55.2.  Hierarchical layout 55.3.  Flat layout 55.4.  Modification of elements of the project tree 55.5.  Modification of elements of the project tree 55.6.  Adding of test task to each project which has certain property set 55.7.  Notifications 55.8.  Setting of certain property to all tasks 55.9.  Logging of start and end of each task execution 56.1.  Multi-project tree - water & bluewhale projects 56.2.  Build script of water (parent) project 56.3.  Multi-project tree - water, bluewhale & krill projects 56.4.  Water project build script 56.5.  Defining common behaviour of all projects and subprojects 56.6.  Defining specific behaviour for particular project 56.7.  Defining specific behaviour for project krill 56.8.  Adding custom behaviour to some projects (filtered by project name) 56.9.  Adding custom behaviour to some projects (filtered by project properties) 56.10.  Running build from subproject 56.11.  Evaluation and execution of projects 56.12.  Evaluation and execution of projects 56.13.  Running tasks by their absolute path 56.14.  Dependencies and execution order 56.15.  Dependencies and execution order 56.16.  Dependencies and execution order 56.17.  Declaring dependencies 56.18.  Declaring dependencies 56.19.  Cross project task dependencies 56.20.  Configuration time dependencies 56.21.  Configuration time dependencies - evaluationDependsOn 56.22.  Configuration time dependencies 56.23.  Dependencies - real life example - crossproject configuration 56.24.  Project lib dependencies 56.25.  Project lib dependencies 56.26.  Fine grained control over dependencies 56.27.  Build and Test Single Project 56.28.  Partial Build and Test Single Project 56.29.  Build and Test Depended On Projects 56.30.  Build and Test Dependent Projects 57.1.  Defining a custom task 57.2.  A hello world task 57.3.  A customizable hello world task 57.4.  A build for a custom task 57.5.  A custom task 57.6.  Using a custom task in another project 57.7.  Testing a custom task 57.8.  Defining an incremental task action 57.9.  Running the incremental task for the first time 57.10.  Running the incremental task with unchanged inputs 57.11.  Running the incremental task with updated input files 57.12.  Running the incremental task with an input file removed 57.13.  Running the incremental task with an output file removed 57.14.  Running the incremental task with an input property changed 58.1.  A custom plugin 58.2.  A custom plugin extension 58.3.  A custom plugin with configuration closure 58.4.  Evaluating file properties lazily 58.5.  A build for a custom plugin 58.6.  Wiring for a custom plugin 58.7.  Using a custom plugin in another project 58.8.  Testing a custom plugin 58.9.  Managing domain objects 59.1.  Using inherited properties and methods 59.2.  Using injected properties and methods 59.3.  Custom buildSrc build script 59.4.  Adding subprojects to the root buildSrc project 59.5.  Running another build from a build 59.6.  Declaring external dependencies for the build script 59.7.  A build script with external dependencies 59.8.  Ant optional dependencies 60.1.  Using init script to perform extra configuration before projects are evaluated 60.2.  Declaring external dependencies for an init script 60.3.  An init script with external dependencies 60.4.  Using plugins in init scripts 61.1.  Wrapper task 61.2.  Wrapper generated files 64.1.  Applying the “ivy-publish” plugin 64.2.  Publishing a java module to Ivy 64.3.  Publishing additional artifact to Ivy 64.4.  customizing the publication identity 64.5.  Customizing the module descriptor file 64.6.  Publishing multiple modules from a single project 64.7.  Declaring repositories to publish to 64.8.  Choosing a particular publication to publish 64.9.  Publishing all publications via the “publish” lifecycle task 64.10.  Generating the Ivy module descriptor file 64.11.  Publishing a java module 64.12.  Example generated ivy.xml 65.1.  Applying the 'maven-publish' plugin 65.2.  Adding a MavenPublication for a java component 65.3.  Adding additional artifact to a MavenPublication 65.4.  customizing the publication identity 65.5.  Modifying the POM file 65.6.  Publishing multiple modules from a single project 65.7.  Declaring repositories to publish to 65.8.  Publishing a project to a Maven repository 65.9.  Publish a project to the Maven local repository 65.10.  Generate a POM file without publishing B.1.  Variables scope: local and script wide B.2.  Distinct configuration and execution phase
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值