diff --git a/RELEASING.md b/RELEASING.md index 1107b8707..198b74d3c 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -1,5 +1,6 @@ ## Checklist for releasing a new version +1. [ ] Update version in `Alire.Version`. 1. [ ] Create test release in own fork. - To verify builds succeed. - As the Windows build can rarely fail, this provides a backup .exe diff --git a/doc/user-changes.md b/doc/user-changes.md index 5553e5990..be73ffcc9 100644 --- a/doc/user-changes.md +++ b/doc/user-changes.md @@ -49,6 +49,37 @@ automatic updates. When enabled, updates may happen before executing commands that rely on indexes: `get`, `search`, `with`, etc. +### Enable shared dependencies by default + +PR [#1449](https://github.com/alire-project/alire/pull/1449) + +Pre-2.0, Alire worked always in "sandboxed" mode; that is, all source +dependencies were found under `/alire/cache`. This behavior can be +now enabled with `alr config --set dependencies.shared false`, locally or +globally. + +By default, post-2.0, Alire works in "shared" mode, where sources are +downloaded once (to `~/.cache/alire/releases`) and unique builds are created +(under `~/.cache/alire/builds`) for unique configurations. This should minimize +rebuilds across crate configurations and workspaces, and eliminate risks of +inconsistencies. + +Disk use is decreased by unique source downloads, but might be increased by +unique build configurations. Cache management and cleanup will be provided down +the road. The build cache can always be deleted to retrieve disk space, at the +cost of triggering rebuilds. + +Unique builds are identified by a build hash which takes into account the +following inputs for a given release: + +- Build profile +- Environment variables modified in the manifest +- GPR external variables declared or set +- Configuration variables declared or set +- Compiler version +- Vaue of `LIBRARY_TYPE` and `_LIBRARY_TYPE` variables. +- Hash of dependencies + ### Deprecation of `dependencies.dir` in favor of `dependencies.shared` PR [#1419](https://github.com/alire-project/alire/pull/1419) diff --git a/src/alire/alire-version.ads b/src/alire/alire-version.ads index 9028dc216..60b41b654 100644 --- a/src/alire/alire-version.ads +++ b/src/alire/alire-version.ads @@ -2,7 +2,8 @@ package Alire.Version with Preelaborate is -- Remember to update Alire.Index branch if needed too - Current : constant String := "2.0-dev"; + Current : constant String := "2.0-beta1"; + -- 2.0.0-b1: first public release on the 2.0 branch -- 1.2.1: build switches fix and other minor assorted fixes -- 1.2.0: rpm speed-up, silence propagation warning, early switch parse -- 1.2.0-rc1: release candidate for 1.2