]> _ Git - alire.git/log
alire.git
5 years agoDefault to no ANSI, ASCII-only output (#444)
Alejandro R Mosteo [Fri, 12 Jun 2020 13:27:15 +0000 (15:27 +0200)]
Default to no ANSI, ASCII-only output (#444)

* Default to no color/no tty until detected

* Default to ASCII-only output unless color enabled

5 years agoRemove some unnecessary code after Solution changes (#431)
Alejandro R Mosteo [Fri, 12 Jun 2020 13:24:26 +0000 (15:24 +0200)]
Remove some unnecessary code after Solution changes (#431)

The solution stores platform-dependent releases, hence the Environment
parameter is not needed at the moment of writing the corresponding lockfile.

A stray exception handler in Alr.Commands.Withing was unneeded and masking as a
regular error some Constraint_Errors that should escalate to the main handler
to be reported as unexpected internal errors.

Dead code in Alire.Utils that is not going to be useful again has been removed.

5 years agoTest templates to help with creating new tests (#434)
Alejandro R Mosteo [Fri, 12 Jun 2020 13:22:57 +0000 (15:22 +0200)]
Test templates to help with creating new tests (#434)

5 years agoSafeguards for changes in lockfile/crate format (#436)
Alejandro R Mosteo [Thu, 11 Jun 2020 11:34:57 +0000 (13:34 +0200)]
Safeguards for changes in lockfile/crate format (#436)

If the lockfile is not loadable we presume it is in an old format. In this case
we recreate it from scratch, which entails the loss of any stored pins.  If the
alire/crate.toml file is not loadable we advice the user to recreate the
workspace from scratch.

Note that both crate.toml and crate.lock use the index format to store
releases. Hence, any change in index format may impact these files. While the
lockfile is not that problematic, for the crate.toml file we have no easy
workaround since we cannot know to which crate the workspace belongs.

There are possible mitigations but as long as we don't have stable releases the
complexity/benefit ratio is unclear. If we eventually make the crate.toml file
only manually editable that could also impact how to deal with this issue, so
not doing anything about it yet.

5 years agoInternal enhancements to Solution and Dependency states (#429)
Alejandro R Mosteo [Thu, 11 Jun 2020 11:33:39 +0000 (13:33 +0200)]
Internal enhancements to Solution and Dependency states (#429)

* Remove obsolete Alire.Dependencies.Unavailable

This fake dependency was used in the old Ada index to store an unavailable
dependency. There is no longer any use for this constant.

* Image functions for newly tagged Alire.Milestones

Make the type tagged to gain dot notation, and add [TTY_]Image subprograms for
simpler printing elsewhere.

* New Alire.Dependencies.States type

This type is used to store the actual way in which a dependency was solved. All
possibilities are stored, which allows to properly cache a solution, and detect
changes in solutions across operations that modify the solution: pinning,
withing, updating...

* New Alire.Dependencies.States.Maps

A crate name -> dep state mapping which is at the core of the cached Solution,
with a couple of functional-style modifiers for use in expression functions.

* Remove pinning info from Releases

This information is now stored in the dependency State where it better belongs.
This way it doesn't matter if the solution contains a release for the pinned
dependency; the pinning information is always preserved.

* Reworked Solution internals to use States

(Doesn't build.) Changes to Alire.Solutions to use the new dependency states.
With these changes there is no loss of information when going from a valid to
an invalid solution (information about partial solutions is stored the same as
for complete solutions), which enables down the road better feedback to users
and simpler implementation of other improvements, like pinning of crates to
local folders.

* Solver improvements based on new dependency states

(Only alire-solver.adb builds.) With these changes, the solver needs not to
check the complete validity of a solution once all dependencies are processed
(which is an expensive test), because validity is guaranteed for any partial
solution (that is, no incompatible release can make into the solution). Also,
while the solver was previously complete in regard to valid solutions (with
releases or hints), now it is also complete for invalid solutions (those
missing releases and hints for some dependency). This means that the solver
will return the "best" incomplete solution when a complete one cannot be found.

* Tweaks to achieve build with new Solution

A few minor changes due to changes in the Solution public methods are needed
here and there, without functional implications.

* Tweaks for testsuite compliance

A few changes are needed to ensure the same output as before is produced, or to
adapt a few tests to minimal output changes caused by the homogenization of
dependency images.

* Make Alire.Crate_Name a proper private type

Our Dynamic_Predicate in the publicly defined Crate_Name as new String is
rejected by GNAT 9, and I couldn't find a workaround short of making all of
Alire.* non-preelaborable. Defining privately Crate_Name as new String in turn
caused numerous errors in child packages due to some mixing between the public
and private views. In the end, making it a record was the simplest change
without introducing the risk of missing checks (as if we had made it simply a
subtype of String).

So, given the change, I bit the bullet to make it tagged and provide a couple
of convenience functions.

* Review fixes

5 years agoAlr.Platforms.Windows: use Alire.config in msys2 install (#443)
Fabien Chouteau [Thu, 11 Jun 2020 11:25:33 +0000 (13:25 +0200)]
Alr.Platforms.Windows: use Alire.config in msys2 install (#443)

* Alr.Platforms.Windows: use Alire.config in msys2 install

* Update msys2 install script URL

Now that the master version is updated with install dir feature.

* Alire.Config.Edit: create directory for the config file in case it doesn't exists

* Alire.Config.Edit: improve TOML value evaluation

If first the value cannot be parsed, we directly create a TOML_String value instead of trying to parse it again between quotes.

* Alr.Platforms.Windows: remove unecessary call to YAML_Stringify

5 years agoMove the Alr.Main exception handler to a last chance handler (#442)
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).

5 years agoAdd a -f, --force global switch (#435)
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).

5 years agoExit code fix for `get --build` with build failure (#428)
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.

5 years agoAdd support for persistent configuration options (#424)
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.

5 years agoTransition the testsuite for Python3 and the new e3.testsuite API (#432)
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>
5 years agoRemove unnecessary forced exit from `Alr.Main` (#425)
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.

5 years agoReport expected vs found index versions (#419)
Alejandro R Mosteo [Tue, 2 Jun 2020 10:22:26 +0000 (12:22 +0200)]
Report expected vs found index versions (#419)

5 years agoFixes for GNAT CE 2020 (#423)
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.

5 years agoImprove dependency graphs to display unresolved externals (#422)
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

5 years agoFix withing of external dependencies (#421)
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

5 years agoFix missing checks for invalid solution (#420)
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`

5 years agoImprove help layout (#418)
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.

5 years ago`alr update` improvements (#415)
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.

5 years agoCustomizable crate tests (#365)
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

5 years agoRemove misleading/redundant error messages (#416)
Alejandro R Mosteo [Mon, 18 May 2020 18:16:23 +0000 (20:16 +0200)]
Remove misleading/redundant error messages (#416)

5 years agoFix a compilation error for some GNAT versions (#417)
Alejandro R Mosteo [Mon, 18 May 2020 14:25:36 +0000 (16:25 +0200)]
Fix a compilation error for some GNAT versions (#417)

5 years agoColorize output (#402)
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

5 years agoShow complete solution with `alr with --solve` (#408)
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.

5 years agoFix `pin` command to preserve dependencies across pin/unpin (#406)
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

5 years agoProofreading with aspell (#410)
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>
5 years agoCreate spellcheck.yml to use reviewdog (#412)
Fabien Chouteau [Fri, 15 May 2020 15:51:09 +0000 (17:51 +0200)]
Create spellcheck.yml to use reviewdog (#412)

5 years agodocs: minor fixes and adding links (#409)
yannickmoy [Thu, 14 May 2020 17:16:40 +0000 (19:16 +0200)]
docs: minor fixes and adding links (#409)

5 years agoProofreading fixes (#407)
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

5 years agoDon't err out in autocompletion script (#405)
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.

5 years agoWorkaround for jekyll export of case expressions (#404)
Alejandro R Mosteo [Wed, 13 May 2020 11:37:49 +0000 (13:37 +0200)]
Workaround for jekyll export of case expressions (#404)

5 years agoFix header level in publishing.md (#403)
Fabien Chouteau [Tue, 12 May 2020 18:36:53 +0000 (20:36 +0200)]
Fix header level in publishing.md (#403)

5 years agoRefactor documentation (#401)
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>
5 years agoRefactor AAA.Table_IO -> Alire.Utils.Tables (#398)
Alejandro R Mosteo [Tue, 12 May 2020 14:18:34 +0000 (16:18 +0200)]
Refactor AAA.Table_IO -> Alire.Utils.Tables (#398)

5 years agoShow changes to dependencies/solutions in relevant commands (#397)
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

5 years agoTypes to identify changes in dependencies/solutions (#396)
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

5 years agoFix: use local dependencies in `alr show --solve` (#400)
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.

5 years agoRely on lockfile for `alr setenv` (#394)
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

5 years agoRely on lockfile for `alr show` of local crate (#393)
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

5 years agoGenerate the lockfile on the fly when missing (#399)
Alejandro R Mosteo [Mon, 11 May 2020 16:52:02 +0000 (18:52 +0200)]
Generate the lockfile on the fly when missing (#399)

5 years agoCache dependency solution in a lockfile (#355)
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

5 years agoSuggest valid dependencies after `alr with --del` (#395)
Alejandro R Mosteo [Mon, 11 May 2020 14:39:27 +0000 (16:39 +0200)]
Suggest valid dependencies after `alr with --del` (#395)

5 years agoDelete catalog-format-spec.rst (#390)
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.

5 years agoLoad `environment` properties (#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

5 years agoConvert catalog format spec to markdown (#388)
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.

5 years agoLog external detection as busy status (#385)
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

5 years agoFix tabulation in generated project files (#387)
Alejandro R Mosteo [Mon, 4 May 2020 11:41:50 +0000 (13:41 +0200)]
Fix tabulation in generated project files (#387)

5 years agoFix: load index when --solve is requested in show (#382)
Alejandro R Mosteo [Mon, 4 May 2020 11:17:53 +0000 (13:17 +0200)]
Fix: load index when --solve is requested in show (#382)

5 years agoEnsure the checkout folder is deleted on failure (#363)
Alejandro R Mosteo [Tue, 28 Apr 2020 16:15:11 +0000 (18:15 +0200)]
Ensure the checkout folder is deleted on failure (#363)

5 years agoMinor fixes (#356)
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

5 years agoWarn about the --recursive switch in README
Alejandro R. Mosteo [Sun, 26 Apr 2020 15:11:51 +0000 (17:11 +0200)]
Warn about the --recursive switch in README

5 years agoCleanup: remove Alire.Releases.Depends
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.

5 years agoScript to enable completion in bash (#357)
Alejandro R Mosteo [Mon, 27 Apr 2020 09:09:13 +0000 (11:09 +0200)]
Script to enable completion in bash (#357)

5 years agoRefactor for expected error exit codes (#353)
Alejandro R Mosteo [Thu, 23 Apr 2020 09:18:53 +0000 (11:18 +0200)]
Refactor for expected error exit codes (#353)

5 years agoClearer error msg for system external definition (#351)
Alejandro R Mosteo [Tue, 21 Apr 2020 19:25:35 +0000 (21:25 +0200)]
Clearer error msg for system external definition (#351)

5 years agoDon't clear exception error before re-raise (#352)
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

5 years agoFix bug where only the first added dependency is recorded (#348)
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)

5 years agoTestsuite: bugfix check, more than one dependency
Alejandro R. Mosteo [Thu, 16 Apr 2020 10:47:11 +0000 (12:47 +0200)]
Testsuite: bugfix check, more than one dependency

5 years agoFix check of duplicated dependencies
Alejandro R. Mosteo [Thu, 16 Apr 2020 10:42:34 +0000 (12:42 +0200)]
Fix check of duplicated dependencies

5 years agoActually merge msys2 feature into master (#346)
Alejandro R Mosteo [Wed, 15 Apr 2020 08:47:58 +0000 (10:47 +0200)]
Actually merge msys2 feature into master (#346)

5 years agoWindows CI: Force the installation for tar in msys2
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.

5 years agoAlire.VCSs.Git: git doesn't accept -v
Fabien Chouteau [Sat, 4 Apr 2020 17:24:17 +0000 (19:24 +0200)]
Alire.VCSs.Git: git doesn't accept -v

5 years agoCheck for required tools and install from distro
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.

5 years agoWindows msys2 support (#336)
Alejandro R Mosteo [Wed, 15 Apr 2020 08:33:17 +0000 (10:33 +0200)]
Windows msys2 support (#336)

5 years agoShow origin kind of dependencies in alr show (#343)
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.

5 years agoAlire.Origins.Deployers.System: update user prompt on installation
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)

5 years agoAlire.Utils.User_Input: flush input before asking question
Fabien Chouteau [Fri, 3 Apr 2020 13:15:35 +0000 (06:15 -0700)]
Alire.Utils.User_Input: flush input before asking question

5 years agoAlr.Platforms.Windows: use system deployers
Fabien Chouteau [Fri, 3 Apr 2020 10:41:27 +0000 (03:41 -0700)]
Alr.Platforms.Windows: use system deployers

5 years agoAlr.Platforms.Windows: print message for tools installation
Fabien Chouteau [Thu, 2 Apr 2020 18:47:06 +0000 (11:47 -0700)]
Alr.Platforms.Windows: print message for tools installation

5 years agoAlire.Externals: print message when looking for external
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.

5 years agoAlr.Platforms.Windows: do not report user's choice as an error
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

5 years agoAlire.Utils.User_Input: use default if stdin is not a TTY
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

5 years agoAlr.Platforms.Windows: query the user before installing msys2
Fabien Chouteau [Thu, 2 Apr 2020 17:06:55 +0000 (10:06 -0700)]
Alr.Platforms.Windows: query the user before installing msys2

5 years agoAdd a package to ask questions to the user on the cmd line
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

5 years agoAlire.Origins.Deployers.System.Pacman: change detection of installed packages
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.

5 years agoAlire.Origins.Deployers.System.Pacman: fix version detection
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.

5 years agoAlire.Origins.Deployers.Source_Archive: log tar errors
Fabien Chouteau [Mon, 30 Mar 2020 11:03:39 +0000 (13:03 +0200)]
Alire.Origins.Deployers.Source_Archive: log tar errors

5 years agoAlire.Origins.Deployers.Source_Archive: improve error message
Fabien Chouteau [Thu, 26 Mar 2020 17:25:16 +0000 (10:25 -0700)]
Alire.Origins.Deployers.Source_Archive: improve error message

5 years agoAlire.VCSs: remove leading file:// from origin
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.

5 years agotestsuite: add a test for msys2 dependency installation
Fabien Chouteau [Wed, 25 Mar 2020 19:14:51 +0000 (12:14 -0700)]
testsuite: add a test for msys2 dependency installation

5 years agoAlire.Origins.Deployers.Source_Archive: capture error output
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

5 years agoSwitch msys2 setup from archive to installer
Fabien Chouteau [Wed, 25 Mar 2020 14:16:50 +0000 (07:16 -0700)]
Switch msys2 setup from archive to installer

5 years agoMove the archive download code to a re-usable function
Fabien Chouteau [Wed, 25 Mar 2020 13:59:53 +0000 (06:59 -0700)]
Move the archive download code to a re-usable function

5 years agoAutomatically install msys2 in the .cache folder
Fabien Chouteau [Tue, 24 Mar 2020 17:31:02 +0000 (10:31 -0700)]
Automatically install msys2 in the .cache folder

5 years agoRemove C from the list of languages in alr.gpr
Fabien Chouteau [Mon, 23 Mar 2020 18:21:43 +0000 (11:21 -0700)]
Remove C from the list of languages in alr.gpr

5 years agoAdd support for the Msys2 Windows distro
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.

5 years agoAdd support for the Pacman system package manager
Fabien Chouteau [Mon, 23 Mar 2020 17:52:36 +0000 (10:52 -0700)]
Add support for the Pacman system package manager

5 years agoAdd a Setenv procedure in Alire.OS_Lib
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.

5 years agoPrevent double add of dependencies (#342)
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

5 years agoDon't attempt to detect sys pkgs in unknown distro (#330)
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)

5 years ago--docker opt for `alr test` to containerize builds (#334)
Alejandro R Mosteo [Fri, 20 Mar 2020 18:03:07 +0000 (19:03 +0100)]
--docker opt for `alr test` to containerize builds (#334)

5 years agoUse locale-independent apt/dpkg commands (#333)
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

5 years agoClarify logic+messages when `alr get` system crate (#326)
Alejandro R Mosteo [Tue, 17 Mar 2020 09:03:29 +0000 (10:03 +0100)]
Clarify logic+messages when `alr get` system crate (#326)

5 years agoExplicitly exclude png/pdf from EOL detection (#325)
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

5 years agoChange compile --> build per #258 (#331)
Alejandro R Mosteo [Sat, 7 Mar 2020 18:14:41 +0000 (19:14 +0100)]
Change compile --> build per #258 (#331)

Fixes #299

5 years agoUpdate documentation with external changes (#322)
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.

5 years agoClass diagram (#321)
Alejandro R Mosteo [Wed, 26 Feb 2020 16:58:36 +0000 (17:58 +0100)]
Class diagram (#321)

5 years agoFix bugs in `alr test` (#324)
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`

5 years agoSuppress the warning on git detached checkout (#320)
Alejandro R Mosteo [Wed, 19 Feb 2020 11:23:41 +0000 (12:23 +0100)]
Suppress the warning on git detached checkout (#320)

5 years agoFix breakage introduced during sys ext refactoring
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