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