Compare commits

..

1 Commits

Author SHA1 Message Date
7fc09053a4 Initial commit 2023-07-03 17:33:30 -05:00
24 changed files with 55 additions and 441 deletions

1
.gitignore vendored
View File

@ -35,4 +35,3 @@
# Go workspace file
go.work

6
.gitmodules vendored
View File

@ -4,3 +4,9 @@
[submodule "submodule/src/remote"]
path = submodule/src/remote
url = git://github.com/laramiel/bazel-example-golang-remote
[submodule "vendor/github.com/laramiel/bazel-example-golang-remote"]
path = vendor/github.com/laramiel/bazel-example-golang-remote
url = git://github.com/laramiel/bazel-example-golang-remote
[submodule "vendor/github.com/laramiel/bazel-example-golang-bare"]
path = vendor/github.com/laramiel/bazel-example-golang-bare
url = git://github.com/laramiel/bazel-example-golang-bare

28
BUILD
View File

@ -1,25 +1,13 @@
load("@io_bazel_rules_go//go:def.bzl", "go_binary")
package(
default_visibility = ["//visibility:public"],
)
load("@bazel_gazelle//:def.bzl", "gazelle")
# gazelle:prefix github.com/squk/lotr
# gazelle:build_file_name BUILD
gazelle(name = "gazelle")
gazelle(
name = "gazelle-update-repos",
args = [
"-from_file=go.mod",
"-to_macro=deps.bzl%go_dependencies",
"-prune",
"-build_file_proto_mode=disable_global",
],
command = "update-repos",
)
alias(
name = "beornextract",
actual = "//cmd/beornextract:beornextract",
go_binary(
name = "hello",
srcs = ["hello.go"],
deps = [
"//cmd",
]
)

View File

@ -1,39 +1,23 @@
load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository")
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
# git_repository(
# name = "io_bazel_rules_go",
# remote = "https://github.com/bazelbuild/rules_go.git",
# branch = "master",
# )
http_archive(
name = "io_bazel_rules_go",
sha256 = "6dc2da7ab4cf5d7bfc7c949776b1b7c733f05e56edc4bcd9022bb249d2e2a996",
sha256 = "6b65cb7917b4d1709f9410ffe00ecf3e160edf674b78c54a894471320862184f",
urls = [
"https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.39.1/rules_go-v0.39.1.zip",
"https://github.com/bazelbuild/rules_go/releases/download/v0.39.1/rules_go-v0.39.1.zip",
],
)
http_archive(
name = "bazel_gazelle",
sha256 = "727f3e4edd96ea20c29e8c2ca9e8d2af724d8c7778e7923a854b2c80952bc405",
urls = [
"https://mirror.bazel.build/github.com/bazelbuild/bazel-gazelle/releases/download/v0.30.0/bazel-gazelle-v0.30.0.tar.gz",
"https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.30.0/bazel-gazelle-v0.30.0.tar.gz",
"https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.39.0/rules_go-v0.39.0.zip",
"https://github.com/bazelbuild/rules_go/releases/download/v0.39.0/rules_go-v0.39.0.zip",
],
)
load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies")
load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies", "go_repository")
############################################################
# Define your own dependencies here using go_repository.
# Else, dependencies declared by rules_go/gazelle will be used.
# The first declaration of an external repository "wins".
############################################################
load("//:deps.bzl", "go_dependencies")
# gazelle:repository_macro deps.bzl%go_dependencies
go_dependencies()
go_rules_dependencies()
go_register_toolchains(version = "1.20.4")
gazelle_dependencies()
go_register_toolchains(version = "1.19.3")

View File

@ -1,8 +1,8 @@
load("@io_bazel_rules_go//go:def.bzl", "go_library")
go_library(
name = "types",
srcs = ["card.go"],
importpath = "github.com/squk/lotr/cmd/beornextract/types",
name ="cmd",
srcs = [ "cmd.go" ],
visibility = ["//visibility:public"],
importpath= "github.com/squk/lotr/cmd"
)

View File

@ -1,25 +0,0 @@
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
package(
default_visibility = ["//visibility:public"],
)
go_library(
name = "beornextract_lib",
srcs = ["main.go"],
data = [
"//cmd/beornextract/data:Bot.Cards.json",
"//cmd/beornextract/data:Export.Cards.json",
],
importpath = "github.com/squk/lotr/cmd/beornextract",
deps = [
"//cmd/beornextract/types",
"@com_github_davecgh_go_spew//spew",
"@io_bazel_rules_go//go/tools/bazel:go_default_library",
],
)
go_binary(
name = "beornextract",
embed = [":beornextract_lib"],
)

View File

@ -1,2 +0,0 @@
exports_files(glob(["*.json"]))
# exports_files(["Export.Cards.json"])

File diff suppressed because one or more lines are too long

View File

@ -1,50 +0,0 @@
package main
import (
"encoding/json"
"fmt"
"io/ioutil"
"log"
"os"
"path/filepath"
"github.com/bazelbuild/rules_go/go/tools/bazel"
"github.com/davecgh/go-spew/spew"
"github.com/squk/lotr/cmd/beornextract/types"
)
func main() {
fmt.Println("LOTR CARD PARSE")
f, err := bazel.Runfile(".")
if err != nil {
panic(err)
}
err = filepath.Walk(f,
func(path string, info os.FileInfo, err error) error {
if err != nil {
return err
}
fmt.Println(path, info.Size())
return nil
})
if err != nil {
log.Println(err)
}
// Open our jsonFile
// jsonFile, err := os.Open("cmd/beornextract/data/Bot.Cards.json")
jsonFile, err := bazel.Runfile("cmd/beornextract/data/Bot.Cards.json")
// if we os.Open returns an error then handle it
if err != nil {
fmt.Println(err)
return
}
fmt.Println("Successfully Opened users.json")
// defer the closing of our jsonFile so that we can parse it later on
defer jsonFile.Close()
byteValue, _ := ioutil.ReadAll(jsonFile)
c := []types.HallOfBeornCard{}
json.Unmarshal(byteValue, &c)
spew.Dump(c)
}

View File

@ -1,33 +0,0 @@
package types
type HallOfBeornCard struct {
PackCode string `json:"pack_code"`
PackName string `json:"pack_name"`
IsOfficial bool `json:"is_official"`
TypeCode string `json:"type_code"`
TypeName string `json:"type_name"`
SphereCode string `json:"sphere_code"`
SphereName string `json:"sphere_name"`
Position int `json:"position"`
Code string `json:"code"`
Name string `json:"name"`
Traits string `json:"traits"`
Text string `json:"text"`
Flavor string `json:"flavor"`
IsUnique bool `json:"is_unique"`
Threat int `json:"threat"`
Willpower int `json:"willpower"`
Attack int `json:"attack"`
Defense int `json:"defense"`
Health int `json:"health"`
Quantity int `json:"quantity"`
DeckLimit int `json:"deck_limit"`
Illustrator string `json:"illustrator"`
Octgnid string `json:"octgnid"`
HasErrata bool `json:"has_errata"`
URL string `json:"url"`
Imagesrc string `json:"imagesrc"`
}
type NormalizedCard struct {
}

9
cmd/cmd.go Normal file
View File

@ -0,0 +1,9 @@
package main
import (
"fmt"
)
func main() {
fmt.Println("Hello World. Cmd")
}

View File

@ -1,18 +0,0 @@
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
go_library(
name = "test_lib",
srcs = ["main.go"],
importpath = "github.com/squk/lotr/cmd/test",
visibility = ["//visibility:private"],
deps = [
"@com_github_davecgh_go_spew//spew",
"@com_github_mattn_go_sqlite3//:go-sqlite3",
],
)
go_binary(
name = "test",
embed = [":test_lib"],
visibility = ["//visibility:public"],
)

View File

@ -1,113 +0,0 @@
package main
import (
"database/sql"
"fmt"
"log"
"os"
"github.com/davecgh/go-spew/spew"
_ "github.com/mattn/go-sqlite3"
)
func main() {
spew.Dump(os.Getwd())
os.Remove("./foo.db")
db, err := sql.Open("sqlite3", "./foo.db")
if err != nil {
log.Fatal(err)
}
defer db.Close()
sqlStmt := `
create table foo (id integer not null primary key, name text);
delete from foo;
`
_, err = db.Exec(sqlStmt)
if err != nil {
log.Printf("%q: %s\n", err, sqlStmt)
return
}
tx, err := db.Begin()
if err != nil {
log.Fatal(err)
}
stmt, err := tx.Prepare("insert into foo(id, name) values(?, ?)")
if err != nil {
log.Fatal(err)
}
defer stmt.Close()
for i := 0; i < 100; i++ {
_, err = stmt.Exec(i, fmt.Sprintf("こんにちは世界%03d", i))
if err != nil {
log.Fatal(err)
}
}
err = tx.Commit()
if err != nil {
log.Fatal(err)
}
rows, err := db.Query("select id, name from foo")
if err != nil {
log.Fatal(err)
}
defer rows.Close()
for rows.Next() {
var id int
var name string
err = rows.Scan(&id, &name)
if err != nil {
log.Fatal(err)
}
fmt.Println(id, name)
}
err = rows.Err()
if err != nil {
log.Fatal(err)
}
stmt, err = db.Prepare("select name from foo where id = ?")
if err != nil {
log.Fatal(err)
}
defer stmt.Close()
var name string
err = stmt.QueryRow("3").Scan(&name)
if err != nil {
log.Fatal(err)
}
fmt.Println(name)
_, err = db.Exec("delete from foo")
if err != nil {
log.Fatal(err)
}
_, err = db.Exec("insert into foo(id, name) values(1, 'foo'), (2, 'bar'), (3, 'baz')")
if err != nil {
log.Fatal(err)
}
rows, err = db.Query("select id, name from foo")
if err != nil {
log.Fatal(err)
}
defer rows.Close()
for rows.Next() {
var id int
var name string
err = rows.Scan(&id, &name)
if err != nil {
log.Fatal(err)
}
fmt.Println(id, name)
}
err = rows.Err()
if err != nil {
log.Fatal(err)
}
}

View File

@ -1,82 +0,0 @@
load("@bazel_gazelle//:deps.bzl", "go_repository")
def go_dependencies():
go_repository(
name = "com_github_bazelbuild_rules_go",
build_file_proto_mode = "disable_global",
importpath = "github.com/bazelbuild/rules_go",
sum = "h1:JzlRxsFNhlX+g4drDRPhIaU5H5LnI978wdMJ0vK4I+k=",
version = "v0.41.0",
)
go_repository(
name = "com_github_davecgh_go_spew",
build_file_proto_mode = "disable_global",
importpath = "github.com/davecgh/go-spew",
sum = "h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=",
version = "v1.1.1",
)
go_repository(
name = "com_github_golang_mock",
build_file_proto_mode = "disable_global",
importpath = "github.com/golang/mock",
sum = "h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc=",
version = "v1.6.0",
)
go_repository(
name = "com_github_golang_protobuf",
build_file_proto_mode = "disable_global",
importpath = "github.com/golang/protobuf",
sum = "h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw=",
version = "v1.5.2",
)
go_repository(
name = "com_github_mattn_go_sqlite3",
build_file_proto_mode = "disable_global",
importpath = "github.com/mattn/go-sqlite3",
sum = "h1:mCRHCLDUBXgpKAqIKsaAaAsrAlbkeomtRFKXh2L6YIM=",
version = "v1.14.17",
)
go_repository(
name = "org_golang_google_genproto",
build_file_proto_mode = "disable_global",
importpath = "google.golang.org/genproto",
sum = "h1:+kGHl1aib/qcwaRi1CbqBZ1rk19r85MNUf8HaBghugY=",
version = "v0.0.0-20200526211855-cb27e3aa2013",
)
go_repository(
name = "org_golang_google_grpc",
build_file_proto_mode = "disable_global",
importpath = "google.golang.org/grpc",
sum = "h1:fPVVDxY9w++VjTZsYvXWqEf9Rqar/e+9zYfxKK+W+YU=",
version = "v1.50.0",
)
go_repository(
name = "org_golang_google_protobuf",
build_file_proto_mode = "disable_global",
importpath = "google.golang.org/protobuf",
sum = "h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw=",
version = "v1.28.0",
)
go_repository(
name = "org_golang_x_net",
build_file_proto_mode = "disable_global",
importpath = "golang.org/x/net",
sum = "h1:4nGaVu0QrbjT/AK2PRLuQfQuh6DJve+pELhqTdAj3x0=",
version = "v0.0.0-20210405180319-a5a99cb37ef4",
)
go_repository(
name = "org_golang_x_sys",
build_file_proto_mode = "disable_global",
importpath = "golang.org/x/sys",
sum = "h1:gG67DSER+11cZvqIMb8S8bt0vZtiN6xWYARwirrOSfE=",
version = "v0.0.0-20210510120138-977fb7262007",
)
go_repository(
name = "org_golang_x_text",
build_file_proto_mode = "disable_global",
importpath = "golang.org/x/text",
sum = "h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k=",
version = "v0.3.3",
)

10
go.mod
View File

@ -1,10 +0,0 @@
module github.com/squk/lotr
go 1.19
require github.com/davecgh/go-spew v1.1.1
require (
github.com/bazelbuild/rules_go v0.41.0 // indirect
github.com/mattn/go-sqlite3 v1.14.17 // indirect
)

6
go.sum
View File

@ -1,6 +0,0 @@
github.com/bazelbuild/rules_go v0.41.0 h1:JzlRxsFNhlX+g4drDRPhIaU5H5LnI978wdMJ0vK4I+k=
github.com/bazelbuild/rules_go v0.41.0/go.mod h1:TMHmtfpvyfsxaqfL9WnahCsXMWDMICTw7XeK9yVb+YU=
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/mattn/go-sqlite3 v1.14.17 h1:mCRHCLDUBXgpKAqIKsaAaAsrAlbkeomtRFKXh2L6YIM=
github.com/mattn/go-sqlite3 v1.14.17/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg=

9
hello.go Normal file
View File

@ -0,0 +1,9 @@
package main
import (
"fmt"
)
func main() {
fmt.Println("Hello World")
}

View File

@ -1,50 +0,0 @@
version: "3.6"
services:
postgres:
image: postgres:15
restart: always
volumes:
- db_data:/var/lib/postgresql/data
environment:
POSTGRES_PASSWORD: lotrlcgpassword
graphql-engine:
image: hasura/graphql-engine:v2.28.0
ports:
- "8080:8080"
restart: always
environment:
## postgres database to store Hasura metadata
HASURA_GRAPHQL_METADATA_DATABASE_URL: postgres://postgres:lotrlcgpassword@postgres:5432/postgres
## this env var can be used to add the above postgres database to Hasura as a data source. this can be removed/updated based on your needs
PG_DATABASE_URL: postgres://postgres:lotrlcgpassword@postgres:5432/postgres
## enable the console served by server
HASURA_GRAPHQL_ENABLE_CONSOLE: "true" # set to "false" to disable console
## enable debugging mode. It is recommended to disable this in production
HASURA_GRAPHQL_DEV_MODE: "true"
HASURA_GRAPHQL_ENABLED_LOG_TYPES: startup, http-log, webhook-log, websocket-log, query-log
## uncomment next line to run console offline (i.e load console assets from server instead of CDN)
# HASURA_GRAPHQL_CONSOLE_ASSETS_DIR: /srv/console-assets
## uncomment next line to set an admin secret
# HASURA_GRAPHQL_ADMIN_SECRET: myadminsecretkey
HASURA_GRAPHQL_METADATA_DEFAULTS: '{"backend_configs":{"dataconnector":{"athena":{"uri":"http://data-connector-agent:8081/api/v1/athena"},"mariadb":{"uri":"http://data-connector-agent:8081/api/v1/mariadb"},"mysql8":{"uri":"http://data-connector-agent:8081/api/v1/mysql"},"oracle":{"uri":"http://data-connector-agent:8081/api/v1/oracle"},"snowflake":{"uri":"http://data-connector-agent:8081/api/v1/snowflake"}}}}'
depends_on:
data-connector-agent:
condition: service_healthy
data-connector-agent:
image: hasura/graphql-data-connector:v2.28.0
restart: always
ports:
- 8081:8081
environment:
QUARKUS_LOG_LEVEL: ERROR # FATAL, ERROR, WARN, INFO, DEBUG, TRACE
## https://quarkus.io/guides/opentelemetry#configuration-reference
QUARKUS_OPENTELEMETRY_ENABLED: "false"
## QUARKUS_OPENTELEMETRY_TRACER_EXPORTER_OTLP_ENDPOINT: http://jaeger:4317
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8081/api/v1/athena/health"]
interval: 5s
timeout: 10s
retries: 5
start_period: 5s
volumes:
db_data:

View File

7
vendor/github.com/laramiel/BUILD generated vendored Normal file
View File

@ -0,0 +1,7 @@
load("@io_bazel_rules_go//go:def.bzl", "go_library")
go_library(
name = "bare",
srcs = ["bazel-example-golang-bare/bare.go"],
visibility = ["//visibility:public"],
)