知乎专栏 |
[neo@netkiller gradle]$ gradle properties :properties ------------------------------------------------------------ Root project ------------------------------------------------------------ allprojects: [root project 'gradle'] ant: org.gradle.api.internal.project.DefaultAntBuilder@12072edc antBuilderFactory: org.gradle.api.internal.project.DefaultAntBuilderFactory@159576c3 artifacts: org.gradle.api.internal.artifacts.dsl.DefaultArtifactHandler_Decorated@7a80747 asDynamicObject: org.gradle.api.internal.ExtensibleDynamicObject@2875ca3e baseClassLoaderScope: org.gradle.api.internal.initialization.DefaultClassLoaderScope@4d30c132 buildDir: /opt/www/gradle/build buildFile: /opt/www/gradle/build.gradle buildScriptSource: org.gradle.groovy.scripts.UriScriptSource@3bdbe135 buildscript: org.gradle.api.internal.initialization.DefaultScriptHandler@609e7d46 childProjects: {} class: class org.gradle.api.internal.project.DefaultProject_Decorated classLoaderScope: org.gradle.api.internal.initialization.DefaultClassLoaderScope@4532b038 clone: task ':clone' compile: task ':compile' compileTest: task ':compileTest' components: [] configurationActions: org.gradle.configuration.project.DefaultProjectConfigurationActionContainer@2cf5006 configurations: [] convention: org.gradle.api.internal.plugins.DefaultConvention@788ebb5a defaultTasks: [] deferredProjectConfiguration: org.gradle.api.internal.project.DeferredProjectConfiguration@62ae4f8b dependencies: org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler_Decorated@21e8614a depth: 0 description: null dist: task ':dist' ext: org.gradle.api.internal.plugins.DefaultExtraPropertiesExtension@1f4b52aa extensions: org.gradle.api.internal.plugins.DefaultConvention@788ebb5a fileOperations: org.gradle.api.internal.file.DefaultFileOperations@a2026f3 fileResolver: org.gradle.api.internal.file.BaseDirFileResolver@44dd20b6 gradle: build 'gradle' group: inheritedScope: org.gradle.api.internal.ExtensibleDynamicObject$InheritedDynamicObject@118eb00c logger: org.gradle.logging.internal.slf4j.OutputEventListenerBackedLogger@2ec7ecd5 logging: org.gradle.logging.internal.DefaultLoggingManager@478dabf1 modelRegistry: org.gradle.model.internal.registry.DefaultModelRegistry@26137fea modelSchemaStore: org.gradle.model.internal.manage.schema.extract.DefaultModelSchemaStore@4a32ef2d module: org.gradle.api.internal.artifacts.ProjectBackedModule@31bca1c3 name: gradle parent: null parentIdentifier: null path: : pluginManager: org.gradle.api.internal.plugins.DefaultPluginManager_Decorated@55f49969 plugins: [org.gradle.api.plugins.HelpTasksPlugin@4f88f506] processOperations: org.gradle.api.internal.file.DefaultFileOperations@a2026f3 project: root project 'gradle' project.dir: repo project.url: git@172.16.0.1:example.com/admin.example.com.git projectDir: /opt/www/gradle projectEvaluationBroadcaster: ProjectEvaluationListener broadcast projectEvaluator: org.gradle.configuration.project.LifecycleProjectEvaluator@19035ff9 projectRegistry: org.gradle.api.internal.project.DefaultProjectRegistry@2c91e143 properties: {...} pull: task ':pull' repositories: [] resources: org.gradle.api.internal.resources.DefaultResourceHandler@1d5c0c91 rootDir: /opt/www/gradle rootProject: root project 'gradle' scriptHandlerFactory: org.gradle.api.internal.initialization.DefaultScriptHandlerFactory@63d12a6 scriptPluginFactory: org.gradle.configuration.DefaultScriptPluginFactory@1393537d serviceRegistryFactory: org.gradle.internal.service.scopes.ProjectScopeServices$4@2d4e3d95 services: ProjectScopeServices standardOutputCapture: org.gradle.logging.internal.DefaultLoggingManager@478dabf1 state: project state 'EXECUTED' status: release stop: task ':stop' subprojects: [] tasks: [task ':clone', task ':compile', task ':compileTest', task ':dist', task ':properties', task ':pull', task ':stop', task ':test'] test: task ':test' version: unspecified BUILD SUCCESSFUL Total time: 4.672 secs
[neo@netkiller gradle]$ cat gradle.properties Name=Netkiller Email=netkiller@msn.com
[neo@netkiller gradle]$ gradle properties | egrep "Name|Email" Email: netkiller@msn.com Name: Netkiller
[neo@netkiller gradle]$ cat build.gradle task hello << { println "hello, $Name<$Email>" }
[neo@netkiller gradle]$ gradle hello -q hello, Netkiller<netkiller@msn.com>
通过 systemProp 前缀传递 System.properties 参数
[neo@netkiller gradle]$ cat gradle.properties systemProp.Name = 'Neo Chen' [neo@netkiller gradle]$ cat build.gradle task hello << { println "hello, " + System.properties['Name'] }