From e8a8313b43f2c467e865b1ca4eb700b90efcbd2b Mon Sep 17 00:00:00 2001 From: Deluan Date: Wed, 8 Jan 2020 09:54:25 -0500 Subject: [PATCH] Removed `inject` lib, only use `wire` for DI --- api/api_test.go | 1 - controllers/main_test.go | 1 - go.mod | 5 ---- go.sum | 10 ------- init/inject_definitions.go | 42 ----------------------------- main.go | 1 - init/mime_types.go => mime_types.go | 2 +- tests/init_tests.go | 2 -- utils/graph.go | 37 ------------------------- wire_gen.go | 4 --- 10 files changed, 1 insertion(+), 104 deletions(-) delete mode 100644 init/inject_definitions.go rename init/mime_types.go => mime_types.go (98%) delete mode 100644 utils/graph.go diff --git a/api/api_test.go b/api/api_test.go index 4c49cef61..b2ce33001 100644 --- a/api/api_test.go +++ b/api/api_test.go @@ -7,7 +7,6 @@ import ( "strings" "github.com/astaxie/beego" - _ "github.com/cloudsonic/sonic-server/init" ) const ( diff --git a/controllers/main_test.go b/controllers/main_test.go index 72bcae038..b9da98dd1 100644 --- a/controllers/main_test.go +++ b/controllers/main_test.go @@ -7,7 +7,6 @@ import ( "testing" "github.com/astaxie/beego" - _ "github.com/cloudsonic/sonic-server/init" "github.com/cloudsonic/sonic-server/tests" . "github.com/smartystreets/goconvey/convey" ) diff --git a/go.mod b/go.mod index c53d54b55..ddd5bff7c 100644 --- a/go.mod +++ b/go.mod @@ -5,10 +5,8 @@ go 1.13 require ( github.com/BurntSushi/toml v0.3.0 // indirect github.com/astaxie/beego v1.8.0 - github.com/bradleyjkemp/cupaloy v2.3.0+incompatible github.com/cupcake/rdb v0.0.0-20161107195141-43ba34106c76 // indirect github.com/deluan/gomate v0.0.0-20160327212459-3eb40643dd6f - github.com/dgrijalva/jwt-go v3.2.0+incompatible // indirect github.com/dhowden/itl v0.0.0-20170329215456-9fbe21093131 github.com/dhowden/plist v0.0.0-20141002110153-5db6e0d9931a // indirect github.com/dhowden/tag v0.0.0-20170128231422-9edd38ca5d10 @@ -16,10 +14,8 @@ require ( github.com/fatih/camelcase v0.0.0-20160318181535-f6a740d52f96 // indirect github.com/fatih/structs v1.0.0 // indirect github.com/go-chi/chi v4.0.2+incompatible - github.com/go-chi/jwtauth v4.0.3+incompatible github.com/golang/snappy v0.0.0-20170215233205-553a64147049 // indirect github.com/google/wire v0.4.0 - github.com/karlkfi/inject v0.0.0-20151024064801-fe06da2f020c github.com/kennygrant/sanitize v0.0.0-20170120101633-6a0bfdde8629 github.com/koding/multiconfig v0.0.0-20170327155832-26b6dfd3a84a github.com/nfnt/resize v0.0.0-20160724205520-891127d8d1b5 @@ -33,5 +29,4 @@ require ( github.com/smartystreets/goconvey v1.6.4 github.com/stretchr/testify v1.4.0 // indirect github.com/syndtr/goleveldb v0.0.0-20170302031910-3c5717caf147 - github.com/twinj/uuid v0.1.0 ) diff --git a/go.sum b/go.sum index 0165f680f..1d48f3861 100644 --- a/go.sum +++ b/go.sum @@ -2,8 +2,6 @@ github.com/BurntSushi/toml v0.3.0 h1:e1/Ivsx3Z0FVTV0NSOv/aVgbUWyQuzj7DDnFblkRvsY github.com/BurntSushi/toml v0.3.0/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/astaxie/beego v1.8.0 h1:Rc5qRXMy5fpxq3FEi+4nmykYIMtANthRJ8hcoY+1VWM= github.com/astaxie/beego v1.8.0/go.mod h1:0R4++1tUqERR0WYFWdfkcrsyoVBCG4DgpDGokT3yb+U= -github.com/bradleyjkemp/cupaloy v2.3.0+incompatible h1:UafIjBvWQmS9i/xRg+CamMrnLTKNzo+bdmT/oH34c2Y= -github.com/bradleyjkemp/cupaloy v2.3.0+incompatible/go.mod h1:Au1Xw1sgaJ5iSFktEhYsS0dbQiS1B0/XMXl+42y9Ilk= github.com/cupcake/rdb v0.0.0-20161107195141-43ba34106c76 h1:Lgdd/Qp96Qj8jqLpq2cI1I1X7BJnu06efS+XkhRoLUQ= github.com/cupcake/rdb v0.0.0-20161107195141-43ba34106c76/go.mod h1:vYwsqCOLxGiisLwp9rITslkFNpZD5rz43tf41QFkTWY= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= @@ -12,8 +10,6 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/deluan/gomate v0.0.0-20160327212459-3eb40643dd6f h1:jZxJHFEzOavX4cM1BacQGZAMmhgHERXD7Qxyi2NLYtE= github.com/deluan/gomate v0.0.0-20160327212459-3eb40643dd6f/go.mod h1:10VOt8RwQ8an9cSC2r77s1jqTucTHZSGN2wz46v+7ZM= -github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM= -github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dhowden/itl v0.0.0-20170329215456-9fbe21093131 h1:siEGb+iB1Ea75U7BnkYVSqSRzE6QHlXCbqEXenxRmhQ= github.com/dhowden/itl v0.0.0-20170329215456-9fbe21093131/go.mod h1:eVWQJVQ67aMvYhpkDwaH2Goy2vo6v8JCMfGXfQ9sPtw= github.com/dhowden/plist v0.0.0-20141002110153-5db6e0d9931a h1:7MucP9rMAsQRcRE1sGpvMZoTxFYZlDmfDvCH+z7H+90= @@ -30,8 +26,6 @@ github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/go-chi/chi v4.0.2+incompatible h1:maB6vn6FqCxrpz4FqWdh4+lwpyZIQS7YEAUcHlgXVRs= github.com/go-chi/chi v4.0.2+incompatible/go.mod h1:eB3wogJHnLi3x/kFX2A+IbTBlXxmMeXJVKy9tTv1XzQ= -github.com/go-chi/jwtauth v4.0.3+incompatible h1:hPhobLUgh7fMpA1qUDdId14u2Z93M22fCNPMVLNWeHU= -github.com/go-chi/jwtauth v4.0.3+incompatible/go.mod h1:Q5EIArY/QnD6BdS+IyDw7B2m6iNbnPxtfd6/BcmtWbs= github.com/golang/protobuf v1.2.0 h1:P3YflyNX/ehuJFLhxviNdFxQPkGK5cDcApsge1SqnvM= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/snappy v0.0.0-20170215233205-553a64147049 h1:K9KHZbXKpGydfDN0aZrsoHpLJlZsBrGMFWbgLDGnPZk= @@ -46,8 +40,6 @@ github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= -github.com/karlkfi/inject v0.0.0-20151024064801-fe06da2f020c h1:2GGuhSxrG3PGBnUGaMq7e89rcCv9tj99JF2J6Ny45JM= -github.com/karlkfi/inject v0.0.0-20151024064801-fe06da2f020c/go.mod h1:jSo8Hlf6+ONuZkASHkrqAgDf+BX015aijScUHJR++8Y= github.com/kennygrant/sanitize v0.0.0-20170120101633-6a0bfdde8629 h1:m1E9veL+2sjZOMSM7y3a6jJ9fNVaGyIJCXYDPm9U+/0= github.com/kennygrant/sanitize v0.0.0-20170120101633-6a0bfdde8629/go.mod h1:LGsjYYtgxbetdg5owWB2mpgUL6e2nfw2eObZ0u0qvak= github.com/koding/multiconfig v0.0.0-20170327155832-26b6dfd3a84a h1:KZAp4Cn6Wybs23MKaIrKyb/6+qs2rncDspTuRYwOmvU= @@ -84,8 +76,6 @@ github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJy github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/syndtr/goleveldb v0.0.0-20170302031910-3c5717caf147 h1:4YA7EV3fB/q1fi3RYWi26t91Zm6iHggaq8gJBRYC5Ms= github.com/syndtr/goleveldb v0.0.0-20170302031910-3c5717caf147/go.mod h1:Z4AUp2Km+PwemOoO/VB5AOx9XSsIItzFjoJlOSiYmn0= -github.com/twinj/uuid v0.1.0 h1:m4NyLH5MReF8zWQegEXvSTpnV6A7svVLG5FbZql6OAA= -github.com/twinj/uuid v0.1.0/go.mod h1:mMgcE1RHFUFqe5AfiwlINXisXfDGro23fWdPUfOMjRY= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a h1:oWX7TPOiFAMXLq8o0ikBYfCJVlRHBcsciT5bXOrH628= diff --git a/init/inject_definitions.go b/init/inject_definitions.go deleted file mode 100644 index eebb53d75..000000000 --- a/init/inject_definitions.go +++ /dev/null @@ -1,42 +0,0 @@ -package init - -import ( - "github.com/cloudsonic/sonic-server/domain" - "github.com/cloudsonic/sonic-server/engine" - "github.com/cloudsonic/sonic-server/itunesbridge" - "github.com/cloudsonic/sonic-server/persistence" - "github.com/cloudsonic/sonic-server/scanner" - "github.com/cloudsonic/sonic-server/utils" - "github.com/deluan/gomate" - "github.com/deluan/gomate/ledis" -) - -func init() { - // Persistence - utils.DefineSingleton(new(domain.ArtistIndexRepository), persistence.NewArtistIndexRepository) - utils.DefineSingleton(new(domain.MediaFolderRepository), persistence.NewMediaFolderRepository) - utils.DefineSingleton(new(domain.ArtistRepository), persistence.NewArtistRepository) - utils.DefineSingleton(new(domain.AlbumRepository), persistence.NewAlbumRepository) - utils.DefineSingleton(new(domain.MediaFileRepository), persistence.NewMediaFileRepository) - utils.DefineSingleton(new(domain.PlaylistRepository), persistence.NewPlaylistRepository) - - // Engine (Use cases) - utils.DefineSingleton(new(engine.PropertyRepository), persistence.NewPropertyRepository) - utils.DefineSingleton(new(engine.NowPlayingRepository), persistence.NewNowPlayingRepository) - utils.DefineSingleton(new(engine.Browser), engine.NewBrowser) - utils.DefineSingleton(new(engine.ListGenerator), engine.NewListGenerator) - utils.DefineSingleton(new(engine.Cover), engine.NewCover) - utils.DefineSingleton(new(engine.Playlists), engine.NewPlaylists) - utils.DefineSingleton(new(engine.Search), engine.NewSearch) - utils.DefineSingleton(new(engine.Scrobbler), engine.NewScrobbler) - utils.DefineSingleton(new(engine.Ratings), engine.NewRatings) - - utils.DefineSingleton(new(scanner.CheckSumRepository), persistence.NewCheckSumRepository) - utils.DefineSingleton(new(scanner.Scanner), scanner.NewItunesScanner) - - // Other dependencies - utils.DefineSingleton(new(itunesbridge.ItunesControl), itunesbridge.NewItunesControl) - utils.DefineSingleton(new(gomate.DB), func() gomate.DB { - return ledis.NewEmbeddedDB(persistence.Db()) - }) -} diff --git a/main.go b/main.go index 54500439b..802988a68 100644 --- a/main.go +++ b/main.go @@ -6,7 +6,6 @@ import ( "github.com/astaxie/beego" "github.com/cloudsonic/sonic-server/api" "github.com/cloudsonic/sonic-server/conf" - _ "github.com/cloudsonic/sonic-server/init" ) func main() { diff --git a/init/mime_types.go b/mime_types.go similarity index 98% rename from init/mime_types.go rename to mime_types.go index 0c8af14e9..eb63fb0bd 100644 --- a/init/mime_types.go +++ b/mime_types.go @@ -1,4 +1,4 @@ -package init +package main import "mime" diff --git a/tests/init_tests.go b/tests/init_tests.go index ad7658e1a..e92e7e214 100644 --- a/tests/init_tests.go +++ b/tests/init_tests.go @@ -9,7 +9,6 @@ import ( "github.com/astaxie/beego" "github.com/cloudsonic/sonic-server/conf" - "github.com/cloudsonic/sonic-server/utils" ) var initSync sync.Once @@ -32,5 +31,4 @@ func Init(t *testing.T, skipOnShort bool) { if noLog != "" { beego.SetLevel(beego.LevelError) } - utils.Graph.Finalize() } diff --git a/utils/graph.go b/utils/graph.go deleted file mode 100644 index b1ec09778..000000000 --- a/utils/graph.go +++ /dev/null @@ -1,37 +0,0 @@ -package utils - -import ( - "reflect" - - "github.com/karlkfi/inject" -) - -var Graph inject.Graph - -var ( - definitions map[reflect.Type]interface{} -) - -func DefineSingleton(ptr interface{}, constructor interface{}) interface{} { - typ := reflect.TypeOf(ptr) - provider := inject.NewAutoProvider(constructor) - - if _, found := definitions[typ]; found { - ptr = definitions[typ] - } else { - definitions[typ] = ptr - } - Graph.Define(ptr, provider) - return ptr -} - -func ResolveDependencies(ptrs ...interface{}) { - for _, p := range ptrs { - inject.ExtractAssignable(Graph, p) - } -} - -func init() { - definitions = make(map[reflect.Type]interface{}) - Graph = inject.NewGraph() -} diff --git a/wire_gen.go b/wire_gen.go index d204b9dd7..29bc81fea 100644 --- a/wire_gen.go +++ b/wire_gen.go @@ -15,10 +15,6 @@ import ( "github.com/google/wire" ) -import ( - _ "github.com/cloudsonic/sonic-server/init" -) - // Injectors from wire_injectors.go: func initImporter(musicFolder string) *scanner.Importer {