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