]>
_ Git - alire.git/log
Alejandro R Mosteo [Mon, 27 Mar 2023 20:21:59 +0000 (22:21 +0200)]
Docker driver for tests in default configuration (#1358)
Alejandro R Mosteo [Mon, 27 Mar 2023 20:21:15 +0000 (22:21 +0200)]
Test the local release with `alr test` (#1356)
* Ability to test local crate
* Test for local crate testing
* self-review
* Add user changes entry
* Add check of release profile to tests
Alejandro R Mosteo [Fri, 24 Mar 2023 11:51:08 +0000 (12:51 +0100)]
Unicode documentation (#1332)
* Document Alire policy on Unicode
* Add control over -gnatW8 switch
* Tweak documentation and tests
* Document in AEP the -gnatW8 effects
* Reformat long lines
* Add comp.lang.ada references
* Renamed source encoding switches
* Use Compiler_Default for no switches
* Update catalog doc to match new source encoding types
* Fix wrong mix of Wide_String with UTF-16
* Bump dependencies
Alejandro R Mosteo [Tue, 21 Mar 2023 11:26:03 +0000 (12:26 +0100)]
Actually use the cache location for shared releases (#1349)
* Use the cache location for shared releases
* Self-review
* User changes summary
* Cache migration to avoid redownloads
* Removed cache migration
Alejandro R Mosteo [Thu, 16 Mar 2023 08:45:02 +0000 (09:45 +0100)]
Avoid a crash when system pkg is detected twice (#1350)
Different system package names may resolve to the same version, e.g. when using
transitional names. Although the external definition is probably wrong and
could be fixed, better not to crash as this is a non-issue for us.
corinthian13 [Tue, 14 Mar 2023 10:36:59 +0000 (10:36 +0000)]
Update getting-started.md (#1343)
* Update getting-started.md
Lines 12 - 15.
More clarity on how to add PATH entry for Alire ecosystem client installed on a user's local Linux machine.
PATH value was missing the required double quotes.
* Update getting-started.md
To offer users a choice of adding the Alire client environment to their PATH environment either just for their current terminal session or for future sessions also.
* Update getting-started.md
Put PATH entries into .profile rather than .bashrc since some users may not be using the bash shell, i.e. may be using csh, zsh, fsh, etc.
Jesper Quorning [Tue, 7 Mar 2023 10:15:15 +0000 (11:15 +0100)]
Update: "This file is generated" (#1338)
* Update: "This file is generated"
* Update alire-lockfiles.adb
Alejandro R Mosteo [Thu, 2 Mar 2023 11:32:21 +0000 (12:32 +0100)]
Don't enable color if TERM=dumb (#1342)
Alejandro R Mosteo [Thu, 2 Mar 2023 10:04:27 +0000 (11:04 +0100)]
More explicit identifier error message (#1341)
Alejandro R Mosteo [Fri, 24 Feb 2023 11:54:34 +0000 (12:54 +0100)]
New `--nested` switch for `alr show` (#1333)
* Print nested crates under current folder
With `alr show --nested`, or after `alr get`/`alr with`.
* Test for `alr show --nested`
* Do not show when run non-interactive
* Self-review
Alejandro R Mosteo [Fri, 24 Feb 2023 10:21:20 +0000 (11:21 +0100)]
Install indexed crates (#1335)
* Improve Roots.Create_From_Release
* Install crates directly from index
Alejandro R Mosteo [Wed, 22 Feb 2023 10:47:39 +0000 (11:47 +0100)]
Replace uses of GNAT CE with latest FSF from Alire (#1330)
* Replace uses of GNAT CE with latest FSF from Alire
* Set up alr path in run.py
* Remove caching already done by alr-install
Piotr Orzechowski [Tue, 21 Feb 2023 09:55:20 +0000 (10:55 +0100)]
Mention dev/build.sh and fix typos in readme (#1331)
* Fix readme typos
* Mention dev/build.sh in readme
Jeremy Grosser [Mon, 20 Feb 2023 11:27:30 +0000 (03:27 -0800)]
Add Alire.Platforms.Folders.Home for FreeBSD (#1328)
Co-authored-by: Alejandro R. Mosteo <amosteo@unizar.es>
Alejandro R Mosteo [Mon, 20 Feb 2023 10:37:53 +0000 (11:37 +0100)]
Write Warn/Error traces to stderr by default (#1327)
* Write Warn/Error traces to stderr by default
* Update simple_logging pin
Alejandro R Mosteo [Wed, 15 Feb 2023 10:10:51 +0000 (11:10 +0100)]
Run testsuite on selfbuilds too (#1324)
Run the testsuite after `alr build` ourselves. This ensures no only that
`alire.toml` allows building, but that the dependency versions are proper.
Also start using `setup-alire@v2` which should result in speed-up.
Alejandro R Mosteo [Tue, 14 Feb 2023 16:09:39 +0000 (17:09 +0100)]
Install a local crate (#1322)
* Install a local crate to a prefix
* Make --this the default, list info with --info
Manuel [Tue, 7 Feb 2023 13:12:53 +0000 (14:12 +0100)]
Fix the example for editor.cmd (#1313)
Using double quotes, the ${GPR_FILE} is interpreted as a variable by Bourne-like shells and evaluated to an empty string or whatever value has when executed. Single quotes is a way to avoid that evaluation.
This example will not make Emacs select and load the GPR_FILE as the project file for ada-mode, that would be more cumbersome (and requires ada-mode 8.0.3), but I didn't want to complicate the example:
```
alr config --set --global editor.cmd 'emacs --eval=(ada-build-prompt-select-prj-file"${GPR_FILE}") ${GPR_FILE}'
```
Alejandro R Mosteo [Thu, 2 Feb 2023 15:56:00 +0000 (16:56 +0100)]
`alr install`: Installation of binary crates (#1302)
* Installation of binary releases
* Basic prevention of conflicting installs
* Self-review and cleanup
* Add test and related fixes
* gprbuild tests wrt library placement and artifacts
Fabien Chouteau [Tue, 31 Jan 2023 10:39:56 +0000 (11:39 +0100)]
alire_common.gpr: remove default host os to avoid mistakes on macOS (#1298)
* alire_common.gpr: remove default host os to avoid mistakes on macOS
With the default being Linux, macOS users will not notice any issue until they try to use the executable.
Even then the issue will be obscure.
* Remove any implicit detection of the host OS
This should avoid misbuilds that mix Linux/macOS.
A bash function is now provided for detection of the OS in our scripts.
---------
Co-authored-by: Alejandro R. Mosteo <amosteo@unizar.es>
Alejandro R Mosteo [Fri, 27 Jan 2023 16:58:00 +0000 (17:58 +0100)]
Check remote hosts during `alr index --check` (#1309)
Simon Wright [Fri, 27 Jan 2023 14:26:35 +0000 (14:26 +0000)]
Specify the initial branch for test repos. (#1244)
Reason: the git in macOS Xcode 14 defaults the initial branch to 'main',
but the tests assume 'master'.
* testsuite/drivers/helpers.py (init_git_repo): check out the branch
'master'.
Alejandro R Mosteo [Thu, 26 Jan 2023 09:35:33 +0000 (10:35 +0100)]
Fix error when showing an unavailable binary origin (#1304)
This only triggers when a binary origin is lacking entries for the current
platform.
Alejandro R Mosteo [Wed, 25 Jan 2023 09:31:06 +0000 (10:31 +0100)]
Clearer error for misplaced manifest in index tree (#1213)
Co-authored-by: GHA <actions@github.com>
Alejandro R Mosteo [Thu, 19 Jan 2023 13:05:19 +0000 (14:05 +0100)]
Fix "Loading crate=0.0.0" log message (#1106)
Piotr Orzechowski [Thu, 19 Jan 2023 09:55:28 +0000 (10:55 +0100)]
Add `--alr` testsuite option (#1295)
The testsuite runs tests against `alr` from project's `bin` dir by default.
This option makes it possible to select arbitrary `alr` to test.
Piotr Orzechowski [Wed, 18 Jan 2023 16:14:34 +0000 (17:14 +0100)]
Disallow dots in identifiers (#1267)
* Disallow leading dot in identifiers
This is to avoid `alr printenv` printing invalid
environment variable names, i.e. with leading dot.
* Fix typo in run_alr error message
* Simplify crate name validation test code
* Use two letters for min crate name length verification
* Test init with valid crate name
* Add more test cases for bad index name
* Use constant instead of dot literal
* Disallow dots in identifiers
Dots in identifiers are allowed by mistake.
This commit forbids them completely, instead
of just disallowing dots as the first character
in crate name.
Tim Lagnese [Wed, 18 Jan 2023 16:05:53 +0000 (11:05 -0500)]
Use XDG_CACHE_DIR for cache (#1265)
Alejandro R. Mosteo [Mon, 16 Jan 2023 10:27:01 +0000 (11:27 +0100)]
Enable manual running of Nightly workflow
Alejandro R. Mosteo [Mon, 16 Jan 2023 10:23:06 +0000 (11:23 +0100)]
Fix typo in Nightly workflow
Alejandro R Mosteo [Mon, 16 Jan 2023 10:20:14 +0000 (11:20 +0100)]
Workflow to have a binary nightly build (#1293)
This is with an eye on being able to use latest devel features without
requiring setting up a compiler or compiling alr
Vadim Godunko [Mon, 16 Jan 2023 09:23:23 +0000 (12:23 +0300)]
Fix typo. (#1292)
Fabien Chouteau [Thu, 12 Jan 2023 20:02:17 +0000 (21:02 +0100)]
Update msys2 installer (#1284)
* Update msys2 installer
* Follow updated MSYS2 first install instructions
* Show proper error message if msys2 update fails
* Fix the command to query for pending updates
* Don't scare-warn needlessly during msys2 update
Co-authored-by: Alejandro R. Mosteo <amosteo@unizar.es>
Piotr Orzechowski [Tue, 13 Dec 2022 18:53:36 +0000 (19:53 +0100)]
Use `alr` from project bin dir in testsuite (#1262)
* Mention Python 3 testsuite run script's comment
* Prepend alr project dir to PATH before running tests
* Fail user input validation test explicitly
Use Polish letter 'ł' to make user input validation test
explicitly mention encoding problems when failing.
Fabien Chouteau [Thu, 1 Dec 2022 15:51:16 +0000 (16:51 +0100)]
Alr.Commands.Search: unify "search" and "search --crates" behavior (#1254)
They now both look in names and descriptions, case insensitive.
Fabien Chouteau [Thu, 1 Dec 2022 10:56:55 +0000 (11:56 +0100)]
Update getting-started.md (#1253)
We don't want to imply that those info will be required at some point.
In particular we don't want the use of Alire to require a GitHub account.
Piotr Orzechowski [Thu, 1 Dec 2022 10:02:33 +0000 (11:02 +0100)]
Update testsuite readme (#1252)
* Require Python 3 in testsuite readme
* Add e3-testsuite link to testsuite readme
* Add GNAT and GPRBuild requirement to testsuite readme
Piotr Orzechowski [Thu, 24 Nov 2022 06:38:49 +0000 (07:38 +0100)]
Use hyphens for action usage output (#1249)
Currently action usage output looks like:
`alr action [options] [post_fetch|pre_build|post_build|test]`,
but it should look like:
`alr action [options] [post-fetch|pre-build|post-build|test]`,
because TOML expects keys to be hyphenated.
This commit fixes the problem by replacing underscores with hyphens.
Fabien Chouteau [Fri, 18 Nov 2022 08:55:04 +0000 (09:55 +0100)]
Fix crate config conflicts errors (#1208)
* Alire.Properties.Configurations: print boolean values in lowercase
To match casing of TOML files where they come from.
* Alire.Crate_Configuration: fix, improve, and test value conflicts
- TOML value comparison was incorrect (use Equals function now)
- The "set by" info was incorrect
- Error message now show the conflicting values
Fabien Chouteau [Thu, 17 Nov 2022 11:38:45 +0000 (12:38 +0100)]
Improve user experience with better manifest errors messages (#1229)
* Improve user experience with better manifest errors messages
This is patch introduces suggestions in various error messages
from the manifest parser. A potential suggestion is made using
edit distance computing from a list of possible values. If the
quality is not deemed good enough, the full list of values is
printed.
* Temp fix GNAT version to check error on macOS
* Revert "Temp fix GNAT version to check error on macOS"
This reverts commit
5da86ba29a013940cb8469ae7f07b8114e488714 .
* Try with fixed macOS 10.15 version
Fabien Chouteau [Thu, 27 Oct 2022 08:39:26 +0000 (10:39 +0200)]
alr-commands-init.adb: make alr init interactive (#1228)
Alr init will now queries the user for information such as license,
description, tags, etc.
Non-interactive usage is still possible using existing switches and `-n`.
Fabien Chouteau [Tue, 25 Oct 2022 08:13:23 +0000 (10:13 +0200)]
alr publish: warn about -dev version (#1221)
* testsuite: simplify some alr publish tests
* alr publish: warn about -dev version
Alejandro R Mosteo [Mon, 24 Oct 2022 15:19:42 +0000 (17:19 +0200)]
Encode wwstrings as utf8 (#1220)
* Encode wwstrings as utf8
* Fixes for raw byte reading in ada-toml
* Further fixes related to UTF-8 encodings
* Sync pins with submodules
* Revert unneeded changes in Simple_Logging
Since GNAT.IO is safe to use with utf8
Co-authored-by: GHA <actions@github.com>
Maxim Reznik [Wed, 5 Oct 2022 09:35:55 +0000 (12:35 +0300)]
Add source code recommendations to the policies (#1202)
about UTF-8 encoding and a URL to Ada Style Guide.
Refs #919.
Fabien Chouteau [Thu, 29 Sep 2022 16:09:48 +0000 (18:09 +0200)]
Build switches: unconditionally add -gnatW8 (#972)
* Build switches: unconditionally add -gnatW8
* Update user-changes.md
Jesper Quorning [Mon, 26 Sep 2022 11:28:43 +0000 (13:28 +0200)]
Fix alr help edit: GNAT Studio (#1199)
Simon Wright [Fri, 23 Sep 2022 12:14:13 +0000 (13:14 +0100)]
Implement Homebrew as the system deployer for macOS. (#1185)
* Implement Homebrew as the system deployer for macOS.
* src/alire/alire-origins-deployers-system-homebrew.adb: new.
* src/alire/alire-origins-deployers-system-homebrew.ads: new.
* src/alire/alire-origins-deployers-system.adb (Platform_Deployer):
When the platform distro manager is Homebrew, return Homebrew.Deployer.
* src/alire/alire-platforms.ads (Distributions): include macOS.
(Package_Managers): add Homebrew.
(Distro_Manager): for macOS, use Homebrew.
* src/alire/alire-utils-tools.adb (System_Package_For_Tool): treat MacOS
like other distributions.
* src/alire/os_macos/alire-platforms-current__macos.adb
(Detected_Distribution): return Platforms.MacOS.
* testsuite/drivers/helpers.py (on_macos()): new.
(distribution()): return 'MACOS' if on_macos() is True.
; Squashed commit of the following:
; commit
0110299ceb66f58cd4793fd78a69fc5b100b4ccf
; Author: Simon Wright <simon@pushface.org>
; Date: Fri Sep 9 17:45:04 2022 +0100
; Restore test to correct sense.
; commit
d396b6b54a73bbbfd59071539bf6268bccce3cf0
; Author: Simon Wright <simon@pushface.org>
; Date: Fri Sep 9 17:34:54 2022 +0100
; Replace assertions in Homebrew deployer with exceptions
; commit
d7603110b9543bdaac9516fa844599e87fac70aa
; Author: Simon Wright <simon@pushface.org>
; Date: Mon Sep 5 14:14:03 2022 +0100
; Recognise macOS as a distribution.
; * testsuite/drivers/helpers.py (on_macos()): new.
; (distribution()): check on_macos(). Return 'MACOS' if true.
; commit
8703acfeb8fdf336d862cefc16706eac5d3f0758
; Author: Simon Wright <simon@pushface.org>
; Date: Sun Sep 4 17:33:13 2022 +0100
; Use 'brew info' to get available, installed versions.
; commit
8b22b904e19d64fecb89233e6527c2faf655d982
; Author: Simon Wright <simon@pushface.org>
; Date: Wed Aug 31 15:54:51 2022 +0100
; Continuing.
; commit
a9821ed9a605e30b5699a49df6fffd11224ab931
; Author: Simon Wright <simon@pushface.org>
; Date: Mon Aug 22 17:09:48 2022 +0100
; First changes for macOS Homebrew.
* Implement Homebrew for MacOS: response to comments on PR#1185
* .github/workflows/ci-macos.yml (Run test script): renamed to
"Run test script (without Homebrew)".
(Run test script (with Homebrew)): added 'eval $(brew shellenv)' before
running the test script, so that HOMEBREW_PREFIX gets defined.
* src/alire/alire-origins-deployers-system-homebrew.adb
(Homebrew_Prefix, Homebrew_Present): removed.
(Get_Info): named the declare block. Removed commented-out exception
handler.
(Already_Installed): use Get_Info's returned Installed_Version's length
to determine the result.
(Detect): Get_Version_From_String uses Semantic_Versioning.Parse.
Don't check for Homebrew_Present, it has to be or we wouldn't be
called.
* src/alire/alire-platforms.ads (Distributions): rename MacOS to Homebrew.
(Distro_Manager): likewise.
* src/alire/alire-utils-tools.adb (System_Package_For_Tool): MacOS (in
'case Distribution)' changed to Homebrew.
* src/alire/os_macos/alire-platforms-current__macos.adb
(Homebrew_Prefix): new, gets the environment variable "HOMEBREW_PREFIX".
(Homebrew_Present): new, true if the environment variable is present.
(Detected_Distribution): checks Homebrew_Present, returns Homebrew
or Distro_Unknown accordingly.
(Distribution_Root): returns Homebrew_Prefix if present, otherwise "/".
* testsuite/drivers/helpers.py (distribution()): if on macOS, return
HOMEBREW if HOMEBREW_PREFIX is found, DISTRO_UNKNOWN otherwise.
* Remove improper pragma in response to comment on #1185
* src/alire/alire-origins-deployers-system-homebrew.adb: removed
the innefective pragma Warnings (Off).
* Merging with openSUSE changes in #1173.
* src/alire/alire-origins-deployers-system.adb: added Homebrew option.
* src/alire/alire-platforms.ads: likewise.
* src/alire/alire-utils-tools.adb: likewise.
Co-authored-by: John Serock <1468970+serock@users.noreply.github.com>
Co-authored-by: GHA <actions@github.com>
Alejandro R Mosteo [Thu, 22 Sep 2022 10:29:52 +0000 (12:29 +0200)]
Allow missing configuration values until build (#1167)
* Allow missing configuration values until build
* Do not generate files on incomplete config
* Crate_Configuration: refactor .Map to .Var_Map
Co-authored-by: GHA <actions@github.com>
John Serock [Wed, 21 Sep 2022 16:23:31 +0000 (12:23 -0400)]
Support openSUSE and SUSE distributions (#1173)
* Support zypper package manager
* Support openSUSE and SUSE distributions
onox [Mon, 19 Sep 2022 14:07:12 +0000 (16:07 +0200)]
Help: reorganize commands and simplify descriptions (#1180)
* Move some commands to Crate or Internal group
Fixes: #1138
* Use imperative mood and simplify descriptions of several commands
* Rename group "Internal" to "Testing" and adjust label of command "show"
Alejandro R Mosteo [Wed, 14 Sep 2022 08:15:26 +0000 (10:15 +0200)]
Use release build when `alr get --build`ing. (#1169)
This will also make `alr test` to use release builds, which is what we want as
submitted crates are tested in release mode.
Co-authored-by: GHA <actions@github.com>
Alejandro R Mosteo [Wed, 14 Sep 2022 07:54:44 +0000 (09:54 +0200)]
Fail test if complain_on_error=False but no error (#1171)
This removes the need to assert that the expected failure indeed happened, and
hardens tests against situations where is unclear if an error should happen.
Alejandro R Mosteo [Wed, 14 Sep 2022 07:53:53 +0000 (09:53 +0200)]
`alr show --dependents` to show which crates have another as a dependency (#1170)
* `alr show --dependents` to show direct dependencies
Show all crates that directly depend on a given release
* Allow showing indirect dependents too
* Improved --dependents switch
* Improved ordering
* New test for `alr with --dependents`
* Add user visible changes entry
Co-authored-by: GHA <actions@github.com>
Alejandro R Mosteo [Wed, 14 Sep 2022 07:49:45 +0000 (09:49 +0200)]
Remove too strict check for root manifest reload (#1168)
* Remove too strict check for root manifest reload
Since we are using absolute paths all around, that check is no longer
necessary.
Add a test for this situation, which should work besides the warning.
* Self-review fixes
Co-authored-by: GHA <actions@github.com>
Alejandro R Mosteo [Tue, 13 Sep 2022 12:10:04 +0000 (14:10 +0200)]
Document steps to carry out during a release (#1162)
* Document steps to carry out during a release
Memory flaky
* Add index.toml step
Co-authored-by: GHA <actions@github.com>
Alejandro R Mosteo [Tue, 13 Sep 2022 12:08:34 +0000 (14:08 +0200)]
Allow package removal by `apt` with --force (#1165)
* Allow package removal by apt with --force
* Propagate --force during `alr test`
* New test for default `alr test` get&build
* Self-review fixes
* Relax syntax in prototype for older python
Maxim Reznik [Mon, 12 Sep 2022 10:51:22 +0000 (13:51 +0300)]
Fix copy/paste error (#1179)
GHA [Fri, 26 Aug 2022 15:06:55 +0000 (17:06 +0200)]
Bump index version to 1.2.1
Jesper Quorning [Tue, 30 Aug 2022 08:12:44 +0000 (10:12 +0200)]
Right trim tables (#1166)
* Right trim tables
* Adapt testcases
Stephane Carrez [Fri, 26 Aug 2022 12:51:49 +0000 (14:51 +0200)]
Add support for FreeBSD (#1148)
* Add support for FreeBSD (#22)
* update GNAT project to recognize -XOS=freebsd and configure accordingly
* add FreeBSD as a valid operating system
* add AMD64 as an alias for X86_64 because uname -m returns amd64 on FreeBSD
* add platform specific implementation for FreeBSD
To build on FreeBSD, we should use
gprbuild -j0 -P alr_env -XOS=freebsd
* Fixes requested during code review
Co-authored-by: GHA <actions@github.com>
Alejandro R Mosteo [Fri, 26 Aug 2022 08:34:05 +0000 (10:34 +0200)]
`alr test`: Allow binary releases to not contain project files (#1159)
* Allow binary releases to not contain project files
* Fix logic and output to test log instead of stdout
Alejandro R Mosteo [Thu, 25 Aug 2022 15:26:47 +0000 (17:26 +0200)]
Remove version from Ada VSC plugin (#1158)
Alejandro R Mosteo [Thu, 25 Aug 2022 12:32:36 +0000 (14:32 +0200)]
New switches for `alr build` to apply profile to all dependencies (#1119)
* New switches to recursively apply build profiles
* Test for new switches
* Document user-visible changes
* refactor how last profiles are stored
Now we keep track of all dependencies' profiles, so any individual change can
be detected and config files regenerated accordingly.
* Move to --profiles single switch
* Remove aliases
* Update documentation on user changes
* Self-review tweaks
* Code review fixes
* New test for improper list of profiles
* Fix `alr help build` output s/:/=/g
Co-authored-by: GHA <actions@github.com>
Alejandro R Mosteo [Wed, 24 Aug 2022 08:12:55 +0000 (10:12 +0200)]
Crate_Configuration: delay creation of temp files (#1145)
Co-authored-by: GHA <actions@github.com>
Alejandro R Mosteo [Wed, 24 Aug 2022 08:12:32 +0000 (10:12 +0200)]
Solver: fix double count of complete solution (#1144)
Co-authored-by: GHA <actions@github.com>
Alejandro R Mosteo [Wed, 24 Aug 2022 08:10:43 +0000 (10:10 +0200)]
Fixes for external detections in Fedora (#1142)
Ignore package name casing and fix regular expression
Co-authored-by: GHA <actions@github.com>
Alejandro R Mosteo [Tue, 23 Aug 2022 10:28:08 +0000 (12:28 +0200)]
Migrate explicit ubuntu-18.04 to latest (#1154)
Co-authored-by: GHA <actions@github.com>
Alejandro R Mosteo [Tue, 23 Aug 2022 10:26:46 +0000 (12:26 +0200)]
Enhancements to actions documentation/testing (#1128)
* New test for 'directory' property of actions
* Improvements to actions docs in catalog spec
* Code review fix
* Bump submodule
Co-authored-by: GHA <actions@github.com>
Alejandro R Mosteo [Thu, 18 Aug 2022 11:05:05 +0000 (13:05 +0200)]
Reason for missing releases in solution (#1127)
* Store/display reason for crate missing in solution
* Add missing reasons to tests
* New test checking missing reasons
Although other tests already exercise the new feature, this way we have an
explicit one in case the others changed at some point.
* s/unindexed/unknown/
Co-authored-by: GHA <actions@github.com>
A.J. Ianozi [Thu, 18 Aug 2022 10:58:56 +0000 (06:58 -0400)]
workaround for gnatcoll-core#64 / gnatstudio#128 (#1141)
This is a workaround for issue AdaCore/gnatstudio#128 and AdaCore/gnatcoll-core#64 where GNAT Studio fails to open recently-updated or newly-created alire files. Breaking the Ada_Compiler_Switches up into two statements resloves this problem.
Jesper Quorning [Thu, 18 Aug 2022 10:31:37 +0000 (12:31 +0200)]
Emit error for all unset configuration variables (#1132)
* Emit error for all unset configuration variables
* Add test using config_index
* Move index to test directory
* Move test to config
Stephane Carrez [Wed, 3 Aug 2022 16:16:18 +0000 (18:16 +0200)]
Allow publishing to complete for an existing release with --force (#1130)
* Honor the --force option when publishing a crate (#1083)
When publishing and checking for existing crate with same version,
if the crate already exist and the force option is used,
emit a warning message and continue.
* Use Recoverable_Error to report that a crate version already exists
Jesper Quorning [Sun, 31 Jul 2022 08:54:11 +0000 (10:54 +0200)]
Alire.Crate_Configuration: Fix end of quote (#1124)
Alejandro R Mosteo [Sun, 31 Jul 2022 08:53:18 +0000 (10:53 +0200)]
Minor improvements to solver progress output (#1117)
Remove duplicate messages, and add progress while we are still in the space of
complete solutions (as nothing was reported if no complete solution was found).
Co-authored-by: GHA <actions@github.com>
Alejandro R Mosteo [Sun, 31 Jul 2022 08:45:06 +0000 (10:45 +0200)]
Document nested crates in Best Practices (#1123)
Co-authored-by: GHA <actions@github.com>
Fabien Chouteau [Fri, 29 Jul 2022 08:16:16 +0000 (10:16 +0200)]
Alire.Utils.Switches: remove -gnateE when debug info enabled (#1120)
The switch is not compatible with embedded targets/run-times.
See #1118 .
Alejandro R Mosteo [Wed, 27 Jul 2022 14:03:53 +0000 (16:03 +0200)]
Speed-up search of incomplete solutions (#1116)
* Speed-up search of incomplete solutions
We now avoid earlier the solving of a dependency which has been already seen in
the search branch.
We also had a bug that was duplicating the search space with every extra
dependency. That meant an exponential increase in time for every extra
dependency. Fortunately, this only affected incomplete solutions.
In practice there are no visible changes as the solutions found are ultimately
the same.
* Fixes found by GHA
Co-authored-by: GHA <actions@github.com>
Alejandro R Mosteo [Wed, 27 Jul 2022 10:23:30 +0000 (12:23 +0200)]
Alire.Solver: Refactor types for simpler updates (#1110)
Alejandro R Mosteo [Wed, 27 Jul 2022 09:10:06 +0000 (11:10 +0200)]
Use last build profile on `alr run` (#1080)
* Use last build profile on `alr run`
* user-changes.md: explain new behavior
Alejandro R Mosteo [Wed, 27 Jul 2022 09:09:44 +0000 (11:09 +0200)]
Show providers of an abstract crate (#1114)
* Show providers of abstract crates in `alr show`
* Test for the new output
Co-authored-by: GHA <actions@github.com>
Alejandro R Mosteo [Wed, 27 Jul 2022 09:09:18 +0000 (11:09 +0200)]
Remove some ambiguities that led to warnings (#1113)
Thanks to Simon J. Wright
Co-authored-by: GHA <actions@github.com>
Alejandro R Mosteo [Mon, 25 Jul 2022 08:15:15 +0000 (10:15 +0200)]
Fix gnat_external detection on `alr toolchain` (#1104)
* Fix gnat_external detection on `alr toolchain`
* Clarify what's going on with test
Alejandro R Mosteo [Mon, 25 Jul 2022 07:46:28 +0000 (09:46 +0200)]
Fix solver interactions on 'Always' timeout (#1103)
Alejandro R Mosteo [Mon, 25 Jul 2022 07:35:42 +0000 (09:35 +0200)]
Remove obsolescent files (#1105)
Alejandro R Mosteo [Mon, 25 Jul 2022 07:35:22 +0000 (09:35 +0200)]
Use "*" for auto dependency when pinning to parent (#1107)
This is probably what the user wants 99% of the time.
Alejandro R Mosteo [Mon, 25 Jul 2022 07:34:55 +0000 (09:34 +0200)]
Add newline before [[depends-on]] and [[pins]] (#1108)
When these are automatically added by `alr with`/`alr pin`.
This is more in line with what we see in manually edited manifests.
Alejandro R Mosteo [Fri, 22 Jul 2022 08:28:11 +0000 (10:28 +0200)]
Prepend projects to GPR_PROJECT_PATH (#1098)
We were appending which could cause mix-ups when there was another compiler in
the user path (as we are already prepending in the case of PATH)
Alejandro R Mosteo [Fri, 22 Jul 2022 08:27:40 +0000 (10:27 +0200)]
Remove more unneeded full index loading/external detections (#1097)
* Remove some unneeded external detection
* Fix bug in versions detection pattern matcher
* Remove some instances of full index loading
And some unnecessary instances of external detection
Alejandro R Mosteo [Fri, 22 Jul 2022 08:16:49 +0000 (10:16 +0200)]
Fix generated pin to parent crate (#1096)
* Replace buggy relative path in GNATCOLL
* New test for relative pins to parent crate
Co-authored-by: GHA <actions@github.com>
Alejandro R Mosteo [Thu, 21 Jul 2022 15:51:58 +0000 (17:51 +0200)]
Add Savannah from GNU to trusted sites (#1095)
Co-authored-by: GHA <actions@github.com>
Alejandro R Mosteo [Wed, 20 Jul 2022 10:52:54 +0000 (12:52 +0200)]
Lazy index loading (2/2) (#1086)
* Index queries autoload crates if required
* Avoid infinite recursion when no indexes configured
* Remove references to Requires_Full_Index
* Fixed issues pending "provides" redo
* Generate and use a providers cache file
This cache file, which is common to all indexes, tells us in advance which
crates have to be loaded because they provide some another crate. E.g., if
"gnat" is requested to be loaded, we need to load all gnat_native, and
x-compilers.
If this file doesn't exist, we can only be sure by loading the full index, at
which time the file is regenerated for future use.
* Fix bug where all crates with same prefix were loaded
E.g. we were loading all gn* when only gnat_native needed to be loaded
* Fix providers generation when no index configured
* Add spinner during index load
* Remove the now redundant external aliases collection
* Removed last instances of forced index loading
* Fix for older compilers
* Test for the generated metadata file
* publishing.md: note about private indexes and "provides"
* Post-merge fix
Co-authored-by: GHA <actions@github.com>
Alejandro R Mosteo [Wed, 20 Jul 2022 10:10:50 +0000 (12:10 +0200)]
Lazy index loading (1/2) (#1085)
* Index queries autoload crates if required
* Avoid infinite recursion when no indexes configured
* Remove references to Requires_Full_Index
* Fixed issues pending "provides" redo
Co-authored-by: GHA <actions@github.com>
Fabien Chouteau [Tue, 19 Jul 2022 11:05:55 +0000 (13:05 +0200)]
Fix host arch (#1092)
* Alire.Utils: add a function to return a string image of keys in map
* Alire.Expressions: improve error message with list of possible case
* Alire.TOML_Load: add missing host arch enum
Jesper Quorning [Sat, 25 Jun 2022 17:04:54 +0000 (19:04 +0200)]
Fix bracket in alr help show (#1073)
Alejandro R Mosteo [Fri, 24 Jun 2022 12:13:51 +0000 (14:13 +0200)]
Allow more than one conditional action (#1070)
* Allow conditional tables within multivalue arrays
* New test for loading of conditional actions
Co-authored-by: GHA <actions@github.com>
Alejandro R Mosteo [Fri, 24 Jun 2022 11:49:23 +0000 (13:49 +0200)]
Export build-switches to TOML (#1072)
Alejandro R Mosteo [Thu, 23 Jun 2022 15:45:51 +0000 (17:45 +0200)]
Keep `last_build_profile` in sync with profile requested in manifest (#1049)
* Sync internal last_build_profile with manifest
* Test for the new behavior
* Replace field in Root with a pointer and manual management
* Fix warnings in gnatcoll-slim
* Fix new warnings unearthed by GNAT 12.1
Co-authored-by: GHA <actions@github.com>
Alejandro R Mosteo [Thu, 23 Jun 2022 15:35:50 +0000 (17:35 +0200)]
Fix new warnings in GNAT 12.1 (#1071)
* Fix warnings in gnatcoll-slim
* Fix new warnings unearthed by GNAT 12.1
Fabien Chouteau [Wed, 22 Jun 2022 15:40:32 +0000 (17:40 +0200)]
Alire.Utils.Switches: add -gnateE when debug info enabled (#1057)
-gnateE adds extra info in exception messages.
Alejandro R Mosteo [Thu, 9 Jun 2022 19:01:19 +0000 (21:01 +0200)]
Update dependencies to indexed versions (#1046)
* Update manifest & submodules, remove unneeded pins
* Migrate to AnsiAda 1.0
* Migrate to URI_Ada 2.0
* Update to clic 0.2.1
* Update submodule to aaa v0.2.5
* Remove clic forced library type
* Restore gnatcoll pin
* Revert "Remove clic forced library type"
This reverts commit
742413cb2da4742d1157af308062e9339c5b95da .
Co-authored-by: GHA <actions@github.com>