manifest cache
-
bahuvrihi
- Title changed from Fast manifest to manifest cache
Caching can be a global option, and working with/reseting the manifest could occur through an 'env' command.
-
bahuvrihi
- Milestone changed from Tap-1.0.0 to Tap-0.11.0
-
bahuvrihi
- Milestone changed from Tap-0.11.0 to Tap-1.0.0
- Tag changed from feature, tap to feature, tap
-
bahuvrihi
Here's a possible structure:
user_home/.tap/ cache gems/gem-name-version.rb user-env-index.rb cache.rb tap.ymlThe tap.yml file is the global config file. Loading cache.rb will add Env.instances mapping original paths to cache files.
If a cache file is older than original/tap.yml, the cache is automatically removed or recreated. (hence tapping tap.yml is an easy way to recreate a cache)
Cache files should instantiate the Env. This makes dump/load pretty easy... just make some valid ruby dump, basically by inspecting the relevant hashes. Gems should still be activated from the cache, to ensure that nothing goes screwy. Adding a
gem 'gem-name'To the cache file should be sufficient.
-
bahuvrihi
To regenerate a manifest, use something like the manifest command which already loads all gems. Delete files beforehand.
When caching:
- load cache before adding anything to Env.instances
- mark any new instances
- at exit, resolve the full manifests for each instance and generate cache files
- at exit, regenerate/append instances.rb
-
bahuvrihi
Note the at_exit activities should only happen when exiting normally!
Please Sign in or create a free account to add a new ticket.
With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.