]>
_ Git - alire.git/log
Fabien Chouteau [Wed, 10 Jun 2020 15:25:07 +0000 (17:25 +0200)]
Move the Alr.Main exception handler to a last chance handler (#442)
* Move the Alr.Main exception handler to a last chance handler
This way the exceptions raised during elaboration will also be caught.
#441
* Alr.Main: restore an exception handler to catch after elaboration
Relying only on the __gnat_last_chance_handler means that an extra backtrace
is printed by the GNAT run-time (with Notify_Unhandled_Exception).
Alejandro R Mosteo [Mon, 8 Jun 2020 15:32:15 +0000 (17:32 +0200)]
Add a -f, --force global switch (#435)
This global modifier is available in Alire.Force. Other candidate locations,
like Alire.Config, Alire.Errors, Alire.Utils.User_Input cannot be used because
they bring in non-preelaborable units and it snowballs from there.
The recommended usage is through Alire.Recoverable_Error, which will warn or
raise appropriately depending on the flag. The boolean Alire.Force is also
available for less straightforward situations (interaction defaults for
example).
Alejandro R Mosteo [Fri, 5 Jun 2020 17:07:18 +0000 (19:07 +0200)]
Exit code fix for `get --build` with build failure (#428)
We were not erroring if the build failed, which is counterintuitive. We now
require successful retrieval and build to exit with code 0. A test to verify
this situation has been added.
Fabien Chouteau [Fri, 5 Jun 2020 16:57:32 +0000 (18:57 +0200)]
Add support for persistent configuration options (#424)
* Add support for persistent configuration options
The configuration options are either global or local (local overriding
the global definitions) and are stored in TOML format.
This patch also introduces a command to handle configuration options
from the command line.
* Fix circular elaboration of Alire.Config
By moving the Not_Interactive global in the User_Input package.
Pierre-Marie de Rodat [Fri, 5 Jun 2020 16:18:53 +0000 (18:18 +0200)]
Transition the testsuite for Python3 and the new e3.testsuite API (#432)
* Transition the testsuite for Python3 and the new e3.testsuite API
* Testsuite: clear GPR_PROJECT_PATH before running tests
* scripts/ci-github.sh: upgrade e3-testsuite
* Update CI scripts to use Python 3
* Override default timeout to sidestep rlimit
* Clean up no longer needed python2.7 dependencies
Co-authored-by: Alejandro R. Mosteo <amosteo@unizar.es>
Alejandro R Mosteo [Tue, 2 Jun 2020 10:23:02 +0000 (12:23 +0200)]
Remove unnecessary forced exit from `Alr.Main` (#425)
Historically, something was causing an extra empty line in the output of every
command. At some point this has been fixed inadvertently, so we can remove the
forced exit call, which in turn will allow finalization to complete normally,
if it were ever needed.
Alejandro R Mosteo [Tue, 2 Jun 2020 10:22:26 +0000 (12:22 +0200)]
Report expected vs found index versions (#419)
Alejandro R Mosteo [Tue, 26 May 2020 15:36:09 +0000 (17:36 +0200)]
Fixes for GNAT CE 2020 (#423)
The images for CentOS (unsupported Linux) and debian+community have been
upgraded to use GNAT CE 2020. A few minor errors newly detected have been
fixed, related to anonymous access types and explicit aliased arguments.
Alejandro R Mosteo [Sat, 23 May 2020 19:07:13 +0000 (21:07 +0200)]
Improve dependency graphs to display unresolved externals (#422)
* Improve dependency graphs to consider externals
* Enhance test to check dependency graph with external
Alejandro R Mosteo [Sat, 23 May 2020 18:54:36 +0000 (20:54 +0200)]
Fix withing of external dependencies (#421)
* Fix addition of external dependencies
* Test for withing an unavailable external
Alejandro R Mosteo [Sat, 23 May 2020 18:52:36 +0000 (20:52 +0200)]
Fix missing checks for invalid solution (#420)
* Fix missing checks for invalid solution
These were causing uncontained errors after an `alr get --only`
* Test for proper behavior after `alr get --only`
Alejandro R Mosteo [Tue, 19 May 2020 11:03:12 +0000 (13:03 +0200)]
Improve help layout (#418)
This change moves the explanation of switches a few columns to the left.
Alejandro R Mosteo [Tue, 19 May 2020 10:05:36 +0000 (12:05 +0200)]
`alr update` improvements (#415)
* Reimplement `alr update --online`
* On demand update of selected dependencies
* Test: on demand update of selected crate
* Review fixes
Explicitly check that requested crate is not pinned, since it would never result in an update.
Alejandro R Mosteo [Tue, 19 May 2020 09:55:25 +0000 (11:55 +0200)]
Customizable crate tests (#365)
* Update catalog spec with the new action type
* Refactor Action packages
Move Alr.Actions to Alire.Properties.Actions.Executer
Move Alire.Actions to Alire.Properties.Actions
Split Actions into Actions and Actions.Runners
* Use custom test actions in `alr test`
* Test: custom test actions
* Rebase fixes
Alejandro R Mosteo [Mon, 18 May 2020 18:16:23 +0000 (20:16 +0200)]
Remove misleading/redundant error messages (#416)
Alejandro R Mosteo [Mon, 18 May 2020 14:25:36 +0000 (16:25 +0200)]
Fix a compilation error for some GNAT versions (#417)
Alejandro R Mosteo [Fri, 15 May 2020 17:57:33 +0000 (19:57 +0200)]
Colorize output (#402)
* Colorize log messages
* Colorize entities: crates, milestones, dependencies
Alejandro R Mosteo [Fri, 15 May 2020 17:11:13 +0000 (19:11 +0200)]
Show complete solution with `alr with --solve` (#408)
* Show complete solution via `alr with --solve`
* Test: use `with --solve` in test, output fixes
Output fixes are due to minor extra information being added to
`Solution.Print`: pinned releases are flagged as such.
Alejandro R Mosteo [Fri, 15 May 2020 16:40:37 +0000 (18:40 +0200)]
Fix `pin` command to preserve dependencies across pin/unpin (#406)
* Privatize the Alire.Solutions.Solution type
* Add internal `pinned` attribute to releases
* Pin listing
* Implement proper pin/unpin for regular releases
The solver is enhanced to reuse pins from a former solution
* Fixes for testsuite, new tests (pin all, unpin)
Fix bug about using relative paths for index configuration in the python setup.
* Rename `Replacing` --> `With_Pin`
* Fix: unpinned releases where being kept in solution
* Test that pin holds across `alr update`
* Test that a downgrading pin actually works
* Test: pinned release stays on dependency removal
* Enhance pinning status line with version changes
* Refactor pinning logic from Alr into Alire
Jesper Quorning [Fri, 15 May 2020 16:04:13 +0000 (18:04 +0200)]
Proofreading with aspell (#410)
* Typo: Usage_Custom_Parameters
* Typo: environment 2
* Typo: appropriate
* Typo: Additionally
* Typo: executable
* Typo: explicitly
* Typo: expression
* Typo: foolproof
* Typo: representation
* Typo: suggestion
* Typo: only
* Typo: without
* Typo: successfully
* Typo: overridden (4x)
* Typo: happened
* Typo: deployment
* Typo: recursively
* Typo: development
* Typo: environment
* Typos: permanent/orderly
* Typo: Unfortunately
* Typo: succeeds (2x)
Co-authored-by: Alejandro R Mosteo <amosteo@unizar.es>
Fabien Chouteau [Fri, 15 May 2020 15:51:09 +0000 (17:51 +0200)]
Create spellcheck.yml to use reviewdog (#412)
yannickmoy [Thu, 14 May 2020 17:16:40 +0000 (19:16 +0200)]
docs: minor fixes and adding links (#409)
Jesper Quorning [Thu, 14 May 2020 09:16:59 +0000 (11:16 +0200)]
Proofreading fixes (#407)
* Typo: unavailability
* Typo: Space after full stop in comment
* Typo: strings
* Typo: different
* Typo: circumvent
* Typo: length
* Typo: R.Available
* Typo: the
* Rename: doc/catalog-format-spec.md
Alejandro R Mosteo [Wed, 13 May 2020 11:38:46 +0000 (13:38 +0200)]
Don't err out in autocompletion script (#405)
This may break other people's scripts. Just bail out.
Alejandro R Mosteo [Wed, 13 May 2020 11:37:49 +0000 (13:37 +0200)]
Workaround for jekyll export of case expressions (#404)
Fabien Chouteau [Tue, 12 May 2020 18:36:53 +0000 (20:36 +0200)]
Fix header level in publishing.md (#403)
Fabien Chouteau [Tue, 12 May 2020 14:24:05 +0000 (16:24 +0200)]
Refactor documentation (#401)
* Refactor documentation
- The getting started instructions from the README are moved to a
dedicated doc/ page
- The installation instruction now have toolchain install info
- publishing.md is populated from the content of
alire-index/CONTRIBUTING.md
- policies.md is populated from the content of alire-index/POLICY.md
- Some README platform info are updated
* Fix out of date info
* doc/getting-started.md: add a section on setenv
* doc/getting-started.md: add a section about msys2
Co-authored-by: Alejandro R Mosteo <amosteo@unizar.es>
Alejandro R Mosteo [Tue, 12 May 2020 14:18:34 +0000 (16:18 +0200)]
Refactor AAA.Table_IO -> Alire.Utils.Tables (#398)
Alejandro R Mosteo [Tue, 12 May 2020 11:55:03 +0000 (13:55 +0200)]
Show changes to dependencies/solutions in relevant commands (#397)
* Show dependency changes in applicable commands
By relying on the lockfile we can easily summarize changes to the user. There
are no functional changes, except for some no-op updates that can now be omitted
altogether instead of simply blindly redeploying the same exact dependencies.
* Code review fixes
Alejandro R Mosteo [Tue, 12 May 2020 11:29:47 +0000 (13:29 +0200)]
Types to identify changes in dependencies/solutions (#396)
* Modules to identify changes in solutions/deps
* Code review fixes
Alejandro R Mosteo [Tue, 12 May 2020 10:50:12 +0000 (12:50 +0200)]
Fix: use local dependencies in `alr show --solve` (#400)
When the command was run for the local workspace (without explicit crate name),
the dependencies were being taken from the index instead of the local release.
This also manifested as not solvable dependencies for local releases without a
counterpart in the index.
Alejandro R Mosteo [Mon, 11 May 2020 17:37:20 +0000 (19:37 +0200)]
Rely on lockfile for `alr setenv` (#394)
* Use lockfile for `alr setenv`
* Add a test for setenv with external dependencies
Alejandro R Mosteo [Mon, 11 May 2020 17:18:50 +0000 (19:18 +0200)]
Rely on lockfile for `alr show` of local crate (#393)
* Use lockfile in `alr show --solve` of local crate
* Code review fix
Alejandro R Mosteo [Mon, 11 May 2020 16:52:02 +0000 (18:52 +0200)]
Generate the lockfile on the fly when missing (#399)
Alejandro R Mosteo [Mon, 11 May 2020 14:54:10 +0000 (16:54 +0200)]
Cache dependency solution in a lockfile (#355)
* Refactor Alr.Query as Alire.Solver
* Implement lockfiles and create them on checkout
Alejandro R Mosteo [Mon, 11 May 2020 14:39:27 +0000 (16:39 +0200)]
Suggest valid dependencies after `alr with --del` (#395)
Fabien Chouteau [Thu, 7 May 2020 10:55:20 +0000 (12:55 +0200)]
Delete catalog-format-spec.rst (#390)
It was brought back in #389.
Alejandro R Mosteo [Wed, 6 May 2020 14:03:51 +0000 (16:03 +0200)]
Load `environment` properties (#389)
* Document `environment` property
* Load/Store `environment` property
* Retrieve all env vars set by a release
* Test: load/show environment properties
* Quote var names as ${name}
* Update new .md documentation
Fabien Chouteau [Wed, 6 May 2020 12:54:11 +0000 (14:54 +0200)]
Convert catalog format spec to markdown (#388)
* Convert catalog format spec to markdown
So it can be used in the website.
Alejandro R Mosteo [Wed, 6 May 2020 12:43:07 +0000 (14:43 +0200)]
Log external detection as busy status (#385)
* Log external detection as busy status
This message is generally not wanted in the final output, since it's used only
to signal alr is not dead/stuck, but busy. Also, it must be entirely removed
from some commands like `alr setenv` or the output is no longer parseable.
* Detect output redirection to adjust logging
* Switch --no-tty to disable control chars in output
* Fix tests for the changed output
Alejandro R Mosteo [Mon, 4 May 2020 11:41:50 +0000 (13:41 +0200)]
Fix tabulation in generated project files (#387)
Alejandro R Mosteo [Mon, 4 May 2020 11:17:53 +0000 (13:17 +0200)]
Fix: load index when --solve is requested in show (#382)
Alejandro R Mosteo [Tue, 28 Apr 2020 16:15:11 +0000 (18:15 +0200)]
Ensure the checkout folder is deleted on failure (#363)
Alejandro R Mosteo [Mon, 27 Apr 2020 09:54:52 +0000 (11:54 +0200)]
Minor fixes (#356)
* Remove duplicate method Alire.Releases.Depends
* Add warning about recursive cloning to Readme file
Alejandro R. Mosteo [Sun, 26 Apr 2020 15:11:51 +0000 (17:11 +0200)]
Warn about the --recursive switch in README
Alejandro R. Mosteo [Wed, 8 Apr 2020 12:48:35 +0000 (14:48 +0200)]
Cleanup: remove Alire.Releases.Depends
This abbreviature duplicated Alire.Releases.Dependencies, leading to an ugly
mix of calls with two names.
Alejandro R Mosteo [Mon, 27 Apr 2020 09:09:13 +0000 (11:09 +0200)]
Script to enable completion in bash (#357)
Alejandro R Mosteo [Thu, 23 Apr 2020 09:18:53 +0000 (11:18 +0200)]
Refactor for expected error exit codes (#353)
Alejandro R Mosteo [Tue, 21 Apr 2020 19:25:35 +0000 (21:25 +0200)]
Clearer error msg for system external definition (#351)
Alejandro R Mosteo [Tue, 21 Apr 2020 10:43:14 +0000 (12:43 +0200)]
Don't clear exception error before re-raise (#352)
Also emit tar error, since things are going downhill from there
Alejandro R Mosteo [Thu, 16 Apr 2020 17:58:58 +0000 (19:58 +0200)]
Fix bug where only the first added dependency is recorded (#348)
Alejandro R. Mosteo [Thu, 16 Apr 2020 10:47:11 +0000 (12:47 +0200)]
Testsuite: bugfix check, more than one dependency
Alejandro R. Mosteo [Thu, 16 Apr 2020 10:42:34 +0000 (12:42 +0200)]
Fix check of duplicated dependencies
Alejandro R Mosteo [Wed, 15 Apr 2020 08:47:58 +0000 (10:47 +0200)]
Actually merge msys2 feature into master (#346)
Fabien Chouteau [Fri, 10 Apr 2020 14:11:37 +0000 (16:11 +0200)]
Windows CI: Force the installation for tar in msys2
The tar executable provided by Git install in GitHub Action Windows VM
doesn't seem to work. This patch forces the installation of tar in msys2
which is going to be used first by alr.
Fabien Chouteau [Sat, 4 Apr 2020 17:24:17 +0000 (19:24 +0200)]
Alire.VCSs.Git: git doesn't accept -v
Fabien Chouteau [Sat, 4 Apr 2020 17:15:32 +0000 (19:15 +0200)]
Check for required tools and install from distro
If there is a known distro, and the tool is available, and the user agrees.
Alejandro R Mosteo [Wed, 15 Apr 2020 08:33:17 +0000 (10:33 +0200)]
Windows msys2 support (#336)
Alejandro R Mosteo [Tue, 7 Apr 2020 10:21:37 +0000 (12:21 +0200)]
Show origin kind of dependencies in alr show (#343)
This is optionally available through the new --detail switch.
Fabien Chouteau [Fri, 3 Apr 2020 14:20:29 +0000 (16:20 +0200)]
Alire.Origins.Deployers.System: update user prompt on installation
The user can now:
- Reject installation but continue, can be used to just get sources of
projects
- Accept all system installations (answer: Always)
Fabien Chouteau [Fri, 3 Apr 2020 13:15:35 +0000 (06:15 -0700)]
Alire.Utils.User_Input: flush input before asking question
Fabien Chouteau [Fri, 3 Apr 2020 10:41:27 +0000 (03:41 -0700)]
Alr.Platforms.Windows: use system deployers
Fabien Chouteau [Thu, 2 Apr 2020 18:47:06 +0000 (11:47 -0700)]
Alr.Platforms.Windows: print message for tools installation
Fabien Chouteau [Thu, 2 Apr 2020 18:46:34 +0000 (11:46 -0700)]
Alire.Externals: print message when looking for external
Looking for system package can take some time, it's better to tell the
user that there is something going on.
Fabien Chouteau [Thu, 2 Apr 2020 17:32:23 +0000 (10:32 -0700)]
Alr.Platforms.Windows: do not report user's choice as an error
Fabien Chouteau [Thu, 2 Apr 2020 17:25:17 +0000 (10:25 -0700)]
Alire.Utils.User_Input: use default if stdin is not a TTY
Fabien Chouteau [Thu, 2 Apr 2020 17:06:55 +0000 (10:06 -0700)]
Alr.Platforms.Windows: query the user before installing msys2
Fabien Chouteau [Thu, 2 Apr 2020 17:03:29 +0000 (10:03 -0700)]
Add a package to ask questions to the user on the cmd line
Fabien Chouteau [Thu, 2 Apr 2020 15:07:44 +0000 (08:07 -0700)]
Alire.Origins.Deployers.System.Pacman: change detection of installed packages
Use the pacman -Qqe command to query installed packages.
Fabien Chouteau [Thu, 2 Apr 2020 15:06:12 +0000 (08:06 -0700)]
Alire.Origins.Deployers.System.Pacman: fix version detection
The dash in pacman version is does not correspond to sementic versioning definition.
It is the release number that comes from fixes in the build recipe.
We now ignored it.
Fabien Chouteau [Mon, 30 Mar 2020 11:03:39 +0000 (13:03 +0200)]
Alire.Origins.Deployers.Source_Archive: log tar errors
Fabien Chouteau [Thu, 26 Mar 2020 17:25:16 +0000 (10:25 -0700)]
Alire.Origins.Deployers.Source_Archive: improve error message
Fabien Chouteau [Thu, 26 Mar 2020 16:28:05 +0000 (09:28 -0700)]
Alire.VCSs: remove leading file:// from origin
Some versions of git on Windows do not understand this prefix, and it doesn't seem to be required.
Fabien Chouteau [Wed, 25 Mar 2020 19:14:51 +0000 (12:14 -0700)]
testsuite: add a test for msys2 dependency installation
Fabien Chouteau [Wed, 25 Mar 2020 19:14:01 +0000 (12:14 -0700)]
Alire.Origins.Deployers.Source_Archive: capture error output
To avoid unecessary error messages on the tool output
Fabien Chouteau [Wed, 25 Mar 2020 14:16:50 +0000 (07:16 -0700)]
Switch msys2 setup from archive to installer
Fabien Chouteau [Wed, 25 Mar 2020 13:59:53 +0000 (06:59 -0700)]
Move the archive download code to a re-usable function
Fabien Chouteau [Tue, 24 Mar 2020 17:31:02 +0000 (10:31 -0700)]
Automatically install msys2 in the .cache folder
Fabien Chouteau [Mon, 23 Mar 2020 18:21:43 +0000 (11:21 -0700)]
Remove C from the list of languages in alr.gpr
Fabien Chouteau [Mon, 23 Mar 2020 18:13:34 +0000 (11:13 -0700)]
Add support for the Msys2 Windows distro
So far alr detects if Msys2 is either already in the path or installed in standard location.
In the future we can consider installing Msys2 from alr.
Fabien Chouteau [Mon, 23 Mar 2020 17:52:36 +0000 (10:52 -0700)]
Add support for the Pacman system package manager
Fabien Chouteau [Mon, 23 Mar 2020 17:37:51 +0000 (10:37 -0700)]
Add a Setenv procedure in Alire.OS_Lib
This is a wrapper over GNAT.OS_Lib.Setenv with additional logging.
Alejandro R Mosteo [Fri, 3 Apr 2020 14:35:27 +0000 (16:35 +0200)]
Prevent double add of dependencies (#342)
* Prevent double-adding dependencies
* Testsuite: properly detect double add
Alejandro R Mosteo [Mon, 30 Mar 2020 09:15:51 +0000 (11:15 +0200)]
Don't attempt to detect sys pkgs in unknown distro (#330)
Alejandro R Mosteo [Fri, 20 Mar 2020 18:03:07 +0000 (19:03 +0100)]
--docker opt for `alr test` to containerize builds (#334)
Alejandro R Mosteo [Fri, 20 Mar 2020 17:48:21 +0000 (18:48 +0100)]
Use locale-independent apt/dpkg commands (#333)
Otherwise system package detection is broken with non-English locales
Alejandro R Mosteo [Tue, 17 Mar 2020 09:03:29 +0000 (10:03 +0100)]
Clarify logic+messages when `alr get` system crate (#326)
Alejandro R Mosteo [Tue, 17 Mar 2020 08:54:40 +0000 (09:54 +0100)]
Explicitly exclude png/pdf from EOL detection (#325)
Some of our files in doc/ are misdetected and mangled on checkout
Alejandro R Mosteo [Sat, 7 Mar 2020 18:14:41 +0000 (19:14 +0100)]
Change compile --> build per #258 (#331)
Fixes #299
Alejandro R Mosteo [Wed, 26 Feb 2020 17:00:31 +0000 (18:00 +0100)]
Update documentation with external changes (#322)
The system crates rework done by
ae81cbd introduced a few changes
that were not updated in the docs. Namely, the concept of system
compiler which was lost during the TOML index transition is brought
back so system crates are properly [un]available depending on the
compiler in use.
Alejandro R Mosteo [Wed, 26 Feb 2020 16:58:36 +0000 (17:58 +0100)]
Class diagram (#321)
Alejandro R Mosteo [Wed, 19 Feb 2020 12:10:55 +0000 (13:10 +0100)]
Fix bugs in `alr test` (#324)
* Child output was not logged on Checked_Error
* Regular child failures were reported as errors in `alr test` itself
* Crates without regular releases broke `alr test`
Alejandro R Mosteo [Wed, 19 Feb 2020 11:23:41 +0000 (12:23 +0100)]
Suppress the warning on git detached checkout (#320)
Alejandro R. Mosteo [Tue, 18 Feb 2020 18:01:25 +0000 (19:01 +0100)]
Fix breakage introduced during sys ext refactoring
When making system externals use the regular deploying sequence
forgot to mark the Fetch step as unnecessary
Alejandro R. Mosteo [Tue, 18 Feb 2020 15:13:07 +0000 (16:13 +0100)]
Minor fixes for changes between FSF/CE + other CI
Alejandro R. Mosteo [Tue, 18 Feb 2020 12:46:26 +0000 (13:46 +0100)]
Show custom external hints in `alr show`
Alejandro R. Mosteo [Tue, 18 Feb 2020 12:12:20 +0000 (13:12 +0100)]
Big Native -> System refactoring
Alejandro R. Mosteo [Tue, 18 Feb 2020 10:04:02 +0000 (11:04 +0100)]
More detailed information on externals, +tests
Alejandro R. Mosteo [Tue, 18 Feb 2020 06:23:56 +0000 (07:23 +0100)]
Documentation for system externals
Alejandro R. Mosteo [Mon, 13 Jan 2020 15:04:47 +0000 (16:04 +0100)]
Adjust tests for new natives via externals