Gradle 命令行

作者: XiMiMax | 来源:发表于2018-04-15 18:45 被阅读24次

    本文讲述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/ 欢迎持续关注

    相关文章

      网友评论

        本文标题:Gradle 命令行

        本文链接:https://www.haomeiwen.com/subject/kmqjkftx.html