Skip to content

Commit

Permalink
Merge remote-tracking branch 'alire/release/2.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
mosteo committed Oct 19, 2023
2 parents 398f98c + fee90da commit 524ef2e
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 1 deletion.
1 change: 1 addition & 0 deletions RELEASING.md
Original file line number Diff line number Diff line change
@@ -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
Expand Down
31 changes: 31 additions & 0 deletions doc/user-changes.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 `<workspace>/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 `<CRATE>_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)
Expand Down
3 changes: 2 additions & 1 deletion src/alire/alire-version.ads
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 524ef2e

Please sign in to comment.