]> _ Git - alire.git/log
alire.git
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>
3 years agoAlire.Crate.Configuration: disable style checks in generated code (#1047)
Fabien Chouteau [Wed, 8 Jun 2022 09:24:39 +0000 (11:24 +0200)]
Alire.Crate.Configuration: disable style checks in generated code (#1047)

With the current style checks it is easy to break coding style by having
to many values in an enum for instance.

In theory we could generate better code for enums. But since users can
use their own coding style, it is impossible to be compatible with in
every situation.

So the best option is to disable all checks for this file.

3 years agoAlr.Commands.Edit: update pointer to GNAT Studio release (#1045)
Fabien Chouteau [Tue, 7 Jun 2022 09:38:56 +0000 (11:38 +0200)]
Alr.Commands.Edit: update pointer to GNAT Studio release (#1045)

* Alr.Commands.Edit: update pointer to GNAT Studio release

* Update test.py

3 years agoSync with branch 'alire/release/1.2'
Alejandro R. Mosteo [Mon, 6 Jun 2022 18:59:17 +0000 (20:59 +0200)]
Sync with branch 'alire/release/1.2'

3 years agoUpdate user-changes.md (#1043)
Fabien Chouteau [Mon, 6 Jun 2022 17:29:21 +0000 (19:29 +0200)]
Update user-changes.md (#1043)

* Update user-changes.md

* Update user-changes.md

3 years agoBump versions to 1.2
Alejandro R. Mosteo [Fri, 3 Jun 2022 15:36:23 +0000 (17:36 +0200)]
Bump versions to 1.2

3 years agoSpeed-up detection of installed externals in RPM-based distros (#1036)
Alejandro R Mosteo [Fri, 3 Jun 2022 10:11:07 +0000 (12:11 +0200)]
Speed-up detection of installed externals in RPM-based distros (#1036)

* Speed-up detection of installed externals in RPM distros

Although the yum/dnf wrappers are needed for the installation proper, we can
speed up detections of already installed packages by using rpm directly.
Unfortunately, rpm cannot give info on not installed packages, but this still
speeds up things greatly for the usual case of gnat/gprbuild being installed.

* Refactor duplicated code

3 years agoSync with branch 'alire/release/1.2'
Alejandro R. Mosteo [Thu, 2 Jun 2022 22:02:51 +0000 (00:02 +0200)]
Sync with  branch 'alire/release/1.2'

3 years agoSync with branch 'alire/release/1.2'
Alejandro R. Mosteo [Wed, 1 Jun 2022 16:09:32 +0000 (18:09 +0200)]
Sync with branch 'alire/release/1.2'

3 years agoFix early parsing of verbosity switches (#1034)
Alejandro R Mosteo [Wed, 1 Jun 2022 16:08:03 +0000 (18:08 +0200)]
Fix early parsing of verbosity switches (#1034)

* Fix early parsing of verbosity switches

We were recognizing them even after the subcommand. This also meant that it
would have been impossible to have regular output if a -v is intended for the
subcommand, e.g. in `alr exec -- whatever -v`.

* Bump/sync clic submodule/dependency

3 years agoSync with branch 'release/1.2'
Alejandro R. Mosteo [Wed, 1 Jun 2022 10:13:40 +0000 (12:13 +0200)]
Sync with branch 'release/1.2'

3 years agoAlire.Utils.Switches: Disable No_Exception_Propagation warning
Fabien Chouteau [Wed, 25 May 2022 20:03:26 +0000 (22:03 +0200)]
Alire.Utils.Switches: Disable No_Exception_Propagation warning

This switch was always added to the init crates and should have been
included in the first version of build profiles. The warnings are only
displayed for embedded project based on run-times without exception
propagation, and can be very annoying.

3 years agoAlire.Utils.Switches: Disable No_Exception_Propagation warning (#1030)
Alejandro R Mosteo [Wed, 1 Jun 2022 10:08:06 +0000 (12:08 +0200)]
Alire.Utils.Switches: Disable No_Exception_Propagation warning (#1030)

Alire.Utils.Switches: Disable No_Exception_Propagation warning

3 years agoAlire.Utils.Switches: Disable No_Exception_Propagation warning
Fabien Chouteau [Wed, 25 May 2022 20:03:26 +0000 (22:03 +0200)]
Alire.Utils.Switches: Disable No_Exception_Propagation warning

This switch was always added to the init crates and should have been
included in the first version of build profiles. The warnings are only
displayed for embedded project based on run-times without exception
propagation, and can be very annoying.

3 years agoalire.toml: Bump version to 1.2-rc1
GHA [Wed, 18 May 2022 13:04:47 +0000 (15:04 +0200)]
alire.toml: Bump version to 1.2-rc1

3 years agoBump version to 1.3-dev
GHA [Wed, 18 May 2022 13:04:18 +0000 (15:04 +0200)]
Bump version to 1.3-dev

3 years agoSync with release/1.2
Alejandro R Mosteo [Wed, 18 May 2022 13:02:19 +0000 (15:02 +0200)]
Sync with release/1.2

Bump alr and index versions to 1.2

3 years agoBump alr and index versions to 1.2
GHA [Tue, 17 May 2022 15:52:23 +0000 (17:52 +0200)]
Bump alr and index versions to 1.2

3 years agoFix retrieval of git root and prefix inside repo (#1024)
Alejandro R Mosteo [Tue, 17 May 2022 09:24:08 +0000 (11:24 +0200)]
Fix retrieval of git root and prefix inside repo (#1024)

* Fix retrieval of git root and prefix inside repo

* Fix instantiation on older compilers

* Alire.VSSs.Git: Fix unreferenced parameter

* Alire.Publish: fix reversed logic

* Code review fixes

Co-authored-by: GHA <actions@github.com>
3 years agoNew `alr get --dirname` switch (#1014)
Alejandro R Mosteo [Tue, 17 May 2022 09:07:31 +0000 (11:07 +0200)]
New `alr get --dirname` switch (#1014)

* Alr.Commands.Get: New --dirname switch

This switch just shows in which folder the just downloaded crate can be found.

* Tests for `alr get --dirname`

Co-authored-by: GHA <actions@github.com>
3 years agoCreate zipball with full sources for releases (#1023)
Alejandro R Mosteo [Mon, 16 May 2022 18:14:12 +0000 (20:14 +0200)]
Create zipball with full sources for releases (#1023)

* Create asset for full sources with submodules

* No need to run in multiple OSes

Co-authored-by: GHA <actions@github.com>
3 years agoDon't detect external tools when they're not (#1018)
Alejandro R Mosteo [Mon, 9 May 2022 08:44:38 +0000 (10:44 +0200)]
Don't detect external tools when they're not (#1018)

3 years agoProperly detect domain in publishing assistant (#1020)
Alejandro R Mosteo [Mon, 9 May 2022 08:44:09 +0000 (10:44 +0200)]
Properly detect domain in publishing assistant (#1020)

Fixes #1011

Co-authored-by: GHA <actions@github.com>
3 years agoLoad the index when dependencies are needed (#1019)
Alejandro R Mosteo [Fri, 6 May 2022 09:57:31 +0000 (11:57 +0200)]
Load the index when dependencies are needed (#1019)

* Load the index when dependencies are needed

* Test for this fix

Co-authored-by: GHA <actions@github.com>
3 years agotests/crate_config/basic: fix arm64 expected host (#1015)
Fabien Chouteau [Wed, 4 May 2022 11:30:54 +0000 (13:30 +0200)]
tests/crate_config/basic: fix arm64 expected host (#1015)

Co-authored-by: GHA <actions@github.com>
3 years agoUpdate msys installer (#1017)
Alejandro R Mosteo [Wed, 4 May 2022 10:40:33 +0000 (12:40 +0200)]
Update msys installer (#1017)

Co-authored-by: GHA <actions@github.com>
3 years agoShow just the version with `alr --version` (#1013)
Alejandro R Mosteo [Tue, 3 May 2022 09:13:54 +0000 (11:13 +0200)]
Show just the version with `alr --version` (#1013)

* Add a new --version standalone switch

* Add a couple of new tests

3 years agoBump index version (#1009)
Alejandro R Mosteo [Fri, 29 Apr 2022 14:56:17 +0000 (16:56 +0200)]
Bump index version (#1009)

* Alire.Index_On_Disk: Drop index cache after deletion

Also ensure that all index addition functions operate with fresh index
information

* Bump index version

* Allow disabling the "old compatible index" warning

Also use real old compatible version to not have to use a fake old compatible version

* Alire.Config.Edit: fix copypasta mistake

Co-authored-by: GHA <actions@github.com>
3 years agoAlire.Index_On_Disk: Drop index cache after deletion (#1010)
Alejandro R Mosteo [Fri, 29 Apr 2022 14:55:50 +0000 (16:55 +0200)]
Alire.Index_On_Disk: Drop index cache after deletion (#1010)

Also ensure that all index addition functions operate with fresh index
information

Co-authored-by: GHA <actions@github.com>
3 years agoCache index detection and crate loading (#1008)
Alejandro R Mosteo [Thu, 28 Apr 2022 10:03:50 +0000 (12:03 +0200)]
Cache index detection and crate loading (#1008)

3 years agoImplement load of individual crates from index (#1006)
Alejandro R Mosteo [Tue, 26 Apr 2022 08:45:21 +0000 (10:45 +0200)]
Implement load of individual crates from index (#1006)

* Make index set its own type

* Basics for individual crate loading in place

* Complete single crate loading and use in `show`

* Use Empty_Set instead of Empty for older compilers

3 years agoAlr.Commands.Init: Create share folder for resources (#1003)
Fabien Chouteau [Mon, 25 Apr 2022 18:06:43 +0000 (20:06 +0200)]
Alr.Commands.Init: Create share folder for resources (#1003)

Note that gprinstall won't complain if this folder doesn't exists, so
users can decided to leave it empty or remove it in case they don't have
resources.

3 years agoAlr.Commands.Init: change default version for new crates to 0.1.0-dev (#1004)
Fabien Chouteau [Mon, 25 Apr 2022 17:53:41 +0000 (19:53 +0200)]
Alr.Commands.Init: change default version for new crates to 0.1.0-dev (#1004)

3 years agoUpdate getting-started.md (#1000)
Fabien Chouteau [Fri, 22 Apr 2022 14:38:11 +0000 (16:38 +0200)]
Update getting-started.md (#1000)

* Update getting-started.md

* Update getting-started.md

3 years agoAlire.Properties.Configurations: revert forced mixed case (#998)
Fabien Chouteau [Wed, 20 Apr 2022 09:12:46 +0000 (11:12 +0200)]
Alire.Properties.Configurations: revert forced mixed case (#998)

* Alire.Properties.Configurations: revert forced mixed case

Forcing mixed case for enum values breaks existing crates (atomic).

* Alire.Crate_Configuration: force build profiles to lower case

The default is upper case because values are generated from Enum'Img.

3 years agoRefactor Alire.Features.Indes -> Alire.Index_On_Disk.Loading (#992)
Alejandro R Mosteo [Fri, 15 Apr 2022 09:00:21 +0000 (11:00 +0200)]
Refactor Alire.Features.Indes -> Alire.Index_On_Disk.Loading (#992)

The Alire.Features.* hierarchy was ill-conceived so getting rid of it by moving
a package around.

3 years agoNew `action` subcommand (#983)
Alejandro R Mosteo [Thu, 14 Apr 2022 09:06:13 +0000 (11:06 +0200)]
New `action` subcommand (#983)

* New 'action' subcommand, listing supported

* Alr.Commands.Action: Add execution of given action

* Add tests for action listing and triggering

* doc/user-changes.md: document new `alr action`

* Self-review fixes

3 years agoAlire.Crate_Configuration: Fix pragma No_Elaboration_Code (#987)
Fabien Chouteau [Wed, 13 Apr 2022 12:46:55 +0000 (14:46 +0200)]
Alire.Crate_Configuration: Fix pragma No_Elaboration_Code (#987)

pragma No_Elaboration_Code_All has an impact on implicitly or explicitly with’ed units:
https://docs.adacore.com/gnat_rm-docs/html/gnat_rm/gnat_rm/implementation_defined_pragmas.html

3 years agoAlr.Command: fix gnatcov built-in alias (#986)
Fabien Chouteau [Wed, 13 Apr 2022 10:24:55 +0000 (12:24 +0200)]
Alr.Command: fix gnatcov built-in alias (#986)

The first argument of gnatcov must be the action (`instrument`, `coverage`, etc.).

3 years agoAlire.Utils.Switches: Disable contracts for Development profile (#979)
Fabien Chouteau [Mon, 11 Apr 2022 17:20:01 +0000 (19:20 +0200)]
Alire.Utils.Switches: Disable contracts for Development profile (#979)

This was probably too aggressive as contracts severely impact performances.

3 years agoAlr.Commands.Init: Fix missing config src dir (#981)
Fabien Chouteau [Mon, 11 Apr 2022 17:18:32 +0000 (19:18 +0200)]
Alr.Commands.Init: Fix missing config src dir (#981)

3 years agoReject manifest keys with underscores (#980)
Alejandro R Mosteo [Mon, 11 Apr 2022 17:17:43 +0000 (19:17 +0200)]
Reject manifest keys with underscores (#980)

These were slipping in before due to improper validation

3 years agoFix some rich output that eluded --no-color/--no-tty (#978)
Alejandro R Mosteo [Sat, 9 Apr 2022 20:07:26 +0000 (22:07 +0200)]
Fix some rich output that eluded --no-color/--no-tty (#978)

* Fix some colored unicode not disabled by --no-tty

* Update manifest pin for clic to match submodule

* Bump clic submodule and pin

3 years agoUse proper index versioning for backwards compatibility (#975)
Alejandro R Mosteo [Sat, 9 Apr 2022 20:07:03 +0000 (22:07 +0200)]
Use proper index versioning for backwards compatibility (#975)

* Use index versioning for backwards compatibility

* Improvements to wording of errors

* New tests for old-compatible and old-incompatible

* Tweaks to tests due to minor changes in output

* Clean up leftover comments

Co-authored-by: GHA <actions@github.com>
3 years agoAlire.Manifest: Remove "Added by alr" comments (#977)
Fabien Chouteau [Fri, 8 Apr 2022 21:36:47 +0000 (23:36 +0200)]
Alire.Manifest: Remove "Added by alr" comments (#977)

* Alire.Manifest: Remove "Added by alr" comments

* Bump clic dependency

Co-authored-by: Alejandro R. Mosteo <amosteo@unizar.es>
3 years agoUpdate msys2 installer and allow user to set version (#970)
Fabien Chouteau [Thu, 7 Apr 2022 09:22:28 +0000 (11:22 +0200)]
Update msys2 installer and allow user to set version (#970)

3 years agoRemapping of ARM64 to AARCH64 (#968)
Alejandro R Mosteo [Tue, 5 Apr 2022 13:44:12 +0000 (15:44 +0200)]
Remapping of ARM64 to AARCH64 (#968)

* Remapping of ARM64 to AARCH64

* Code review fix

Co-authored-by: GHA <actions@github.com>
3 years agoAlire.Crate_Configuration: add built-in values for host OS, Arch and Distro (#961)
Fabien Chouteau [Mon, 4 Apr 2022 17:15:53 +0000 (19:15 +0200)]
Alire.Crate_Configuration: add built-in values for host OS, Arch and Distro (#961)

* Alire.Crate_Configuration: add built-in values for host OS, Arch and Distro

This will be very useful for platform specific code.

* Alire.Crate_Configuration: Tweak generated code

The Ada/GPR constant names, package names, and enum values are forced to mixed case.
The C constant names are forced to upper case.

* Alire.Platforms: Refactoring to fix elaboration

Msys2 install in Alire.Platforms.Init added elaboration issue for code using (e.g.) Current.Operating_System in elaboration.

3 years agoRemove git --progress flag (fixes #966) (#967)
Jeremy Grosser [Mon, 4 Apr 2022 17:05:29 +0000 (10:05 -0700)]
Remove git --progress flag (fixes #966) (#967)

3 years agoSilence git when not running in a tty (#963)
Alejandro R Mosteo [Fri, 1 Apr 2022 17:18:14 +0000 (19:18 +0200)]
Silence git when not running in a tty (#963)

3 years agoAlire.Crate_Configuration: Add a Crate_Name constant for all configs (#957)
Fabien Chouteau [Wed, 30 Mar 2022 08:58:25 +0000 (10:58 +0200)]
Alire.Crate_Configuration: Add a Crate_Name constant for all configs (#957)

* alire.toml: bump gnatcoll-slim commit to match git submodule

* Alire.Crate_Configuration: Add a Crate_Name constant for all configs

Just a convenient thing to have, for instance with the upcoming
Resources crate.

3 years agoAlire.Environment: change _PREFIX to _ALIRE_PREFIX (#958)
Fabien Chouteau [Wed, 30 Mar 2022 08:56:01 +0000 (10:56 +0200)]
Alire.Environment: change _PREFIX to _ALIRE_PREFIX (#958)

* alire.toml: bump gnatcoll-slim commit to match git submodule

* Alire.Environment: change _PREFIX to _ALIRE_PREFIX

With just _PREFIX there is a high risk of conflicts with legitimate use
of environment variables.

3 years agoalire.toml: bump gnatcoll-slim commit to match git submodule (#959)
Fabien Chouteau [Wed, 30 Mar 2022 08:54:11 +0000 (10:54 +0200)]
alire.toml: bump gnatcoll-slim commit to match git submodule (#959)

3 years agoAlr.Commands.Exec: -P switch to add project file on the command line (#956)
Fabien Chouteau [Tue, 29 Mar 2022 09:58:19 +0000 (11:58 +0200)]
Alr.Commands.Exec: -P switch to add project file on the command line (#956)

* Alr.Commands.Exec: -P switch to add project file on the command line

* Alr.Commands: Add built-in aliases for gnatcov and gnatprove

3 years agoChange default GPRbuild switches (#955)
Fabien Chouteau [Mon, 28 Mar 2022 16:36:45 +0000 (18:36 +0200)]
Change default GPRbuild switches (#955)

- Remove `-gnatwU` (Recompile if compiler switches have changed):
     It is a legacy from the time when the index was in Ada. Removal may
     trigger some issue on crates with warnings-as-error. But the longer
     we wait the bigger of a problem it will be.

 - Add `-s` (Recompile if compiler switches have changed):
     As discussed in #952, it makes sense to have this default for all
     builds.

3 years agoAlire.Environment: export <CRATE_NAME>_PREFIX for all crates of solution (#954)
Fabien Chouteau [Mon, 28 Mar 2022 10:17:08 +0000 (12:17 +0200)]
Alire.Environment: export <CRATE_NAME>_PREFIX for all crates of solution (#954)

This is to be used for retrieval of crate resources, see #948.

3 years agoAlire.Properties.Build_Switches: Add support for Ada version switches (#953)
Fabien Chouteau [Mon, 28 Mar 2022 09:02:23 +0000 (11:02 +0200)]
Alire.Properties.Build_Switches: Add support for Ada version switches (#953)

3 years agoNew property for detected host architecture (#932)
Alejandro R Mosteo [Mon, 14 Mar 2022 11:48:42 +0000 (12:48 +0100)]
New property for detected host architecture (#932)

* New property for detected host architecture

This will allow indexing the proper binaries for different host architectures.

* Don't use uname on Windows

3 years agoLeftover comments from platform refactor (#950)
Alejandro R Mosteo [Wed, 9 Mar 2022 15:04:03 +0000 (16:04 +0100)]
Leftover comments from platform refactor (#950)

3 years agoRemove pins from manifest during `alr publish` (#947)
Alejandro R Mosteo [Mon, 7 Mar 2022 11:00:49 +0000 (12:00 +0100)]
Remove pins from manifest during `alr publish` (#947)

* Remove pins from deployed sources and final manifest

* Bump toml_slicer pin in manifest

* Test for pin removal during `alr publish`

3 years agobugfix: emit all found executables (#946)
Jesper Quorning [Mon, 7 Mar 2022 11:00:01 +0000 (12:00 +0100)]
bugfix: emit all found executables (#946)

3 years agoSupport for publishing of crates in subdirectories of repositories (#939)
Alejandro R Mosteo [Fri, 4 Mar 2022 12:01:12 +0000 (13:01 +0100)]
Support for publishing of crates in subdirectories of repositories (#939)

* Added require information to Origins

* Unique folder name for monorepos

* Use subdir all around, but for publishing

* Alire.Publish: detect and publish nested crates

* Alire.Roots: Properly deploy/use nested crates

* Test for basic publishing and using of monorepo

* Test for nesting beyond the top level

* Test no subdir accepted for non-repo origins

* user-changes.md: new monorepo feature

* Updates to various documentations

* Create info file for monorepo releases

This is an empty file in the dependencies folder that helps curious users to
understand where a particular release is coming from. For example:

dependencies
 +-- monorepo_adef1234
      +-- mycrate
 +-- mycrate_1.0.0_in_monorepo_adef1234

* Self-review fixes

* Fixes for Windows

Windows may return paths with either long or short names which complicate a bit
comparing two directories as we do to detect nested crates. To us, the problem
esteems from git returning different names than the Ada std lib.

* Alire.Releases: fix obsolete header box

Co-authored-by: Jesper Quorning <jesper.quorning@gmail.com>
* Test using crates from different monorepo commits

Co-authored-by: Jesper Quorning <jesper.quorning@gmail.com>
3 years agodoc: Add an introduction and update getting-started.md (#899)
Fabien Chouteau [Tue, 15 Feb 2022 12:12:09 +0000 (13:12 +0100)]
doc: Add an introduction and update getting-started.md (#899)

* doc: Add an introduction and update getting-started.md

* Review typo fixes

Co-authored-by: Alejandro R. Mosteo <amosteo@unizar.es>
3 years agoDisplay pins in show/with commands (#940)
Alejandro R Mosteo [Tue, 15 Feb 2022 10:10:03 +0000 (11:10 +0100)]
Display pins in show/with commands (#940)

* Display pins in show/with commands

* Tweaks to testsuite for new output

3 years agoalr.py: ensure baseline git configuration in tests (#936)
Alejandro R Mosteo [Mon, 14 Feb 2022 11:32:00 +0000 (12:32 +0100)]
alr.py: ensure baseline git configuration in tests (#936)

3 years agoLog command line before parsing & execution (#938)
Alejandro R Mosteo [Mon, 14 Feb 2022 11:27:57 +0000 (12:27 +0100)]
Log command line before parsing & execution (#938)

3 years agoNew config option to disable community index (#933)
Alejandro R Mosteo [Mon, 7 Feb 2022 12:29:18 +0000 (13:29 +0100)]
New config option to disable community index (#933)

* New config option to disable community index

This way we can ensure that no test in our testsuite is inadvertently using the
community index, as indeed it was happening.

* Code review

3 years agoRefactor scattered platform code into Alire.Platforms.Current (#931)
Alejandro R Mosteo [Fri, 4 Feb 2022 10:14:58 +0000 (11:14 +0100)]
Refactor scattered platform code into Alire.Platforms.Current (#931)

* Refactor Alire.Platform into Alire.Platforms.Current [linux]

* Refactor Alire.Platform as Alire.Platforms.Current [macOS]

* Refactor Alire.Platform as Alire.Platforms.Current [Windows]

* Refactor Alr.Platform as Alire.Platforms.Current [Linux]

* Refactor Alr.Platform into Alire.Platforms.Current [macOS]

* Refactor Alr.Platform into Alire.Platforms.Current [Windows]

* Dummy files to keep some empty dirs for the future

* Ensure OS-specific init is performed at startup

* Alire.Root: remove no longer needed Env copy