2017-08-16 186 views
0

我期待将文件夹移动到我生成的耳朵的根部。使用Gradle将文件夹复制到耳朵的根部

我在我的子项目的build.gradle是这样的:

apply plugin: 'ear' 

dependencies { 
    deploy project(path: ':UiWeb', configuration:'archives') 
    deploy project(path: ':ProviderWeb', configuration:'archives') 
    deploy project(path: ':Business', configuration: 'archives') 
    deploy project(path: ':Common', configuration: 'archives') 
    deploy project(path: ':Domain', configuration: 'archives') 
    deploy project(path: ':Translator', configuration: 'archives') 
    deploy project(path: ':Properties', configuration: 'archives') 


    earlib fileTree(dir: 'sharedLib', include: '*.jar') 
    earlib fileTree(dir: 'lib', include: '*.jar') 
} 


ear { 

    from("EAR/resources/properties/${environment}") { 
     include "*.*" 
     into "properties" 
    } 

    classifier environment() 
    libDirName 'lib' 

    deploymentDescriptor { 
     applicationName = "app" 
     displayName = 'EAR' 
     description = 'app' 
     version = '6' 

     metaInf { 
      from './META-INF' 
      exclude 'application.xml' 

     } 

     webModule("UiWeb.war", "UiWeb") 

     securityRole 'AllUsers' 
    } 

    manifest { 
     attributes("Implementation-Title": "App", 
       "Implementation-Version": "TEST", 
       "Implementation-Vendor": "Company", 
       "Build-By": "gradle", 
       "Build-Date": new Date().toString()); 
    } 

} 

我的麻烦是from("EAR/resources/properties/${environment}"),因为它实际上并没有复制该文件夹到耳朵!我不会在任何级别的控制台输出中遇到任何错误。

${environment}使用-Penvironment = xxx传入Gradle,我知道这是有效的,因为这个值会附加到耳朵名称上。

请有人可以帮助我吗?

回答

0

如果通过属性environment传递价值,那么就应该用project.getProperties().get("environment")

尝试用得到它这样的:

from("EAR/resources/properties/${project.getProperties().get("environment")}") { 
    include "*.*" 
    into "properties" 
} 

不要忘了包括environment=项目gradle.properties

相关问题