Hi everyone,
I am very happy about this new feature. An important role of packages
in to enable code location transparency. The module system makes it so
packages can be moved from repositories (for example, a package
downloaded from an internet repository to a local repository) without
having to change any code refering to them. This is great but a key
element was missing. Any filesystem reference to files or directories
contained in a package, for example the code itself or some image
resources was still going to end up hardcoding some directory
structure unless some mecanism like jazz's aliases was used, but
creating those aliases by hand was really painful.
Now, every repository and package automatically become a jazz alias so
that for example an image resource in the myorg.mypackage package can
be specified as:
{File myorg.mypackage "images" "someimage.png"}
and if myorg.mypackage is moved, all file references will still be
valid as the myorg.mypackage alias is dynamically determined by the
module system.
Also, as every file / directory created through the Jedi IDE goes
through an 'anchorize' mecanism to determine the most specific alias
available, it means that everything created by the IDE containing
filesystem references, like catalogs, will automatically use package
aliases for files located inside packages making them 100% movable
with no change.
Guillaume