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. 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.

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.

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.

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



------------------------------------------------------------------------------
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