Skip to content
This repository has been archived by the owner on Feb 3, 2018. It is now read-only.

Refactor reachmaps #148

Merged
merged 18 commits into from
Feb 22, 2017
Merged

Refactor reachmaps #148

merged 18 commits into from
Feb 22, 2017

Commits on Feb 13, 2017

  1. Add ListPackages case w/slashes in root path

    Not covering this basic aspect of how real project roots actually work
    allowed a windows bug to hide until real data came through - #146.
    sdboyer committed Feb 13, 2017
    Configuration menu
    Copy the full SHA
    5fcd04e View commit details
    Browse the repository at this point in the history
  2. Remove basedir silliness from wmToReach()

    This was never used, because it wasn't actually needed.
    sdboyer committed Feb 13, 2017
    Configuration menu
    Copy the full SHA
    e4bcce7 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    96ce383 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    7b81a45 View commit details
    Browse the repository at this point in the history
  5. Add relative imports tests

    sdboyer committed Feb 13, 2017
    Configuration menu
    Copy the full SHA
    13e24e8 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    547776f View commit details
    Browse the repository at this point in the history
  7. Make ExternalReach produce in- and ex-ReachMaps

    ExternalReach (to be renamed presently) was producing only a list of the
    externally reachable packages from the input set. This is the most
    important requirement, but there's also a need to keep track of which
    internal packages are (transitively) imported within each project.
    
    Without returning an internal reachmap - a list of all internal packages
    reachable from each other internal package - we end up recording only
    those packages from projects that were directly imported across project
    boundaries. Those packages that are only imported by other internal
    packages are missed.
    sdboyer committed Feb 13, 2017
    Configuration menu
    Copy the full SHA
    418617b View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    5ede5b3 View commit details
    Browse the repository at this point in the history
  9. s/ExternalReach/ToReachMaps/

    sdboyer committed Feb 13, 2017
    Configuration menu
    Copy the full SHA
    e2d896a View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    fa3f0fa View commit details
    Browse the repository at this point in the history
  11. Apply new package list to atom before selecting

    Fixes a dumb error, but there's still an intermittent problem. Testing
    failures suggest a random map iteration order issue.
    sdboyer committed Feb 13, 2017
    Configuration menu
    Copy the full SHA
    53d6949 View commit details
    Browse the repository at this point in the history
  12. Fix bug in preparation of workmaps

    The old logic was a holdover from before a proper depth-first search
    algorithm was implemented in wmToReach(). It was trying to do a "bit" of
    the search work before the real algorithm; however, the final else
    statement was causing some internal imports to be dropped if the
    referent had already been visited. The bug was intermittent, as it
    depended on map iteration order.
    
    This also solves the secondary problem of inaccurate
    backpropagation/poisoning in wmToReach itself, as the internal linkage
    data it's operating on is now reliable.
    sdboyer committed Feb 13, 2017
    Configuration menu
    Copy the full SHA
    467e8cf View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    82c3fcb View commit details
    Browse the repository at this point in the history
  14. Encompass both internal and external in ReachMaps

    Rather than splitting the data into two separate map return values, this
    makes ReachMaps' value a struct containing both the internal package
    import and external import path list information.
    sdboyer committed Feb 13, 2017
    Configuration menu
    Copy the full SHA
    ddc8467 View commit details
    Browse the repository at this point in the history
  15. s/ListExternalImports/Flatten/

    Much better name. Also adds the capability of filtering out stdlib from
    PackageTree imports, addressing #113.
    sdboyer committed Feb 13, 2017
    Configuration menu
    Copy the full SHA
    65fd43a View commit details
    Browse the repository at this point in the history
  16. Return "error map" from PackageTree.ToReachMap()

    This second parameter provides information about why a package was
    dropped from the ReachMap - either what problem it had itself, or the
    problem in one of the internal packages it transitively imports.
    sdboyer committed Feb 13, 2017
    Configuration menu
    Copy the full SHA
    5c020d4 View commit details
    Browse the repository at this point in the history

Commits on Feb 22, 2017

  1. Configuration menu
    Copy the full SHA
    fc2fbba View commit details
    Browse the repository at this point in the history
  2. Fix up docs just a bit more

    sdboyer committed Feb 22, 2017
    Configuration menu
    Copy the full SHA
    4728f02 View commit details
    Browse the repository at this point in the history