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

Bimodal analysis #36

Merged
merged 91 commits into from
Jun 22, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
91 commits
Select commit Hold shift + click to select a range
97a5b37
Add external dep list analyzer
sdboyer Apr 12, 2016
7a796f7
Add basic ExternalReach impl on SourceManager
sdboyer May 26, 2016
a4d6b21
Set up test fixtures for faux reach calculations
sdboyer May 26, 2016
70695cd
Add ListExternal method to sm, as well
sdboyer May 26, 2016
0171816
Add sourceBridge interface for adapter swapping
sdboyer May 31, 2016
30c5f8b
Allow skipping main in external reach lister
sdboyer Jun 3, 2016
e80f8ef
Rename smAdapter to bridge
sdboyer Jun 6, 2016
b1191d4
Just make Solve() a plain function
sdboyer Jun 6, 2016
2775f43
Use fixSolve() to run basic solve tests
sdboyer Jun 6, 2016
ede5394
Verify root on beginning solve run
sdboyer Jun 6, 2016
b568b01
Resolve conflict on bestiary init
sdboyer Jun 6, 2016
8ed2119
Basic mapping of stdlib
sdboyer Jun 7, 2016
b379b29
Stab at reconciling analysis with manifest
sdboyer Jun 7, 2016
0dd6185
Fix weird values in glide.lock
sdboyer Jun 7, 2016
c31fe58
Rename adapter file appropriately
sdboyer Jun 7, 2016
da6d8d1
Add first pass at import path->remote deducer
sdboyer Jun 8, 2016
e5a6e80
Nits and small bugs
sdboyer Jun 8, 2016
3f9d7d2
Add context to stdlib list
sdboyer Jun 8, 2016
cfa25cd
Can't forget jazz! (and apache)
sdboyer Jun 8, 2016
6d5d7fb
Return pointer type from deduceRemoteRepo()
sdboyer Jun 8, 2016
65ef34e
Test scaffolding for remote deduction
sdboyer Jun 8, 2016
b5969e6
Basics for gopkg.in
sdboyer Jun 8, 2016
3347214
Handle scp-style URLs
sdboyer Jun 8, 2016
178c390
More correct regex for github username validation
sdboyer Jun 8, 2016
d201c63
Tests and regex fixes for jazz
sdboyer Jun 9, 2016
0bc295c
Fix all regexes to correctly capture full pkg tail
sdboyer Jun 9, 2016
c3d7728
Tests and fixes for all other upstreams
sdboyer Jun 9, 2016
9b46ae0
Sketch of replacement for getDependenciesOf()
sdboyer Jun 11, 2016
fe4d876
Many little things
sdboyer Jun 11, 2016
00f4586
Select root in its own method, update Dependency
sdboyer Jun 11, 2016
6d64e9e
Impl needed methods on *selection
sdboyer Jun 13, 2016
6e7c954
Impl new method for selecting a project
sdboyer Jun 13, 2016
5d2a031
Small nit fixups
sdboyer Jun 13, 2016
6a9dc97
Allow caller to add pkgs into new deps getter
sdboyer Jun 13, 2016
b053459
Type adjustments to satisfy checkers
sdboyer Jun 13, 2016
8943b03
Get tests running again
sdboyer Jun 13, 2016
ac15808
Fix up minor bugs in the new selector method
sdboyer Jun 13, 2016
56e2e33
Use bimodal API in selectVersion()
sdboyer Jun 13, 2016
525f7cd
Add namespacing to basic fixtures
sdboyer Jun 14, 2016
7e10f46
Add basics of bimodal testing framework
sdboyer Jun 14, 2016
d43f9c8
Add new fixture sm, etc. for bimodal suites
sdboyer Jun 14, 2016
f93885b
Generalize simple solve result checker
sdboyer Jun 14, 2016
344b729
Allow replacing/mocking out deduceRemoteRepo()
sdboyer Jun 14, 2016
0d5efe8
Don't double-add the root spec
sdboyer Jun 14, 2016
bc1ad46
Don't add internal packages to exmap
sdboyer Jun 14, 2016
19cc51d
Simpler system for constructing bimodal universe
sdboyer Jun 14, 2016
b8da6a0
Several more tests; transitive subpkg fails
sdboyer Jun 14, 2016
214aad6
Make SolveOpts test just use prepareSolver()
sdboyer Jun 14, 2016
026aae9
Handle bimodal test setup a bit better
sdboyer Jun 14, 2016
9932b8a
Several more bimodal testing fixtures
sdboyer Jun 14, 2016
810892f
Couple more docs and fixup queue mgmt
sdboyer Jun 15, 2016
e042289
Add SourceManager.ListPackages(), and friends
sdboyer Jun 15, 2016
8f77f2e
Converting queues to bimodality (incremental)
sdboyer Jun 15, 2016
aa63100
Convert to bimodal style from solve()/vq downwards
sdboyer Jun 15, 2016
fafc851
Fix/finish some SM.ListPackages() impls
sdboyer Jun 16, 2016
5f5a2b4
Convert [un]selection and backtracking
sdboyer Jun 16, 2016
7abd7f0
Simple fix for logStart()
sdboyer Jun 16, 2016
af2d063
Types all realigned, woot!
sdboyer Jun 16, 2016
6195ac2
Special-case externalReach for root
sdboyer Jun 16, 2016
f582ea5
Woot, back to same test fails as before refactor
sdboyer Jun 16, 2016
212da21
Separate methods for listing dep'd and sel'd pkgs
sdboyer Jun 16, 2016
0ef6fb6
Add path for pkg-only satisfaction
sdboyer Jun 16, 2016
77f802f
Carry first-ness data in project selection stack
sdboyer Jun 16, 2016
82cbc22
Fill in selectPackages impl, and use it
sdboyer Jun 17, 2016
baa95c6
Always use radix trees responsibly, kids
sdboyer Jun 17, 2016
c745bcb
ExternalReach stuff was just super wrong
sdboyer Jun 17, 2016
16a5c64
Remove getDependenciesOf()
sdboyer Jun 17, 2016
e3e36ef
Factor project/pkgs in to the unsel comparator
sdboyer Jun 17, 2016
909ec69
Rename solve testing harness files
sdboyer Jun 17, 2016
635016b
Test and fix wmToReach() issues
sdboyer Jun 17, 2016
731233e
Remove redundant arg from depspecSM creator
sdboyer Jun 17, 2016
77271b3
Not so much verbose map creation
sdboyer Jun 17, 2016
4835aa6
Incorporate stdlib into lock input hashing
sdboyer Jun 17, 2016
5e5cdf1
Unexport ExternalReach() and fix up a few comments
sdboyer Jun 17, 2016
cad908a
Designate new types for listing packages
sdboyer Jun 20, 2016
5fa1da6
Add listPackage test and fixtures
sdboyer Jun 20, 2016
6eb0b8f
listPackages to return a PackageTree
sdboyer Jun 20, 2016
57a367c
More package list tests, plus the logic itself
sdboyer Jun 21, 2016
25e6d44
Remove tests param from listPackages()
sdboyer Jun 21, 2016
fcbeb02
Fix almost everything up
sdboyer Jun 21, 2016
db35020
Strip out old standalone analysis funcs
sdboyer Jun 21, 2016
f4d9d53
Fix import path prefixing issues
sdboyer Jun 21, 2016
3eb9f51
Add root pkgs to HashInputs()
sdboyer Jun 21, 2016
8b7e0d3
A little backwards compat dance
sdboyer Jun 21, 2016
82908e4
Parameterize import mode by go version
sdboyer Jun 21, 2016
cbb71c9
Normalize windows paths to unix for import root
sdboyer Jun 21, 2016
0345ecf
Add tests for missing subpkgs
sdboyer Jun 22, 2016
6653644
Add check for new project on exists pkg reqs
sdboyer Jun 22, 2016
e5a0eea
Remove emptyProjectAtom for nilpa
sdboyer Jun 22, 2016
4be736d
Add check that dep pkgs exist on selected project
sdboyer Jun 22, 2016
b8b3510
90 commits come down to one little x
sdboyer Jun 22, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ right now. We'll improve/add explanatory links as we go!
Go code now, but coherently organized."
* [x] Define different network addresses for a given import path
* [ ] Global project aliasing. This is a bit different than the previous.
* [ ] Bi-modal analysis (project-level and package-level)
* [x] Bi-modal analysis (project-level and package-level)
* [ ] Specific sub-package dependencies
* [ ] Enforcing an acyclic project graph (mirroring the Go compiler's
enforcement of an acyclic package import graph)
Expand Down
Empty file added _testdata/src/empty/.gitkeep
Empty file.
12 changes: 12 additions & 0 deletions _testdata/src/igmain/a.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package simple

import (
"sort"

"github.com/sdboyer/vsolver"
)

var (
_ = sort.Strings
_ = vsolver.Solve
)
7 changes: 7 additions & 0 deletions _testdata/src/igmain/igmain.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
// +build ignore

package main

import "unicode"

var _ = unicode.In
12 changes: 12 additions & 0 deletions _testdata/src/igmaint/a.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package simple

import (
"sort"

"github.com/sdboyer/vsolver"
)

var (
_ = sort.Strings
_ = vsolver.Solve
)
7 changes: 7 additions & 0 deletions _testdata/src/igmaint/igmain.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
// +build ignore

package main

import "unicode"

var _ = unicode.In
11 changes: 11 additions & 0 deletions _testdata/src/igmaint/t_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package simple

import (
"math/rand"
"strconv"
)

var (
_ = rand.Int()
_ = strconv.Unquote
)
12 changes: 12 additions & 0 deletions _testdata/src/m1p/a.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package m1p

import (
"sort"

"github.com/sdboyer/vsolver"
)

var (
_ = sort.Strings
_ = vsolver.Solve
)
11 changes: 11 additions & 0 deletions _testdata/src/m1p/b.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package m1p

import (
"os"
"sort"
)

var (
_ = sort.Strings
_ = os.PathSeparator
)
12 changes: 12 additions & 0 deletions _testdata/src/nest/a.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package simple

import (
"sort"

"github.com/sdboyer/vsolver"
)

var (
_ = sort.Strings
_ = vsolver.Solve
)
12 changes: 12 additions & 0 deletions _testdata/src/nest/m1p/a.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package m1p

import (
"sort"

"github.com/sdboyer/vsolver"
)

var (
_ = sort.Strings
_ = vsolver.Solve
)
11 changes: 11 additions & 0 deletions _testdata/src/nest/m1p/b.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package m1p

import (
"os"
"sort"
)

var (
_ = sort.Strings
_ = os.PathSeparator
)
12 changes: 12 additions & 0 deletions _testdata/src/ren/m1p/a.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package m1p

import (
"sort"

"github.com/sdboyer/vsolver"
)

var (
_ = sort.Strings
_ = vsolver.Solve
)
11 changes: 11 additions & 0 deletions _testdata/src/ren/m1p/b.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package m1p

import (
"os"
"sort"
)

var (
_ = sort.Strings
_ = os.PathSeparator
)
12 changes: 12 additions & 0 deletions _testdata/src/ren/simple/a.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package simple

import (
"sort"

"github.com/sdboyer/vsolver"
)

var (
_ = sort.Strings
_ = vsolver.Solve
)
12 changes: 12 additions & 0 deletions _testdata/src/simple/a.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package simple

import (
"sort"

"github.com/sdboyer/vsolver"
)

var (
_ = sort.Strings
_ = vsolver.Solve
)
12 changes: 12 additions & 0 deletions _testdata/src/simpleallt/a.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package simple

import (
"sort"

"github.com/sdboyer/vsolver"
)

var (
_ = sort.Strings
_ = vsolver.Solve
)
11 changes: 11 additions & 0 deletions _testdata/src/simpleallt/a_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package simple_test

import (
"sort"
"strconv"
)

var (
_ = sort.Strings
_ = strconv.Unquote
)
11 changes: 11 additions & 0 deletions _testdata/src/simpleallt/t_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package simple

import (
"math/rand"
"strconv"
)

var (
_ = rand.Int()
_ = strconv.Unquote
)
12 changes: 12 additions & 0 deletions _testdata/src/simplet/a.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package simple

import (
"sort"

"github.com/sdboyer/vsolver"
)

var (
_ = sort.Strings
_ = vsolver.Solve
)
11 changes: 11 additions & 0 deletions _testdata/src/simplet/t_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package simple

import (
"math/rand"
"strconv"
)

var (
_ = rand.Int()
_ = strconv.Unquote
)
12 changes: 12 additions & 0 deletions _testdata/src/simplext/a.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package simple

import (
"sort"

"github.com/sdboyer/vsolver"
)

var (
_ = sort.Strings
_ = vsolver.Solve
)
11 changes: 11 additions & 0 deletions _testdata/src/simplext/a_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package simple_test

import (
"sort"
"strconv"
)

var (
_ = sort.Strings
_ = strconv.Unquote
)
11 changes: 11 additions & 0 deletions _testdata/src/t/t_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package simple

import (
"math/rand"
"strconv"
)

var (
_ = rand.Int()
_ = strconv.Unquote
)
12 changes: 12 additions & 0 deletions _testdata/src/twopkgs/a.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package simple

import (
"sort"

"github.com/sdboyer/vsolver"
)

var (
_ = sort.Strings
_ = vsolver.Solve
)
11 changes: 11 additions & 0 deletions _testdata/src/twopkgs/b.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package m1p

import (
"os"
"sort"
)

var (
_ = sort.Strings
_ = os.PathSeparator
)
11 changes: 11 additions & 0 deletions _testdata/src/xt/a_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package simple_test

import (
"sort"
"strconv"
)

var (
_ = sort.Strings
_ = strconv.Unquote
)
Loading