]> _ Git - alire.git/log
alire.git
2 years agoDocker driver for tests in default configuration (#1358)
Alejandro R Mosteo [Mon, 27 Mar 2023 20:21:59 +0000 (22:21 +0200)]
Docker driver for tests in default configuration (#1358)

2 years agoTest the local release with `alr test` (#1356)
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

2 years agoUnicode documentation (#1332)
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

2 years agoActually use the cache location for shared releases (#1349)
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

2 years agoAvoid a crash when system pkg is detected twice (#1350)
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.

2 years agoUpdate getting-started.md (#1343)
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.

2 years agoUpdate: "This file is generated" (#1338)
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

2 years agoDon't enable color if TERM=dumb (#1342)
Alejandro R Mosteo [Thu, 2 Mar 2023 11:32:21 +0000 (12:32 +0100)]
Don't enable color if TERM=dumb (#1342)

2 years agoMore explicit identifier error message (#1341)
Alejandro R Mosteo [Thu, 2 Mar 2023 10:04:27 +0000 (11:04 +0100)]
More explicit identifier error message (#1341)

2 years agoNew `--nested` switch for `alr show` (#1333)
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

2 years agoInstall indexed crates (#1335)
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

2 years agoReplace uses of GNAT CE with latest FSF from Alire (#1330)
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

2 years agoMention dev/build.sh and fix typos in readme (#1331)
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

2 years agoAdd Alire.Platforms.Folders.Home for FreeBSD (#1328)
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>
2 years agoWrite Warn/Error traces to stderr by default (#1327)
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

2 years agoRun testsuite on selfbuilds too (#1324)
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.

2 years agoInstall a local crate (#1322)
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

2 years agoFix the example for editor.cmd (#1313)
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}'
```

2 years ago`alr install`: Installation of binary crates (#1302)
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

2 years agoalire_common.gpr: remove default host os to avoid mistakes on macOS (#1298)
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>
2 years agoCheck remote hosts during `alr index --check` (#1309)
Alejandro R Mosteo [Fri, 27 Jan 2023 16:58:00 +0000 (17:58 +0100)]
Check remote hosts during `alr index --check` (#1309)

2 years agoSpecify the initial branch for test repos. (#1244)
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'.

2 years agoFix error when showing an unavailable binary origin (#1304)
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.

2 years agoClearer error for misplaced manifest in index tree (#1213)
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>
2 years agoFix "Loading crate=0.0.0" log message (#1106)
Alejandro R Mosteo [Thu, 19 Jan 2023 13:05:19 +0000 (14:05 +0100)]
Fix "Loading crate=0.0.0" log message (#1106)

2 years agoAdd `--alr` testsuite option (#1295)
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.

2 years agoDisallow dots in identifiers (#1267)
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.

2 years agoUse XDG_CACHE_DIR for cache (#1265)
Tim Lagnese [Wed, 18 Jan 2023 16:05:53 +0000 (11:05 -0500)]
Use XDG_CACHE_DIR for cache (#1265)

2 years agoEnable manual running of Nightly workflow
Alejandro R. Mosteo [Mon, 16 Jan 2023 10:27:01 +0000 (11:27 +0100)]
Enable manual running of Nightly workflow

2 years agoFix typo in Nightly workflow
Alejandro R. Mosteo [Mon, 16 Jan 2023 10:23:06 +0000 (11:23 +0100)]
Fix typo in Nightly workflow

2 years agoWorkflow to have a binary nightly build (#1293)
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

2 years agoFix typo. (#1292)
Vadim Godunko [Mon, 16 Jan 2023 09:23:23 +0000 (12:23 +0300)]
Fix typo. (#1292)

2 years agoUpdate msys2 installer (#1284)
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>
3 years agoUse `alr` from project bin dir in testsuite (#1262)
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.

3 years agoAlr.Commands.Search: unify "search" and "search --crates" behavior (#1254)
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.

3 years agoUpdate getting-started.md (#1253)
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.

3 years agoUpdate testsuite readme (#1252)
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

3 years agoUse hyphens for action usage output (#1249)
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.

3 years agoFix crate config conflicts errors (#1208)
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

3 years agoImprove user experience with better manifest errors messages (#1229)
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

3 years agoalr-commands-init.adb: make alr init interactive (#1228)
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`.

3 years agoalr publish: warn about -dev version (#1221)
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

3 years agoEncode wwstrings as utf8 (#1220)
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>
3 years agoAdd source code recommendations to the policies (#1202)
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.

3 years agoBuild switches: unconditionally add -gnatW8 (#972)
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

3 years agoFix alr help edit: GNAT Studio (#1199)
Jesper Quorning [Mon, 26 Sep 2022 11:28:43 +0000 (13:28 +0200)]
Fix alr help edit: GNAT Studio (#1199)

3 years agoImplement Homebrew as the system deployer for macOS. (#1185)
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>
3 years agoAllow missing configuration values until build (#1167)
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>
3 years agoSupport openSUSE and SUSE distributions (#1173)
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

3 years agoHelp: reorganize commands and simplify descriptions (#1180)
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"

3 years agoUse release build when `alr get --build`ing. (#1169)
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>
3 years agoFail test if complain_on_error=False but no error (#1171)
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.

3 years ago`alr show --dependents` to show which crates have another as a dependency (#1170)
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>
3 years agoRemove too strict check for root manifest reload (#1168)
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>
3 years agoDocument steps to carry out during a release (#1162)
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>
3 years agoAllow package removal by `apt` with --force (#1165)
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

3 years agoFix copy/paste error (#1179)
Maxim Reznik [Mon, 12 Sep 2022 10:51:22 +0000 (13:51 +0300)]
Fix copy/paste error (#1179)

3 years agoBump index version to 1.2.1
GHA [Fri, 26 Aug 2022 15:06:55 +0000 (17:06 +0200)]
Bump index version to 1.2.1

3 years agoRight trim tables (#1166)
Jesper Quorning [Tue, 30 Aug 2022 08:12:44 +0000 (10:12 +0200)]
Right trim tables (#1166)

* Right trim tables

* Adapt testcases

3 years agoAdd support for FreeBSD (#1148)
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>
3 years ago`alr test`: Allow binary releases to not contain project files (#1159)
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

3 years agoRemove version from Ada VSC plugin (#1158)
Alejandro R Mosteo [Thu, 25 Aug 2022 15:26:47 +0000 (17:26 +0200)]
Remove version from Ada VSC plugin (#1158)

3 years agoNew switches for `alr build` to apply profile to all dependencies (#1119)
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>
3 years agoCrate_Configuration: delay creation of temp files (#1145)
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>
3 years agoSolver: fix double count of complete solution (#1144)
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>
3 years agoFixes for external detections in Fedora (#1142)
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>
3 years agoMigrate explicit ubuntu-18.04 to latest (#1154)
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>
3 years agoEnhancements to actions documentation/testing (#1128)
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>
3 years agoReason for missing releases in solution (#1127)
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>
3 years agoworkaround for gnatcoll-core#64 / gnatstudio#128 (#1141)
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.

3 years agoEmit error for all unset configuration variables (#1132)
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

3 years agoAllow publishing to complete for an existing release with --force (#1130)
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

3 years agoAlire.Crate_Configuration: Fix end of quote (#1124)
Jesper Quorning [Sun, 31 Jul 2022 08:54:11 +0000 (10:54 +0200)]
Alire.Crate_Configuration: Fix end of quote (#1124)

3 years agoMinor improvements to solver progress output (#1117)
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>
3 years agoDocument nested crates in Best Practices (#1123)
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>
3 years ago Alire.Utils.Switches: remove -gnateE when debug info enabled (#1120)
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 .

3 years agoSpeed-up search of incomplete solutions (#1116)
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>
3 years agoAlire.Solver: Refactor types for simpler updates (#1110)
Alejandro R Mosteo [Wed, 27 Jul 2022 10:23:30 +0000 (12:23 +0200)]
Alire.Solver: Refactor types for simpler updates (#1110)

3 years agoUse last build profile on `alr run` (#1080)
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

3 years agoShow providers of an abstract crate (#1114)
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>
3 years agoRemove some ambiguities that led to warnings (#1113)
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>
3 years agoFix gnat_external detection on `alr toolchain` (#1104)
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

3 years agoFix solver interactions on 'Always' timeout (#1103)
Alejandro R Mosteo [Mon, 25 Jul 2022 07:46:28 +0000 (09:46 +0200)]
Fix solver interactions on 'Always' timeout (#1103)

3 years agoRemove obsolescent files (#1105)
Alejandro R Mosteo [Mon, 25 Jul 2022 07:35:42 +0000 (09:35 +0200)]
Remove obsolescent files (#1105)

3 years agoUse "*" for auto dependency when pinning to parent (#1107)
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.

3 years agoAdd newline before [[depends-on]] and [[pins]] (#1108)
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.

3 years agoPrepend projects to GPR_PROJECT_PATH (#1098)
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)

3 years agoRemove more unneeded full index loading/external detections (#1097)
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

3 years agoFix generated pin to parent crate (#1096)
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>
3 years agoAdd Savannah from GNU to trusted sites (#1095)
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>
3 years agoLazy index loading (2/2) (#1086)
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>
3 years agoLazy index loading (1/2) (#1085)
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>
3 years agoFix host arch (#1092)
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

3 years agoFix bracket in alr help show (#1073)
Jesper Quorning [Sat, 25 Jun 2022 17:04:54 +0000 (19:04 +0200)]
Fix bracket in alr help show (#1073)

3 years agoAllow more than one conditional action (#1070)
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>
3 years agoExport build-switches to TOML (#1072)
Alejandro R Mosteo [Fri, 24 Jun 2022 11:49:23 +0000 (13:49 +0200)]
Export build-switches to TOML (#1072)

3 years agoKeep `last_build_profile` in sync with profile requested in manifest (#1049)
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>
3 years agoFix new warnings in GNAT 12.1 (#1071)
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

3 years agoAlire.Utils.Switches: add -gnateE when debug info enabled (#1057)
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.

3 years agoUpdate dependencies to indexed versions (#1046)
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>