`

Gradle task 接收参数

 
阅读更多

//1. 执行gradle task 时传递参数

./gradlew test -Pkey=value

 

//2. gradle get 属性
def KEY_FROM_PROPERTY = (project.hasProperty("key") &&  project.getProperty("key")!="unspecified") ? project.getProperty("key") : ""
println KEY_FROM_PROPERTY
//3. gradle  get 环境变量
def KEY_FROM_ENV = System.getenv("key")
println KEY_FROM_ENV

 

//4. 在gradle脚本可以拿到key 的值,但是在test task 执行的时候拿不到key值

原因: The -P flag is for gradle properties, and the -D flag is for JVM properties. Because the test may be forked in a new JVM, the -D argument passed to gradle will not be propagated to the test - it sounds like that is the behavior you are seeing.

解决方案: 取出-p 定义的属性,在test task 中再定义一个系统属性,

    test {
    systemProperty "key", project.getProperty("key")
}

或者你用-D 时,用下面的语句

   test {
        systemProperty "key", System.getProperty("key")
    }

分享到:
评论

相关推荐

    Gradle 工作中常用点 亲测一1

    Groovy中的Closure是核心概念之一,它是一种可赋值的代码块,可以接收参数、返回值。例如: ```groovy // 无参数的闭包 def Closure1 = { println 'Hello world' } Closure1() // 输出 'Hello world' // 接收一个...

    Java使用自动化部署工具Gradle中的任务设定教程

    例如,`doLast`和`doFirst`接收的就是闭包参数。如果你对Groovy不熟悉,理解闭包的概念对于掌握Gradle脚本至关重要。 此外,Gradle的另一个强大特性是依赖管理。任务之间可以定义依赖关系,一个任务可以依赖于另一...

    Task

    此外,`Task-main`还可能包含对用户交互的处理,比如接收命令行参数,或者通过GUI(图形用户界面)接收用户的任务创建、编辑、查询等操作。 为了更好地理解"Task"项目,我们需要深入研究`Task-main`的源代码。这将...

    通过命令行自动打包生成单webview应用

    通过命令行自动打包生成单webview应用...然后在这个项目的build.gradle中定义一个task,这个task能够接收命令行传入的参数如网址、app名称等,然后根据这些参数修改模板项目,最后自动生成证书证书,并打包生成安装包。

    Android单个模块编译

    这可以通过在命令行添加`--exclude-task`参数实现。例如: ``` ./gradlew assembleDebug --exclude-task :otherModule:assembleDebug ``` 这将只编译主模块的调试版本,而跳过`:otherModule`。 4. **源码控制**...

    xutils-httpUtils 下载显示进度百分比(自定义toast)

    为了显示下载进度,我们需要创建一个自定义的Toast,覆盖其makeText方法,使其能够接收并处理百分比参数。在DownloadListener的onProgress方法中,计算当前进度并调用自定义Toast显示。 5. 代码示例: ```java ...

    task_api_test

    测试API的主要目的是确保它们能够正确地接收输入,执行预期的操作,并返回正确的输出。 在Java中,API测试通常通过HTTP客户端库如Apache HttpClient或OkHttp来实现,这些库允许我们发送HTTP请求并解析响应。JUnit是...

    Android-TimeTask是一个轻量简洁的定时任务队列框架

    3. **添加任务**:使用`TimeTask`提供的方法将任务添加到相应的任务组中,并设置执行参数。 4. **启动任务队列**:在合适的时候启动任务队列,例如在应用启动时。 5. **监听和管理**:注册事件监听器,以便在任务...

    Android获取网络定位封装工具类

    `init`方法接收`Context`参数,用于创建`FusedLocationProviderClient`实例。通常在应用的`Application`类中调用此方法进行初始化。 接下来,我们编写一个方法来获取最近的网络定位: ```java import ...

    springMvc+MyBatis整合源码

    6. **转换器与格式化器**:自动将请求参数转换为合适的对象类型,以及将模型数据格式化为响应内容。 **MyBatis 框架** MyBatis 是一个优秀的持久层框架,它简化了 JDBC 的代码,消除了手写 SQL 和结果集映射的痛苦...

    毕设项目:基于ssm框架的建筑维修工程项目管理系统.zip

    Spring MVC通过DispatcherServlet接收请求,并分发给相应的处理器(Controller)。 3. MyBatis:是一个持久层框架,它提供了一种简单的方式来映射Java对象和SQL数据库。MyBatis允许开发者编写SQL语句,避免了传统的...

    jBPM4工作流应用开发指南

    - 任务可以通过工作列表(Task List)服务进行处理,包括任务接收、完成、委派等操作。 7. **监听器与事件** - 定义监听器可以捕获流程中的特定事件,例如流程启动、任务完成等。 - 监听器可以用于日志记录、...

    地址查询(Jbuld sql)

    这段代码定义了一个新的任务`queryAddresses`,它运行一个名为`AddressQuery`的Java类,该类接收数据库URL、用户名和密码作为参数,并执行SQL查询获取所有地址信息。在`AddressQuery`类中,我们使用`DriverManager....

    Lista_de_Tarefas:ListadeTarefas

    6. **命令行参数**:如果应用是在命令行运行,可以使用`java -jar`命令并传入参数,比如任务列表文件的路径。 7. **标准输入/输出**:通过System.in和System.out,程序可以接收用户的输入并显示输出,例如,用户...

    android 使用download Manager实现应用下载安装

    首先,确保在你的`build.gradle`(Module: app)文件中添加了对互联网权限的请求: ```xml ``` 对于Android 6.0及以上版本,还需要在运行时动态请求权限。 ### 2. 获取DownloadManager实例 在你的Activity或...

    android微信分享

    这些是与微信服务器进行身份验证的关键参数。注册完成后,要在应用的AndroidManifest.xml文件中添加微信SDK所需的权限和Activity声明,例如: ```xml android:name=...

Global site tag (gtag.js) - Google Analytics