On Wed, 16 Dec 2009, thron7 wrote:

> Fritz Zaucker wrote:
>> I guess I can answer my question myself:
>> 
>> Use
>>
>>      ./generate.py clean
>> 
>> instead of distclean to clear the cache ...
>> 
>> Or to use a typical SW support answer:
>> 
>> ./generate.py distclean works as designed.
>> 
>> Sorry for the noise ...
>
> That's not quite right, Fritz.

In this case, 'not sorry for noise' ... ;-)

> The 'clear' job will only clear a *local* cache, one that is on the same
> level as your 'source' and 'build' folders. If you are using a cache path
> outside your application directory, only 'distclean' will whipe it. There
> is already a bug open to provide a job that just cleans the cache,
> wherever it may be, and once this is implemented that's probably the job
> you want to use.

Cool.

> As for the rational of 'distclean': It tries to remove all artefacts that 
> were (supposedly) created by the generator, to leave you with a pure 
> source-level application tree, from which all other stuff can be 
> re-generated.

Thanks for the clarification. Obviously this makes sense 'as designed'.

> As I said, once bug#2578 is implemented, you probably will use a combination 
> of 'clean' and a clean-cache job. That should fix it for you.
>
> If you don't want to wait, take a look at the 'clean' and 'distclean' job 
> definitions in tool/data/config/base.json, and it should be fairly 
> straight-forward for you to define your own job that fullfills your needs.

Thanks for the pointer.

Cheers,
Fritz

>
> T.
>
>> Cheers,
>> Fritz
>> 
>> On Wed, 16 Dec 2009, Fritz Zaucker wrote:
>>
>> 
>>> Hi,
>>> 
>>> my build directory is a symbolic link into the document tree of my
>>> developement webserver. This allows me to
>>>
>>>     ./generate.py build
>>> 
>>> and then immediately testing in the browser (no separate deployment step).
>>> 
>>> This works fine.
>>> 
>>> But when I run
>>>
>>>     ./generate.py distclean
>>> 
>>> (to make sure I start with a clean cache) this fails with the message
>>>
>>>   
>>> ============================================================================
>>>       INITIALIZING: TRUNK
>>>   
>>> ============================================================================
>>>   >>> Configuration: config.json
>>>   >>> Jobs: distclean
>>>   >>> Resolving config includes...
>>>     - ! Shadowing job "libraries" with local one
>>>     - ! Shadowing job "build-files" with local one
>>>   >>> Resolving jobs...
>>>   >>> Incorporating job defaults...
>>>   >>> Resolving macros...
>>>   >>> Resolving libs/manifests...
>>>
>>>   
>>> ============================================================================
>>>       EXECUTING: DISTCLEAN
>>>   
>>> ============================================================================
>>>   >>> Initializing cache...
>>>   >>> Cleaning up files...
>>>     - Deleting compile cache
>>>     - Deleting download cache
>>>     - Deleting test folder
>>>     - Deleting inspector folder
>>>     - Deleting build
>>>   Traceback (most recent call last):
>>>     File 
>>> "/home/zaucker/checkouts/oep-projects/current/bafu-nh3/Code/agrammon/Gui/
>>>   trunk/qooxdoo/tool/bin/generator.py", line 168, in <module>
>>>       main()
>>>     File 
>>> "/home/zaucker/checkouts/oep-projects/current/bafu-nh3/Code/agrammon/Gui/
>>>   trunk/qooxdoo/tool/bin/generator.py", line 162, in main
>>>       generatorObj.run()
>>>     File 
>>> "/home/zaucker/checkouts/oep-projects/current/bafu-nh3/Code/agrammon/Gui/
>>>   trunk/qooxdoo/tool/pylib/generator/Generator.py", line 477, in run
>>>       self.runClean()
>>>     File 
>>> "/home/zaucker/checkouts/oep-projects/current/bafu-nh3/Code/agrammon/Gui/
>>>   trunk/qooxdoo/tool/pylib/generator/Generator.py", line 1348, in runClean
>>>       self._actionLib.clean(self._job.get('clean-files'))
>>>     File 
>>> "/home/zaucker/checkouts/oep-projects/current/bafu-nh3/Code/agrammon/Gui/
>>>   trunk/qooxdoo/tool/pylib/generator/action/ActionLib.py", line 48, in 
>>> clean
>>>       self._shellCmd.rm_rf(entry)
>>>     File 
>>> "/home/zaucker/checkouts/oep-projects/current/bafu-nh3/Code/agrammon/Gui/
>>>   trunk/qooxdoo/tool/pylib/generator/runtime/ShellCmd.py", line 111, in 
>>> rm_rf
>>>       shutil.rmtree(fileOrDir, ignore_errors=False, 
>>> onerror=handleRemoveReadonly)
>>>     File "/usr/lib/python2.6/shutil.py", line 201, in rmtree
>>>       onerror(os.path.islink, path, sys.exc_info())
>>>     File "/usr/lib/python2.6/shutil.py", line 199, in rmtree
>>>       raise OSError("Cannot call rmtree on a symbolic link")
>>>   OSError: Cannot call rmtree on a symbolic link
>>> 
>>> Obviously, I am quite happy that the symlink is not removed. But I'd
>>> like the distclean job to finish ... without having to first rename
>>> the symlink, running the job and renaming the symlink back.
>>> 
>>> As additional question, what do I "miss" by removing the build
>>> directory and putting it back after the distclean job?
>>> 
>>> Cheers,
>>> Fritz

-- 
Oetiker+Partner AG              tel: +41 62 775 9903 (direct)
Fritz Zaucker                        +41 62 775 9900 (switch board)
Aarweg 15                            +41 79 675 0630 (mobile)
CH-4600 Olten                   fax: +41 62 775 9905
Schweiz                         web: www.oetiker.ch

------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev 
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

Reply via email to