On 17/05/2011, at 5:10 PM, Xiaojian Ao wrote:
> After test, I found a simple way to fix the error to add file to distZip task.
>
> distZip {
> into(applicationName) {
> from 'src/main/app'
> }
> }
>
> One suggestion about this, since we always need to package more files into
> our application distribution, not only bin script and libs, but also some
> configuration files and other files like readme. Why we don't add it into the
> application plugin : add a file list properties for the additional directory
> / files, if set, copy them into the distribution.
>
> I think this is a general requirement for almost everyone and every
> application. So it will be helpful if it is supported by this plugin.
I think this is a good idea. Could you add a jira issue for it?
>
> Xiaojian
>
>
>
> 在 Tue, May 17, 2011 at 2:35 PM,敖小剑 <[email protected]>写道:
>
> Thanks, when I turn to use installApp, it works.
>
> Seems the userguide is not update for this upgrade, both the online userguide
> and the one in the distribution zip file of 1.0-milestone-3.
>
> ---------------
>
> And another question about it:
>
> installApp {
> from 'src/main/conf'
> }
>
> This works well but it copies only the files in src/main/conf , not the
> directory" src/main/conf" itself. I checked the userguide about the copy task
> that this is a feature of the copy task, not a bug or something. So I change
> to add a "src/main/app" directory and move conf to under it. Yeah, perhaps
> later I will have move files or directory which need to copy. For example, a
> empty directory logs for log4j to avoid error the logs dir is not exists.
>
> It seems wonderful, but the same solution failed in task distZip:
>
> distZip {
> from 'src/main/app'
> }
>
> The generated zip file is like this:
>
> gradleDemoApp.zip
> -- conf
> -- gradleDemoApp
> -- lib
> ---bin
> The zip task add a new directory in the zip file and it doesn't work for the
> additional "from" property. I know I can add additional script to add the
> files to correct position. But for the distZip task, it seems a small bug ?
>
> At last, many thank to Adam Murdoch for your quickly response.
>
>
> Sky Ao
>
>
> 2011/5/17 Adam Murdoch <[email protected]>
>
> On 17/05/2011, at 2:46 PM, 敖小剑 wrote:
>
>> Hi
>>
>> I want to use gradle application plugin and I have some configuration need
>> to package into the application distribution. For example, log4j.xml, or
>> *.properties.
>>
>> The target application directory should be like this:
>>
>> /approot
>> -- libs
>> -- bin
>> -- conf
>>
>> Now there is no similar feature supported by gradle application plugin.
>> I have to do this action by hand. My solution is to add a new task copyConf
>> and add
>> it as dependent task to the standard task of application plugin "install".
>>
>> This is my build.gradle:
>>
>> apply plugin:'application'
>> apply plugin:'java'
>> apply plugin:'eclipse'
>>
>> mainClassName = 'net.sourcesky.study.gradle.application.DemoMain'
>>
>> applicationName = 'gradleDemoApp'
>>
>> task copyConf(type: Copy) {
>> from 'src/main/conf'
>> into "build/install/gradleDemoApp/conf"
>> }
>>
>> install.dependsOn copyConf
>
> The task was renamed 'installApp' in Gradle 1.0-milestone-3:
>
> installApp.dependsOn copyConf.
>
> Here's another approach you could use instead of adding another task:
>
> installApp {
> from 'src/main/conf'
> }
>
> distZip {
> from 'src/main/conf'
> }
>
>
> --
> Adam Murdoch
> Gradle Co-founder
> http://www.gradle.org
> VP of Engineering, Gradleware Inc. - Gradle Training, Support, Consulting
> http://www.gradleware.com
>
>
>
--
Adam Murdoch
Gradle Co-founder
http://www.gradle.org
VP of Engineering, Gradleware Inc. - Gradle Training, Support, Consulting
http://www.gradleware.com