Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Fix rebar3 dialyzer warnings | Fred Hebert | 2016-11-19 | 1 | -1/+1 |
| | | | | Some tricky changes in there but should be okay | ||||
* | Track package hash in memory index, add hash test | Fred Hebert | 2016-10-04 | 1 | -1/+17 |
| | | | | | | | | | | This adds tracking of package hash in the in-memory index rather than the current `undefined' values. According to the test added, this is not necessary for transitive package dep hash chcking, but does result in a more complete index search result when doing app lookups, and could yield some optimizations on hash checks by checking from the index structure before fetching a package. | ||||
* | Properly support package aliasing and alt names | Fred Hebert | 2016-09-27 | 1 | -13/+13 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Aliasing only had a bit of ad-hoc support in rebar3, and various issues have encountered problems related to the package names not mapping properly with the application name. One such issue is https://github.com/erlang/rebar3/issues/1290 The problem has been hard to find because it only impacts transitive dependencies (not top-level ones) of other packages. The root cause for this is that the application name was not being tracked by rebar3's internal index, only the package name and its version were. When a given application was a package app, the data for the application name would be reconstructed from the lock file, but only if it were a top-level app or a dependency of a source application where parsing the lock file is necessary to know what comes next. When a transitive dependency of a package dependency was fetched, we instead read its dependencies directly from the in-memory package index within rebar3. This caused us to only read the package name and version, and lost all information regarding application name. This worked fine for most cases since for the vast majority of packages, the package name matches the app name, but failed for all aliases, which would then be moved to directories that wouldn't match the app name. This in turn broke some aspects of code analysis (in Dialyzer), or other functionality relying on static paths, such as including .hrl files from dependencies. This patch reformats the internal storage format of dependencies to align with the internal one used by rebar3, so that the app name can be carried along with the package name and its version. The fix can only work once `rebar3 update` is called so the index is rebuilt internally, and will the file cached on disk will be incompatible with older rebar3 versions. Currently, the following is not covered: - Tests - Including the package hashes of dependencies so they may match what is in a lock file -- they're being `undefined` instead, which may break some lookups. The previous format did not lend itself to hashing in the same way, and it is possible transitive deps were not being tracked properly, or worked by respecting the current package hierarchy. This will require further analysis For now this commit can allow reviewing and discussion. | ||||
* | filter available package versions individually by buildtools | Tristan Sloughter | 2016-05-22 | 1 | -6/+6 |
| | |||||
* | Add more hex rules so they don't throw errors | Heinz N. Gies | 2016-02-22 | 1 | -12/+110 |
| | | | | | | | | | | Add more version constraints Allow for any number of whitespaces after compairison opperator Improve updating and error printing Fix failing tests | ||||
* | add user-agent to http request headers | Tristan Sloughter | 2016-02-01 | 1 | -1/+1 |
| | |||||
* | support temporary cdn change with HEX_CDN os var | Tristan Sloughter | 2015-12-19 | 1 | -20/+32 |
| | |||||
* | only add package list of versions to registry if it has the right buildtool ↵ | Tristan Sloughter | 2015-11-17 | 1 | -2/+14 |
| | | | | support | ||||
* | return more useful error message (failed to download) when pkg http req fails | Tristan Sloughter | 2015-10-26 | 1 | -12/+16 |
| | |||||
* | remove replacement of home dir with ~ in update output | Tristan Sloughter | 2015-08-26 | 1 | -2/+2 |
| | |||||
* | Merge pull request #742 from tsloughter/pkg_check | Tristan Sloughter | 2015-08-23 | 1 | -0/+1 |
|\ | | | | | improve error messages for packages by checking its existance before fetch | ||||
| * | improve error messages for packages by checking its existance before fetching | Tristan Sloughter | 2015-08-23 | 1 | -0/+1 |
| | | |||||
* | | use 'default' for default hex repo path in cache and include in info messages | Tristan Sloughter | 2015-08-22 | 1 | -5/+8 |
|/ | |||||
* | replace use of dict of packages and registry with single ets table | Tristan Sloughter | 2015-08-21 | 1 | -51/+44 |
| | |||||
* | include rebar3 in supported packages buildtool | Tristan Sloughter | 2015-08-21 | 1 | -0/+1 |
| | |||||
* | fix leaking ets tables caused by digraphs | pvmart | 2015-08-17 | 1 | -0/+1 |
| | |||||
* | fix no_return warnings | Tristan Sloughter | 2015-08-08 | 1 | -1/+6 |
| | |||||
* | fix dialyzer warnings, except 'no local return' warnings | Tristan Sloughter | 2015-08-08 | 1 | -0/+5 |
| | |||||
* | Added rebar profile to httpc initialization and calls. | CarlosEDP | 2015-07-03 | 1 | -1/+2 |
| | |||||
* | fix bareness issues | Fred Hebert | 2015-05-31 | 1 | -1/+1 |
| | | | | | | - Crashes in providers lib when no providers in a namespace are bare - Making sure bareness matches semantics; i.e. a bare provider is visible, a non-bare provider is hidden. | ||||
* | Proper custom pkg index support, some tests | Fred Hebert | 2015-05-13 | 1 | -4/+2 |
| | | | | | | | | | | - The rebar package index files have been moved off the default path and will require a new `rebar3 update` - Caching of downloaded packages automatically takes place in a path relative to the CDN used - The cache path is not shared with hex as we now write and modify data in there arbitrarily - Basic tests plus the working set for more of them is included | ||||
* | ignore pkgs that can't build with rebar or make | Tristan Sloughter | 2015-05-08 | 1 | -3/+12 |
| | |||||
* | handle missing package in registry by skipping | Tristan Sloughter | 2015-05-04 | 1 | -4/+9 |
| | |||||
* | ignore optional deps for now | Tristan Sloughter | 2015-04-18 | 1 | -2/+4 |
| | |||||
* | support single atoms for pkg deps, fetch highest version available | Tristan Sloughter | 2015-04-11 | 1 | -41/+7 |
| | |||||
* | Provide descriptions for all tasks | Fred Hebert | 2015-04-04 | 1 | -1/+1 |
| | |||||
* | add back throw on package index write | Tristan Sloughter | 2015-03-16 | 1 | -1/+1 |
| | |||||
* | use PRV_ERROR for formattable errors | Fred Hebert | 2015-03-16 | 1 | -1/+2 |
| | | | | Also expose it in rebar_api | ||||
* | update all examples in providers to use rebar3 | Tristan Sloughter | 2015-03-07 | 1 | -1/+1 |
| | |||||
* | Revert accidental commited debug code | Fred Hebert | 2015-02-24 | 1 | -2/+1 |
| | |||||
* | Reuse test code and drop duplicated stuff | Fred Hebert | 2015-02-23 | 1 | -1/+1 |
| | |||||
* | follow xdg standard. fixes #122 | Tristan Sloughter | 2015-02-19 | 1 | -1/+1 |
| | |||||
* | parse version constraints in hex registry for digraph | Tristan Sloughter | 2015-02-17 | 1 | -10/+52 |
| | |||||
* | replace package management with hex.pm | Tristan Sloughter | 2015-02-17 | 1 | -15/+49 |
| | |||||
* | move dir functions from utils to new module rebar_dir | Tristan Sloughter | 2014-12-01 | 1 | -1/+1 |
| | |||||
* | new dep graph working | Tristan Sloughter | 2014-11-22 | 1 | -2/+2 |
| | |||||
* | update package index fetching | Tristan Sloughter | 2014-11-15 | 1 | -7/+2 |
| | |||||
* | write packages file to tmp so a lost connection doesn't mean corruption | Tristan Sloughter | 2014-11-15 | 1 | -2/+5 |
| | |||||
* | use CONFIG_DIR of rebar3 for config directories | Tristan Sloughter | 2014-11-10 | 1 | -2/+2 |
| | |||||
* | move back to using format_error/1 | Tristan Sloughter | 2014-11-09 | 1 | -4/+4 |
| | |||||
* | update package update provider | Tristan Sloughter | 2014-11-08 | 1 | -7/+8 |
| | |||||
* | add format_error/2 provider callback to providers | Tristan Sloughter | 2014-10-22 | 1 | -1/+6 |
| | |||||
* | fix update provider do/1 return | Tristan Sloughter | 2014-10-17 | 1 | -3/+4 |
| | |||||
* | move providers to separate app | Tristan Sloughter | 2014-10-03 | 1 | -9/+9 |
| | |||||
* | fix for downloading transitive source deps | Tristan Sloughter | 2014-09-28 | 1 | -27/+12 |
| | |||||
* | erorr message on failed package update | Tristan Sloughter | 2014-09-27 | 1 | -17/+12 |
| | |||||
* | return error messages from providers | Tristan Sloughter | 2014-09-27 | 1 | -7/+11 |
| | |||||
* | update src dep works except for removed transitive deps | Tristan Sloughter | 2014-09-26 | 1 | -5/+7 |
| | |||||
* | slowly widdling away at dialyzer errors | Tristan Sloughter | 2014-09-20 | 1 | -2/+2 |
| | |||||
* | wip: update dep | Tristan Sloughter | 2014-09-20 | 1 | -1/+1 |
| |