mirror of
https://github.com/navidrome/navidrome.git
synced 2025-04-04 13:07:36 +03:00
Removed inject
lib, only use wire
for DI
This commit is contained in:
parent
3af9972b41
commit
e8a8313b43
10 changed files with 1 additions and 104 deletions
|
@ -7,7 +7,6 @@ import (
|
|||
"strings"
|
||||
|
||||
"github.com/astaxie/beego"
|
||||
_ "github.com/cloudsonic/sonic-server/init"
|
||||
)
|
||||
|
||||
const (
|
||||
|
|
|
@ -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"
|
||||
)
|
||||
|
|
5
go.mod
5
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
|
||||
)
|
||||
|
|
10
go.sum
10
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=
|
||||
|
|
|
@ -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())
|
||||
})
|
||||
}
|
1
main.go
1
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() {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package init
|
||||
package main
|
||||
|
||||
import "mime"
|
||||
|
|
@ -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()
|
||||
}
|
||||
|
|
|
@ -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()
|
||||
}
|
|
@ -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 {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue