Oh, and just for completeness, maybe another solution is to instruct
subversion to ignore /plugins completely? or even delete it altogether, but
make gradle create the directory if missing?

On Wed, Mar 15, 2017 at 10:36 AM, Taher Alkhateeb <
slidingfilame...@gmail.com> wrote:

> Hi Deepak,
>
> So there are multiple issues with this code that I attempt summarize below:
> - First, you are directly using the subversion command in an "exec" block.
> We used the subversion plugin to avoid having gradle depend on anything
> other than gradle. I think it might be better to try and list the plugins
> through the subversion-plugin for gradle.
> - It would be very slow, memory consuming and inefficient to use the
> gradlewSubprocess for each plugin individually and it might choke resources
> on your computer
> - Finally, the way you wrote this task would create a ".svn" directory for
> each plugin individually instead of having a single ".svn" directory for
> all of them under /plugins.
>
> Maybe an easier way is to keep the pullAllPluginSource task as is, but
> instead of deleting plugins, we just delete everything _inside_ plugins and
> then move the checkout resources to there.
>
> Would that solve the subversion problem? Let me just reiterate the steps:
>
> - checkout plugins into /temp
> - delete everything _inside_ /plugins
> - move everything (including .svn) from /temp to /plugins
> - delete /temp
>
> Regards,
>
> Taher Alkhateeb
>
> On Wed, Mar 15, 2017 at 9:33 AM, Deepak Dixit <deepak.dixit@hotwaxsystems.
> com> wrote:
>
>> Hi Taher,
>>
>> I tried to change it with following bug not able to run sub process.
>>
>> {code}
>>
>> task pullAllPluginsSource(group: ofbizPlugin,
>>         description: 'Download and install all plugins from source
>> control.') {
>>     def svnOutput = new ByteArrayOutputStream()
>>     exec {
>>        commandLine 'svn', 'list','--xml',
>> 'https://svn.apache.org/repos/asf/ofbiz/ofbiz-plugins/trunk'
>>        standardOutput = svnOutput
>>     }
>>     def plugins= new XmlParser().parseText(svnOutput.toString())
>>     plugins.list.entry.each {plugin ->
>>        def pluginId =  plugin.name.text()
>>        gradlewSubprocess(['pullPluginSource', "-PpluginId=${pluginId}"])
>>     }
>> }
>>
>> {code}
>>
>>
>> Thanks & Regards
>> --
>> Deepak Dixit
>> www.hotwaxsystems.com
>>
>> On Wed, Mar 15, 2017 at 11:22 AM, Taher Alkhateeb <
>> slidingfilame...@gmail.com> wrote:
>>
>> > Sure, let's change the implementation. I'd be glad to help if I receive
>> > some suggestions. For now .. the implementation is as follows:
>> >
>> > - create a temp directory
>> > - checkout to that directory
>> > - delete /plugins
>> > - rename temp to plugins
>> >
>> > I'm all ears for the best approach.
>> >
>> > On Wed, Mar 15, 2017 at 8:15 AM, Deepak Dixit <
>> > deepak.di...@hotwaxsystems.com> wrote:
>> >
>> > > We need to enhance pullAllPluginsSource task, after running this you
>> will
>> > > not able to commit or run any svn command on plugins, as it do
>> checkout
>> > of
>> > > plugins/trunk and copy its folder into plugins.
>> > >
>> > >
>> > > Thanks & Regards
>> > > --
>> > > Deepak Dixit
>> > > www.hotwaxsystems.com
>> > >
>> > > On Wed, Mar 15, 2017 at 12:18 AM, Jacques Le Roux <
>> > > jacques.le.r...@les7arts.com> wrote:
>> > >
>> > > > That would be better indeed, I did not look a it yet.
>> > > >
>> > > > Jacques
>> > > >
>> > > >
>> > > >
>> > > > Le 14/03/2017 à 19:04, Deepak Dixit a écrit :
>> > > >
>> > > >> I think we can improve gradle task and instead of deleting plugins
>> it
>> > > will
>> > > >> its delete sub-folder.
>> > > >> I am sure gradle should have ability to delete sub-folder. :)
>> > > >>
>> > > >> If we delete README.txt then it will not be available in git as git
>> > does
>> > > >> not support empty folder.
>> > > >>
>> > > >>
>> > > >>
>> > > >> Thanks & Regards
>> > > >> --
>> > > >> Deepak Dixit
>> > > >> www.hotwaxsystems.com
>> > > >>
>> > > >> On Tue, Mar 14, 2017 at 6:46 PM, Jacques Le Roux <
>> > > >> jacques.le.r...@les7arts.com> wrote:
>> > > >>
>> > > >> Hi,
>> > > >>>
>> > > >>> I just crossed an issue while updating my ofbiz-framework working
>> > copy
>> > > >>> after having used pullAllPluginsSource. I get an error message
>> > "Skipped
>> > > >>> obstructing working copy".
>> > > >>>
>> > > >>> This is because we have already a plugins folder in the
>> > > >>> ofbiz-framework/trunk branch and when we use pullAllPluginsSource
>> we
>> > > >>> replace it by a new one (plugins folder) and the main .svn gets
>> > > confused
>> > > >>> (in root)
>> > > >>>
>> > > >>> I think we can live w/o the README.txt in the plugins folder and
>> the
>> > > >>> folder altogether and document it another way if needed (in the
>> main
>> > > >>> README.MD?), it will fix this problem.
>> > > >>>
>> > > >>> Opinions?
>> > > >>>
>> > > >>> Jacques
>> > > >>>
>> > > >>>
>> > > >>>
>> > > >
>> > >
>> >
>>
>
>

Reply via email to