外贸仿牌网站,百度网盘下载安装,赣州章贡区邮政编码是多少,手工做女宝宝衣服的网站属性是用于轻松自定义Gradle构建和Gradle环境的宝贵工具。 我将在本文中演示一些用于指定Gradle构建中使用的属性的方法。 Gradle支持项目属性和系统属性 。 这篇文章中有趣的是两者之间的主要区别是如何访问它们。 通过常规Java / Groovy系统属性访问方法访问系统属性时… 属性是用于轻松自定义Gradle构建和Gradle环境的宝贵工具。 我将在本文中演示一些用于指定Gradle构建中使用的属性的方法。 Gradle支持项目属性和系统属性 。 这篇文章中有趣的是两者之间的主要区别是如何访问它们。 通过常规Java / Groovy系统属性访问方法访问系统属性时项目属性更有助于按名称直接访问。 使用-P从命令行传递项目属性 将属性传递到Gradle构建的最简单方法之一是在命令行中使用-P指定项目属性。 使用-P传递给构建的属性可以在构建中作为项目属性轻松访问并且如果其命名结构允许则可以像变量一样直接访问。 使用-D从命令行传递系统属性 与其他Java应用程序一样可以使用-D将系统属性传递给Gradle构建。 尽管通过-D选项提供给Gradle构建的这些系统属性始终可以通过用于获取系统属性的常规Java机制提供给Gradle构建但是Gradle可以将Project Properties指定为系统属性。 这是通过放置前缀org.gradle.project.来完成的org.gradle.project. 在生成所需属性名称之前。 例如如果要使用-D指定一个名为name.first的系统属性该属性可以供Gradle构建使用就像它由-P提供一样则该人可以在命令行上将其作为org.gradle.project. name.first提供给Gradle构建org.gradle.project. name.first org.gradle.project. name.first和Gradle构建会将其视为名为name.first的项目属性。 通过环境变量传递系统属性 任何Java或Groovy应用程序包括Gradle构建都可以通过System.getenvString访问环境变量。 但是如果环境变量以ORG_GRADLE_PROJECT_为前缀则Gradle允许像其他项目属性一样在构建中访问环境变量。 例如如果某人想要在Gradle构建name.last项目属性命名为name.last并想通过环境变量将其提供给构建则该人可以声明环境变量ORG_GRADLE_PROJECT_name.last并且其值可用于Gradle作为名称为name.last的项目属性进行name.last 。 gradle.properties 也可以通过名为gradle.properties的属性文件将属性提供给Gradle构建。 用systemProp.指定的任何属性systemProp. 其属性名称的开头被视为Gradle构建中的系统属性而其他属性其名称以“ systemProp。开头”则被视为Gradle项目属性。 例如如果我的gradle.properties文件具有属性name.lastMarx和属性name.lastMarx systemPropr.name.firstDustin name.last在Gradle构建中看到并访问name.last属性就像该name.first任何项目属性一样name.first像任何系统属性一样 name.first属性将在Gradle构建中被看到和访问。 示范/范例 每种类型的属性指定机制都可以通过一个简单的示例进行演示。 接下来显示的Gradle构建会尝试打印以不同方式指定的各种属性。 build-properties.gradle task displayProperties {displaySystemProperties()displayGradleProjectProperties()
}def displaySystemProperties()
{println \n System Properties println Favorite Movie (1994): ${System.properties[movie.favorite.1994]}println Favorite Movie (1996): ${System.properties[movie.favorite.1996]} println Favorite Movie (1997): ${System.properties[movie.favorite.1997]}println Favorite Movie (1981): ${System.properties[movie.favorite.1981]}println Favorite Movie (2012): ${System.properties[movie.favorite.2012]}println Favorite Movie (2013): ${System.properties[movie.favorite.2013]}
}def displayGradleProjectProperties()
{println \n Gradle Project Properties println Favorite Movie (1994): ${getProjectProperty(movie.favorite.1994)}println Favorite Movie (1996): ${getProjectProperty(movie.favorite.1996)}println Favorite Movie (1997): ${getProjectProperty(movie.favorite.1997)}println Favorite Movie (1981): ${getProjectProperty(movie.favorite.1981)}println Favorite Movie (2012): ${getProjectProperty(movie.favorite.2012)}println Favorite Movie (2013): ${getProjectProperty(movie.favorite.2013)}
}def String getProjectProperty(String propertyName)
{String movieTitle nullif (hasProperty(propertyName)){movieTitle this.properties[propertyName]}return movieTitle
} 传递给此脚本的某些属性将在命令行中用-P 一些属性在命令行中用-D 一个将通过环境变量提供而两个将通过gradle.properties提供gradle.properties文件与构建文件位于同一目录中。 接下来显示该gradle.properties文件。 gradle.properties movie.favorite.2013Star Trek into Darkness
systemProp.movie.favorite.2012Skyfall 放置好gradle.properties文件后该示例的其他两个有趣的部分是环境变量的设置。 此处的示例是在DOS中进行的但是在Linux环境中可以使用稍有不同的语法来完成同一件事。 DOS / Windows命令是 set ORG_GRADLE_PROJECT.movie.favorite.1981Raiders of the Lost Ark 对于此演示我将使用-D和-P参数运行Gradle构建脚本 gradle -b build-properties.gradle displayProperties -Pmovie.favorite.1996Independence Day -Dmovie.favorite.1997Gattaca -Dorg.gradle.project.movie.favorite.1994Shawshank Redemption 当在上面列出的Gradle构建脚本中运行并带有指定的gradle.properties文件指定了指定的环境变量并且仅显示了命令时输出看起来像在下一个屏幕快照中所示。 屏幕快照指示了如何根据其来源和命名约定在Gradle构建中查看/访问属性。 简而言之输出显示了在Gradle构建中属性可用性的以下“规则” 命令行-P属性是“项目属性” 命令行-D属性是“系统属性”但有一个例外 以org.gradle.project.开头的命令行-D属性org.gradle.project. 是“项目属性” 除了一个例外在gradle.properties中指定的gradle.properties是“项目属性” 在gradle.properties中指定的以gradle.properties开头的属性systemProp. 是“系统属性” 除了一个例外通过环境变量指定的属性是“系统属性” 通过以ORG_GRADLE_PROJECT_开头的环境变量指定的属性是“项目属性” 结论 Gradle提供了多种方法来指定可用于自定义Gradle构建的属性。 参考在Inspired by Actual Events博客上从我们的JCG合作伙伴 Dustin Marx 指定Gradle构建属性 。 翻译自: https://www.javacodegeeks.com/2014/01/specifying-gradle-build-properties.html