Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] linker and storage rework #2

Draft
wants to merge 7 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
77 changes: 77 additions & 0 deletions cmd/endpoints/linker/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")

go_library(
name = "go_default_library",
srcs = ["service.go"],
importpath = "github.com/canonical-debate-lab/argument-analysis-research/cmd/endpoints/linker",
visibility = ["//visibility:private"],
deps = [
"//pkg/api:go_default_library",
"//pkg/linker/api/v0:go_default_library",
"//pkg/meta/linking/v0:go_default_library",
"//pkg/service:go_default_library",
"//pkg/storage/dgraph:go_default_library",
"//pkg/storage/dgraph/converters/linking/v0:go_default_library",
"//pkg/storage/registries:go_default_library",
"//pkg/storage/repositories:go_default_library",
"//vendor/github.com/dgraph-io/dgo:go_default_library",
"//vendor/github.com/dgraph-io/dgo/protos/api:go_default_library",
"//vendor/github.com/seibert-media/golibs/log:go_default_library",
"//vendor/go.uber.org/zap:go_default_library",
"@org_golang_google_grpc//:go_default_library",
],
)

go_binary(
name = "bin",
embed = [":go_default_library"],
goarch = "amd64",
goos = "linux",
pure = "on",
visibility = ["//visibility:public"],
)

load("@io_bazel_rules_docker//go:image.bzl", "go_image")

go_image(
name = "image",
binary = ":bin",
)

load("@io_bazel_rules_k8s//k8s:objects.bzl", "k8s_objects")
load("@k8s_deploy//:defaults.bzl", "k8s_deploy")
load(
"//:helpers/k8s.bzl",
manifest = "template_manifest",
)

manifest(
name = "dpl",
template = "//defaults/k8s:deploy-linker.yaml",
)

manifest(
name = "svc",
template = "//defaults/k8s:service.yaml",
)

k8s_deploy(
name = "service",
template = ":svc",
)

k8s_deploy(
name = "deployment",
images = {
":dev": ":image",
},
template = ":dpl",
)

k8s_objects(
name = "dev",
objects = [
":deployment",
":service",
],
)
86 changes: 86 additions & 0 deletions cmd/endpoints/linker/service.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
package main

import (
"fmt"

"github.com/canonical-debate-lab/argument-analysis-research/pkg/storage/dgraph"

"github.com/canonical-debate-lab/argument-analysis-research/pkg/api"
linker_api "github.com/canonical-debate-lab/argument-analysis-research/pkg/linker/api/v0"
"github.com/canonical-debate-lab/argument-analysis-research/pkg/service"

linkingv0 "github.com/canonical-debate-lab/argument-analysis-research/pkg/meta/linking/v0"
linkingStoragev0 "github.com/canonical-debate-lab/argument-analysis-research/pkg/storage/dgraph/converters/linking/v0"
"github.com/canonical-debate-lab/argument-analysis-research/pkg/storage/registries"
"github.com/canonical-debate-lab/argument-analysis-research/pkg/storage/repositories"

"github.com/dgraph-io/dgo"
dgraph_api "github.com/dgraph-io/dgo/protos/api"
"github.com/seibert-media/golibs/log"
"go.uber.org/zap"
"google.golang.org/grpc"
)

// Spec for the service
type Spec struct {
service.BaseSpec
}

func main() {
var svc Spec
ctx := service.Init("linker-api", &svc)
defer service.Defer(ctx)

srv := api.New(fmt.Sprintf(":%d", svc.Port), svc.Debug)
go srv.GracefulHandler(ctx)

dial, err := grpc.Dial("localhost:9080", grpc.WithInsecure())
if err != nil {
log.From(ctx).Fatal("creating grpc client", zap.Error(err))
}

log.From(ctx).Debug("connecting dgraph")
client := dgo.NewDgraphClient(dgraph_api.NewDgraphClient(dial))
txn := client.NewReadOnlyTxn()
if _, err := txn.Query(ctx, `schema {}`); err != nil {
log.From(ctx).Fatal("validating dgraph connection", zap.Error(err))
}

provider := dgraph.NewProvider(client)

// --- Mock Provider --- //

linker := &linkingStoragev0.Linker{
Metadata: linkingStoragev0.Metadata{
APIVersion: linkingv0.LinkerKind.Version.String(),
GroupKind: linkingv0.LinkerKind.GroupKind().String(),
ID: "test",
},
LinkerData: &linkingv0.LinkerData{
Description: "test",
Rater: "https://test.democracy.ovh/rater",
Threshold: 0.25,
},
}
if _, err := provider.Write(ctx, linker); err != nil {
log.From(ctx).Fatal("inserting test linker", zap.Error(err))
}

repo := repositories.NewDefault()
registries.PrepareDefault(provider, repo)

// ---

srv.Router.Post("/linker", api.NewHandler(ctx, linker_api.NewLinker(ctx, registries.Default)))
srv.Router.Get("/linker/{id}", api.NewHandler(ctx, linker_api.GetLinker(ctx, registries.Default)))

srv.Router.Post("/document", api.NewHandler(ctx, linker_api.NewDocument(ctx, registries.Default)))
srv.Router.Post("/linker/{id}/document", api.NewHandler(ctx, linker_api.NewDocument(ctx, registries.Default)))
srv.Router.Get("/document/{id}", api.NewHandler(ctx, linker_api.GetDocument(ctx, registries.Default)))

if err := srv.Start(ctx); err != nil {
log.From(ctx).Fatal("running server", zap.Error(err))
}

log.From(ctx).Info("finished")
}
8 changes: 4 additions & 4 deletions cmd/keyword/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ go_library(
"//pkg/document:go_default_library",
"//pkg/keyword:go_default_library",
"//pkg/service:go_default_library",
"@com_github_go_chi_chi//:go_default_library",
"@com_github_pkg_errors//:go_default_library",
"@com_github_seibert_media_golibs//log:go_default_library",
"@org_uber_go_zap//:go_default_library",
"//vendor/github.com/go-chi/chi:go_default_library",
"//vendor/github.com/pkg/errors:go_default_library",
"//vendor/github.com/seibert-media/golibs/log:go_default_library",
"//vendor/go.uber.org/zap:go_default_library",
],
)

Expand Down
8 changes: 4 additions & 4 deletions cmd/linker/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@ go_library(
"//pkg/linker:go_default_library",
"//pkg/linker/api:go_default_library",
"//pkg/linker/async:go_default_library",
"//pkg/linker/storage:go_default_library",
"//pkg/service:go_default_library",
"@com_github_go_chi_chi//:go_default_library",
"@com_github_seibert_media_golibs//log:go_default_library",
"@org_uber_go_zap//:go_default_library",
"//vendor/github.com/go-chi/chi:go_default_library",
"//vendor/github.com/seibert-media/golibs/log:go_default_library",
"//vendor/go.uber.org/zap:go_default_library",
"@com_github_canonical_debate_lab_argument_analysis_research//pkg/linker/storage:go_default_library",
],
)

Expand Down
8 changes: 4 additions & 4 deletions cmd/segmenter/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@ go_library(
"//pkg/api:go_default_library",
"//pkg/document:go_default_library",
"//pkg/service:go_default_library",
"@com_github_go_chi_chi//:go_default_library",
"@com_github_pkg_errors//:go_default_library",
"@com_github_seibert_media_golibs//log:go_default_library",
"@org_uber_go_zap//:go_default_library",
"//vendor/github.com/go-chi/chi:go_default_library",
"//vendor/github.com/pkg/errors:go_default_library",
"//vendor/github.com/seibert-media/golibs/log:go_default_library",
"//vendor/go.uber.org/zap:go_default_library",
],
)

Expand Down
7 changes: 4 additions & 3 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@ require (
contrib.go.opencensus.io/exporter/prometheus v0.1.0
github.com/Obaied/RAKE.Go v0.0.0-20181207222342-f0f99b2097df
github.com/deckarep/golang-set v1.7.1 // indirect
github.com/dgraph-io/dgo v0.0.0-20190801004348-3d281925f1d3
github.com/go-chi/chi v4.0.2+incompatible
github.com/google/gofuzz v1.0.0
github.com/google/uuid v1.1.1
github.com/kelseyhightower/envconfig v1.3.0
github.com/mingrammer/commonregex v1.0.0 // indirect
Expand All @@ -16,14 +18,13 @@ require (
github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829 // indirect
github.com/seibert-media/golibs v1.0.3
github.com/sethgrid/pester v0.0.0-20190127155807-68a33a018ad0
github.com/stretchr/testify v1.3.0 // indirect
go.etcd.io/bbolt v1.3.3
go.opencensus.io v0.22.0
go.uber.org/zap v1.10.0
gonum.org/v1/gonum v0.0.0-20190710053202-4340aa3071a0 // indirect
gopkg.in/djherbis/stow.v3 v3.0.0
google.golang.org/grpc v1.20.1
gopkg.in/jdkato/prose.v2 v2.0.0-20180825173540-767a23049b9e
gopkg.in/neurosnap/sentences.v1 v1.0.6 // indirect
k8s.io/utils v0.0.0-20190801114015-581e00157fb1
)

replace github.com/kelseyhightower/envconfig => github.com/seibert-media/envconfig v1.4.0
13 changes: 9 additions & 4 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ 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/deckarep/golang-set v1.7.1 h1:SCQV0S6gTtp6itiFrTqI+pfmJ4LN85S1YzhDf9rTHJQ=
github.com/deckarep/golang-set v1.7.1/go.mod h1:93vsz/8Wt4joVM7c2AVqh+YRMiUSc14yDtF28KmMOgQ=
github.com/dgraph-io/dgo v0.0.0-20190801004348-3d281925f1d3 h1:W9JVVHVto8SICJt9vkWcofcJRi2gxJRRj0Qzu3Q43nY=
github.com/dgraph-io/dgo v0.0.0-20190801004348-3d281925f1d3/go.mod h1:/3OtwVvGnHiyXL9bWTjZaHQk4cp8rakX6jVBFoykWaA=
github.com/getsentry/raven-go v0.0.0-20180903072508-084a9de9eb03 h1:G/9fPivTr5EiyqE9OlW65iMRUxFXMGRHgZFGo50uG8Q=
github.com/getsentry/raven-go v0.0.0-20180903072508-084a9de9eb03/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ=
github.com/go-chi/chi v4.0.2+incompatible h1:maB6vn6FqCxrpz4FqWdh4+lwpyZIQS7YEAUcHlgXVRs=
Expand All @@ -36,6 +38,8 @@ github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5y
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY=
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/gofuzz v1.0.0 h1:A8PeW59pxE9IoFRqBp37U+mSNaQoZ46F1f0f863XSXw=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY=
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
Expand Down Expand Up @@ -84,15 +88,14 @@ github.com/seibert-media/golibs v1.0.3/go.mod h1:CW082mp7He42qX4/+Y7RmtG15MCy049
github.com/sethgrid/pester v0.0.0-20190127155807-68a33a018ad0 h1:X9XMOYjxEfAYSy3xK1DzO5dMkkWhs9E9UCcS1IERx2k=
github.com/sethgrid/pester v0.0.0-20190127155807-68a33a018ad0/go.mod h1:Ad7IjTpvzZO8Fl0vh9AzQ+j/jYZfyp2diGwI8m5q+ns=
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/tchap/zapext v0.0.0-20180117141735-e61c0c882339 h1:5Njn1a7r5mR51ovnu7TBcmoUffg6DyKzzCoVPZHsU+Q=
github.com/tchap/zapext v0.0.0-20180117141735-e61c0c882339/go.mod h1:0VgDSQ0xHJRqkxrwu3G2i2762jSnAJMz7rYxiZGpW1U=
go.etcd.io/bbolt v1.3.3 h1:MUGmc65QhB3pIlaQ5bB4LwqSj6GIonVJXpZiaKNyaKk=
go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
go.opencensus.io v0.22.0 h1:C9hSCOW830chIVkdja34wa6Ky+IzWllkUinR+BtRZd4=
go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
Expand Down Expand Up @@ -122,6 +125,7 @@ golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73r
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09 h1:KaQtG+aDELoNmXYas3TVkGNYRuq8JQ1aa7LJt8EXVyo=
golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be h1:vEDujvNQGv4jgYKudGeI/+DAX4Jffq6hpD55MmoEvKs=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
Expand Down Expand Up @@ -158,11 +162,12 @@ google.golang.org/grpc v1.20.1 h1:Hz2g2wirWK7H0qIIhGIqRGTuMwTE8HEKFnDZZ7lm9NU=
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/djherbis/stow.v3 v3.0.0 h1:Mw6pHDMjXajrWxsYPWEs3WxG0FUY+u9wlIpXTRbUHrQ=
gopkg.in/djherbis/stow.v3 v3.0.0/go.mod h1:25YL8MCZjcTS4gRCLYj2/7YCeSjI0lC344UMogxncnQ=
gopkg.in/jdkato/prose.v2 v2.0.0-20180825173540-767a23049b9e h1:yDDVJ347kU7Ro+H2CRgKmAEbFXfHwjyPuXgVd6H+3N8=
gopkg.in/jdkato/prose.v2 v2.0.0-20180825173540-767a23049b9e/go.mod h1:1uCyb8jSeRMeIfMJgVyxYssmCTAlxLBkueX+Iu2UilA=
gopkg.in/neurosnap/sentences.v1 v1.0.6 h1:v7ElyP020iEZQONyLld3fHILHWOPs+ntzuQTNPkul8E=
gopkg.in/neurosnap/sentences.v1 v1.0.6/go.mod h1:YlK+SN+fLQZj+kY3r8DkGDhDr91+S3JmTb5LSxFRQo0=
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
k8s.io/klog v0.3.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
k8s.io/utils v0.0.0-20190801114015-581e00157fb1 h1:+ySTxfHnfzZb9ys375PXNlLhkJPLKgHajBU0N62BDvE=
k8s.io/utils v0.0.0-20190801114015-581e00157fb1/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew=
8 changes: 8 additions & 0 deletions notes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Notes

- Document/Segment IDs from content hash?
- This makes documents and segments unique (pro?)
- Make links reference to their linker
- How to tell linker workers which documents to process? Don't tell?
- How to restrain certain documents to their user/case/whatever (do we want that?)
- Link Search could query the list of documents (probably paginated) and once a link is found, first traverse the tree of the found object to find other close links
11 changes: 6 additions & 5 deletions pkg/api/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,11 @@ go_library(
visibility = ["//visibility:public"],
deps = [
"//pkg/api/middlewares:go_default_library",
"@com_github_go_chi_chi//:go_default_library",
"@com_github_go_chi_chi//middleware:go_default_library",
"@com_github_pkg_errors//:go_default_library",
"@com_github_seibert_media_golibs//log:go_default_library",
"@org_uber_go_zap//:go_default_library",
"//pkg/meta:go_default_library",
"//vendor/github.com/go-chi/chi:go_default_library",
"//vendor/github.com/go-chi/chi/middleware:go_default_library",
"//vendor/github.com/pkg/errors:go_default_library",
"//vendor/github.com/seibert-media/golibs/log:go_default_library",
"//vendor/go.uber.org/zap:go_default_library",
],
)
36 changes: 19 additions & 17 deletions pkg/api/handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,33 +6,35 @@ import (
"net/http"

"github.com/pkg/errors"

"github.com/canonical-debate-lab/argument-analysis-research/pkg/meta"

"github.com/seibert-media/golibs/log"
"go.uber.org/zap"
)

// HandlerFunc represents a http.HandlerFunc returning an error
type HandlerFunc func(context.Context, http.ResponseWriter, *http.Request) Response

// Response with basic error handling features
type Response interface {
// Fail should set the internal error value if existing
Fail(error)
// Failure should return the internal error value if existing (or nil)
Failure() error
}
type HandlerFunc func(context.Context, http.ResponseWriter, *http.Request) error

// NewHandler returns a standard http.HandlerFunc wrapping our default encoding and error handling
// NewHandler returns a standard http.HandlerFunc providing context for the HandlerFunc
func NewHandler(ctx context.Context, f HandlerFunc) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
resp := f(r.Context(), w, r)
w.Header().Add("Content-Type", "application/json")

if err := resp.Failure(); err != nil {
log.From(ctx).Error("handling api", zap.Error(err))
}

err := json.NewEncoder(w).Encode(resp)
err := f(r.Context(), w, r)
if err != nil {
HTTPErr(ctx, w, errors.Wrap(err, "encoding response"))
log.From(ctx).Error("handling", zap.Error(err))
err := errors.Cause(err)
if apiError, ok := err.(meta.ObjectMetaAccessor); ok {
encErr := json.NewEncoder(w).Encode(apiError)
if encErr == nil {
return
}
log.From(ctx).Error("encoding api error", zap.Error(encErr))
}
log.From(ctx).Warn("returning invalid api error", zap.String("details", "this indicates a developer error"), zap.Error(err))

http.Error(w, err.Error(), http.StatusInternalServerError)
}
}
}
4 changes: 2 additions & 2 deletions pkg/api/middlewares/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ go_library(
importpath = "github.com/canonical-debate-lab/argument-analysis-research/pkg/api/middlewares",
visibility = ["//visibility:public"],
deps = [
"@com_github_seibert_media_golibs//log:go_default_library",
"@org_uber_go_zap//:go_default_library",
"//vendor/github.com/seibert-media/golibs/log:go_default_library",
"//vendor/go.uber.org/zap:go_default_library",
],
)
8 changes: 4 additions & 4 deletions pkg/document/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ go_library(
importpath = "github.com/canonical-debate-lab/argument-analysis-research/pkg/document",
visibility = ["//visibility:public"],
deps = [
"@com_github_pkg_errors//:go_default_library",
"@com_github_seibert_media_golibs//log:go_default_library",
"@in_gopkg_jdkato_prose_v2//:go_default_library",
"@org_uber_go_zap//:go_default_library",
"//vendor/github.com/pkg/errors:go_default_library",
"//vendor/github.com/seibert-media/golibs/log:go_default_library",
"//vendor/go.uber.org/zap:go_default_library",
"//vendor/gopkg.in/jdkato/prose.v2:go_default_library",
],
)
Loading