本文讲述
Gradle 命令行
,默认您已经掌握了相关知识。
[TOC]
1. 使用帮助
我们可以通过帮助来了解有什么命令或者参数,查看帮助的方式如下:
./gradlew -?
./gradlew -h
./gradlew -help
# 此三者都达到同样的效果
# 效果如下:
USAGE: gradlew [option...] [task...]
-?, -h, --help Shows this help message.
-a, --no-rebuild Do not rebuild project dependencies.
-b, --build-file Specify the build file.
--build-cache Enables the Gradle build cache. Gradle will try to reuse outputs from previous builds. [incubating]
-c, --settings-file Specify the settings file.
--configure-on-demand Configure necessary projects only. Gradle will attempt to reduce configuration time for large multi-project builds. [incubating]
--console Specifies which type of console output to generate. Values are 'plain', 'auto' (default) or 'rich'.
--continue Continue task execution after a task failure.
-D, --system-prop Set system property of the JVM (e.g. -Dmyprop=myvalue).
-d, --debug Log in debug mode (includes normal stacktrace).
--daemon Uses the Gradle Daemon to run the build. Starts the Daemon if not running.
--foreground Starts the Gradle Daemon in the foreground. [incubating]
-g, --gradle-user-home Specifies the gradle user home directory.
-I, --init-script Specify an initialization script.
-i, --info Set log level to info.
--include-build Include the specified build in the composite. [incubating]
-m, --dry-run Run the builds with all task actions disabled.
--max-workers Configure the number of concurrent workers Gradle is allowed to use. [incubating]
--no-build-cache Disables the Gradle build cache. [incubating]
--no-daemon Do not use the Gradle Daemon to run the build.
--no-scan Disables the creation of a build scan. (https://gradle.com/build-scans) [incubating]
--offline Execute the build without accessing network resources.
-P, --project-prop Set project property for the build script (e.g. -Pmyprop=myvalue).
-p, --project-dir Specifies the start directory for Gradle. Defaults to current directory.
--parallel Build projects in parallel. Gradle will attempt to determine the optimal number of executor threads to use. [incubating]
--profile Profile build execution time and generates a report in the <build_dir>/reports/profile directory.
--project-cache-dir Specify the project-specific cache directory. Defaults to .gradle in the root project directory.
-q, --quiet Log errors only.
--recompile-scripts Force build script recompiling.
--refresh-dependencies Refresh the state of dependencies.
--rerun-tasks Ignore previously cached task results.
-S, --full-stacktrace Print out the full (very verbose) stacktrace for all exceptions.
-s, --stacktrace Print out the stacktrace for all exceptions.
--scan Creates a build scan. Gradle will emit a warning if the build scan plugin has not been applied. (https://gradle.com/build-scans) [incubating]
--status Shows status of running and recently stopped Gradle Daemon(s).
--stop Stops the Gradle Daemon if it is running.
-t, --continuous Enables continuous build. Gradle does not exit and will re-execute tasks when task file inputs change. [incubating]
-u, --no-search-upward Don't search in parent folders for a settings.gradle file.
-v, --version Print version info.
-w, --warn Set log level to warn.
-x, --exclude-task Specify a task to be excluded from execution.
2. 查看所有可执行Tasks
查看那些Task可执行,都具备什么功能。可运行
./gradlew tasks
,输出如下:
./gradlew tasks
Starting a Gradle Daemon (subsequent builds will be faster)
> Task :tasks
------------------------------------------------------------
All tasks runnable from root project
------------------------------------------------------------
Build Setup tasks
-----------------
init - Initializes a new Gradle build.
wrapper - Generates Gradle wrapper files.
Help tasks
----------
buildEnvironment - Displays all buildscript dependencies declared in root project 'GradleNotes'.
components - Displays the components produced by root project 'GradleNotes'. [incubating]
dependencies - Displays all dependencies declared in root project 'GradleNotes'.
dependencyInsight - Displays the insight into a specific dependency in root project 'GradleNotes'.
dependentComponents - Displays the dependent components of components in root project 'GradleNotes'. [incubating]
help - Displays a help message.
model - Displays the configuration model of root project 'GradleNotes'. [incubating]
projects - Displays the sub-projects of root project 'GradleNotes'.
properties - Displays the properties of root project 'GradleNotes'.
tasks - Displays the tasks runnable from root project 'GradleNotes'.
To see all tasks and more detail, run gradlew tasks --all
To see more detail about a task, run gradlew help --task <task>
BUILD SUCCESSFUL in 7s
1 actionable task: 1 executed
3. Gradle Help
任务
Gradle
内置了一个help task
,可以让我们了解每一个Task
的使用帮助,用法./gradlew help —task
,如下:
./gradlew help --task tasks
> Task :help
Detailed task information for tasks
Path
:tasks
Type
TaskReportTask (org.gradle.api.tasks.diagnostics.TaskReportTask)
Options
--all Show additional tasks and detail.
Description
Displays the tasks runnable from root project 'GradleNotes'.
Group
help
BUILD SUCCESSFUL in 1s
4. 强制刷新依赖
在很多情况下我们需要强制属性依赖的第三方库,可使用如下命令:
./gradlew --refresh-dependencies assemble
5. 多任务调用
在我们执行多任务时,例如执行
jar
之前先clean
,只需按顺序空格分开,如下:
./gradlew clean jar
# 有更多任务时可继续添加
6. 通过任务名缩写执行
Gradle
提供了基于驼峰命名的缩写调用,如doCheck
任务,可执行如下命令:
./gradlew doCheck
./gradlew dc
# 两者作用等同
其他诸多有用的命令、参数、tasks,可以通过上面的帮助方法来了解
到这
Gradle 命令行
就简单介绍完了,后续我们再学习新的Gradle
知识,更多内容 XiMiMax -- http://www.ximimax.cn/ 欢迎持续关注