tree d9152892373ac9827bf5a2cb81b593446741c95b
parent f3e0e8711ff0428e173c72bf1e0f99a43b71f99c
author Jacques Le Roux <jleroux@apache.org> 1469513699 +0000
committer Jacques Le Roux <jleroux@apache.org> 1469513699 +0000

This adds a "start" Gredle task as we had before with Ant. Note that for convenience for our users when we moded from "run" to "start" as name for the Ant target we provided an automatic redirection and a comment to explain. This kinda does the same by covering the 'ofbiz" Gradle task. It's related with OFBIZ-7534.

They are EOLs changes on this commit. The only real change is this addition:

task start(group: ofbizServer) {
    dependsOn 'ofbiz --start'
    description 'Start an OFBiz instance'
}


Please don't change the EOLs, here is why:
when we created the build.gradle file (and actually all *.gradle files) there was not yet this .gradle line in the OFBiz Subversion config file
So when I updated my svn working copy I got the *nix EOLs with the .gradle file committed by Taher. So each time I changed a line a lot of confusing EOLs changes appeared. 
Now that we have the .gradle line in the OFBiz Subversion config file, you will see the last EOLs changes on this commit when reviewing. 
This is normal and will happen only once. Then my svn working copy will have the Windows EOLs, and we should not longer see any EOLs changes in next commits.
This is of course true for this file, but will happen also on other already existing .gradle files when I will change a line there.

git-svn-id: https://svn.apache.org/repos/asf/ofbiz/trunk@1754071 13f79535-47bb-0310-9956-ffa450edef68
