更改索引方式

This commit is contained in:
clint 2025-07-10 21:24:53 +08:00
parent c7bfcf94e0
commit 238c526f19
19 changed files with 7 additions and 1023 deletions

11
.gitignore vendored
View File

@ -49,11 +49,6 @@ coverage.*
docker-compose.override.yml
docker-compose.override.local.yml
# EdgeX specific
/res/configuration.toml
/cmd/res/configuration.toml
/cmd/res/devices/* # 本地调试生成的设备实例
/cmd/res/profiles/* # 生成的设备Profile可选忽略
# 如果你使用 systemd 或 snap 构建
*.snap
@ -64,3 +59,9 @@ docker-compose.override.local.yml
# GoReleaser可选
.release.yaml
# 忽略任何级res/下的编译文件
**/res/device*
# 每一次添加ignore项需要先清空本地缓存再ad
# git rm --cached -r .

View File

@ -1,4 +0,0 @@
# Ignoring the go.sum file. There are checksum issues with
# different versions of Golang. Remove once all Go versions
# are in sync
go.sum

View File

@ -1,10 +0,0 @@
linters:
disable:
enable:
- gosec
linters-settings:
gosec:
excludes:
# G115: integer overflow conversion
# exclude the rule since it tends to be false positive
- G115

View File

@ -1,422 +0,0 @@
The following open source projects are referenced by Device UART:
cenkalti/backoff (MIT) https://github.com/cenkalti/backoff
https://github.com/cenkalti/backoff/blob/master/LICENSE
edgexfoundry/go-mod-core-contracts (Apache 2.0) https://github.com/edgexfoundry/go-mod-core-contracts/v4
https://github.com/edgexfoundry/go-mod-core-contracts/blob/master/LICENSE
edgexfoundry/go-mod-registry (Apache 2.0) https://github.com/edgexfoundry/go-mod-registry/v4
https://github.com/edgexfoundry/go-mod-registry/blob/master/LICENSE
edgexfoundry/device-sdk-go (Apache 2.0) https://github.com/edgexfoundry/device-sdk-go/v4
https://github.com/edgexfoundry/device-sdk-go/blob/master/LICENSE
go-kit/kit (MIT) github.com/go-kit/kit
https://github.com/go-kit/kit/blob/master/LICENSE
go-logfmt/logfmt (MIT) https://github.com/go-logfmt/logfmt
https://github.com/go-logfmt/logfmt/blob/master/LICENSE
hashicorp/go-cleanhttp (Mozilla Public License 2.0) https://github.com/hashicorp/go-cleanhttp
https://github.com/hashicorp/go-cleanhttp/blob/master/LICENSE
hashicorp/go-rootcerts (Mozilla Public License 2.0) https://github.com/hashicorp/go-rootcerts
https://github.com/hashicorp/go-rootcerts/blob/master/LICENSE
mitchellh/go-homedir (MIT) https://github.com/mitchellh/go-homedir
https://github.com/mitchellh/go-homedir/blob/master/LICENSE
mitchellh/mapstructure (MIT) https://github.com/mitchellh/mapstructure
https://github.com/mitchellh/mapstructure/blob/master/LICENSE
mitchellh/consulstructure (MIT) https://github.com/mitchellh/consulstructure
https://github.com/mitchellh/consulstructure/blob/master/LICENSE
mitchellh/copystructure (MIT) https://github.com/mitchellh/copystructure
https://github.com/mitchellh/copystructure/blob/master/LICENSE
mitchellh/reflectwalk (MIT) https://github.com/mitchellh/reflectwalk
https://github.com/mitchellh/reflectwalk/blob/master/LICENSE
hashicorp/serf (Mozilla Public License 2.0) https://github.com/hashicorp/serf
https://github.com/hashicorp/serf/blob/master/LICENSE
armon/go-metrics (MIT) https://github.com/armon/go-metrics
https://github.com/armon/go-metrics/blob/master/LICENSE
hashicorp/go-immutable-radix (Mozilla Public License 2.0) https://github.com/hashicorp/go-immutable-radix
https://github.com/hashicorp/go-immutable-radix/blob/master/LICENSE
hashicorp/golang-lru (Mozilla Public License 2.0) https://github.com/hashicorp/golang-lru
https://github.com/hashicorp/golang-lru/blob/master/LICENSE
gopkg.in/yaml.v3 (MIT) https://github.com/go-yaml/yaml/tree/v3
https://github.com/go-yaml/yaml/blob/v3/LICENSE
google/uuid (BSD-3) https://github.com/google/uuid
https://github.com/google/uuid/blob/master/LICENSE
golang.org/x/sys (Unspecified) https://github.com/golang/sys
https://github.com/golang/sys/blob/master/LICENSE
github.com/OneOfOne/xxhash (Apache 2.0) https://github.com/OneOfOne/xxhash
https://github.com/OneOfOne/xxhash/blob/master/LICENCE
hashicorp/consul/api (Mozilla Public License 2.0) https://github.com/hashicorp/consul/api
https://github.com/hashicorp/consul/blob/master/LICENSE
edgexfoundry/go-mod-bootstrap (Apache 2.0) https://github.com/edgexfoundry/go-mod-bootstrap/v4
https://github.com/edgexfoundry/go-mod-bootstrap/blob/master/LICENSE
edgexfoundry/go-mod-secrets (Apache 2.0) https://github.com/edgexfoundry/go-mod-secrets/v4
https://github.com/edgexfoundry/go-mod-secrets/blob/master/LICENSE
edgexfoundry/go-mod-configuration (Apache 2.0) https://github.com/edgexfoundry/go-mod-configuration/v4
https://github.com/edgexfoundry/go-mod-configuration/blob/master/LICENSE
fxamacker/cbor (MIT) https://github.com/fxamacker/cbor/v2
https://github.com/fxamacker/cbor/blob/master/LICENSE
x448/float16 (MIT) https://github.com/x448/float16
https://github.com/x448/float16/blob/master/LICENSE
bertimus9/systemstat (MIT) https://bitbucket.org/bertimus9/systemstat
https://bitbucket.org/bertimus9/systemstat/src/master/LICENSE
go-playground/locales (MIT) https://github.com/go-playground/locales
https://github.com/go-playground/locales/blob/master/LICENSE
go-playground/universal-translator (MIT) https://github.com/go-playground/universal-translator
https://github.com/go-playground/universal-translator/blob/master/LICENSE
github.com/go-playground/validator/v10 (MIT) https://github.com/go-playground/validator
https://github.com/go-playground/validator/blob/master/LICENSE
leodido/go-urn (MIT) https://github.com/leodido/go-urn
https://github.com/leodido/go-urn
github.com/fatih/color (MIT) https://github.com/fatih/color
https://github.com/fatih/color/blob/master/LICENSE.md
github.com/hashicorp/go-hclog (MIT) https://github.com/hashicorp/go-hclog
https://github.com/hashicorp/go-hclog/blob/master/LICENSE
github.com/mattn/go-colorable (MIT) https://github.com/mattn/go-colorable
https://github.com/mattn/go-colorable/blob/master/LICENSE
github.com/mattn/go-isatty (MIT) https://github.com/mattn/go-isatty
https://github.com/mattn/go-isatty/blob/master/LICENSE
eclipse/paho.mqtt.golang (Eclipse Public License 2.0) https://github.com/eclipse/paho.mqtt.golang
https://github.com/eclipse/paho.mqtt.golang/blob/master/LICENSE
edgexfoundry/go-mod-messaging (Apache 2.0) https://github.com/edgexfoundry/go-mod-messaging/v4
https://github.com/edgexfoundry/go-mod-messaging/blob/master/LICENSE
go-redis/redis (BSD-2) https://github.com/go-redis/redis/v7
https://github.com/go-redis/redis/blob/master/LICENSE
gorilla/websocket (BSD-2) https://github.com/gorilla/websocket
https://github.com/gorilla/websocket/blob/master/LICENSE
golang.org/x/net (Unspecified) https://github.com/golang/net
https://github.com/golang/net/blob/master/LICENSE
golang.org/x/crypto (Unspecified) https://github.com/golang/crypto
https://github.com/golang/crypto/blob/master/LICENSE
golang.org/x/text (Unspecified) https://github.com/golang/text
https://github.com/golang/text/blob/master/LICENSE
hashicorp/errwrap (Mozilla Public License 2.0) https://github.com/hashicorp/errwrap
https://github.com/hashicorp/errwrap/blob/master/LICENSE
hashicorp/go-multierror (Mozilla Public License 2.0) https://github.com/hashicorp/go-multierror
https://github.com/hashicorp/go-multierror/blob/master/LICENSE
go-kit/log (MIT) https://github.com/go-kit/log
https://github.com/go-kit/log/blob/main/LICENSE
github.com/golang/protobuf (BSD-3) https://github.com/golang/protobuf
https://github.com/golang/protobuf/blob/master/LICENSE
github.com/spiffe/go-spiffe/v2 (Apache-2.0 License) github.com/spiffe/go-spiffe/v2
https://github.com/spiffe/go-spiffe/blob/main/LICENSE
github.com/zeebo/errs (MIT) https://github.com/zeebo/errs
https://github.com/zeebo/errs/blob/master/LICENSE
google.golang.org/genproto (Apache-2.0) https://github.com/googleapis/go-genproto
https://github.com/googleapis/go-genproto/blob/main/LICENSE
google.golang.org/grpc (Apache-2.0) https://github.com/grpc/grpc-go
https://github.com/grpc/grpc-go/blob/master/LICENSE
google.golang.org/protobuf (Unspecified) https://github.com/protocolbuffers/protobuf-go
https://github.com/protocolbuffers/protobuf-go/blob/master/LICENSE
gopkg.in/square/go-jose.v2 (Apache-2.0) https://github.com/square/go-jose/tree/v2.6.0
https://github.com/square/go-jose/blob/v2.6.0/LICENSE
gopkg.in/yaml.v2 (MIT) https://github.com/go-yaml/yaml/
https://github.com/go-yaml/yaml/blob/v2/LICENSE
github.com/rcrowley/go-metrics (Unspecified) https://github.com/rcrowley/go-metrics
https://github.com/rcrowley/go-metrics/blob/master/LICENSE
github.com/Microsoft/go-winio (MIT) https://github.com/Microsoft/go-winio
https://github.com/microsoft/go-winio/blob/master/LICENSE
golang.org/x/sync (Unspecified) https://cs.opensource.google/go/x/sync
https://cs.opensource.google/go/x/sync/+/master:LICENSE
github.com/nats-io/nats.go (Apache-2.0) https://github.com/nats-io/nats.go
https://github.com/nats-io/nats.go/blob/main/LICENSE
github.com/nats-io/nkeys (Apache-2.0) https://github.com/nats-io/nkeys
https://github.com/nats-io/nkeys/blob/master/LICENSE
github.com/nats-io/nuid (Apache-2.0) https://github.com/nats-io/nuid
https://github.com/nats-io/nuid/blob/master/LICENSE
github.com/nats-io/nuid (Apache-2.0) https://github.com/nats-io/nuid
https://github.com/nats-io/nuid/blob/master/LICENSE
spf13/cast (MIT) https://github.com/spf13/cast
https://github.com/spf13/cast/blob/master/LICENSE
github.com/tarm/serial (BSD-3) https://github.com/tarm/serial
https://github.com/tarm/serial/blob/master/LICENSE
golang.org/x/mod (BSD-3) https://github.com/golang/mod
https://github.com/golang/mod/blob/master/LICENSE
golang.org/x/tools (BSD-3) https://github.com/golang/tools
https://github.com/golang/tools/blob/master/LICENSE
github.com/go-jose/go-jose/v3 (Apache-2.0) https://github.com/go-jose/go-jose
https://github.com/go-jose/go-jose/blob/v3/LICENSE
github.com/klauspost/compress (Apache-2.0) https://github.com/klauspost/compress
https://github.com/klauspost/compress/blob/master/LICENSE
github.com/gabriel-vasile/mimetype (MIT) https://github.com/gabriel-vasile/mimetype
https://github.com/gabriel-vasile/mimetype/blob/master/LICENSE
github.com/golang-jwt/jwt (MIT) https://github.com/golang-jwt/jwt
https://github.com/golang-jwt/jwt/blob/main/LICENSE
github.com/labstack/echo/v4 (MIT) https://github.com/labstack/echo
https://github.com/labstack/echo/blob/master/LICENSE
github.com/labstack/gommon (MIT) https://github.com/labstack/gommon
https://github.com/labstack/gommon/blob/master/LICENSE
github.com/valyala/bytebufferpool (MIT) https://github.com/valyala/bytebufferpool
https://github.com/valyala/bytebufferpool/blob/master/LICENSE
github.com/valyala/fasttemplate (MIT) https://github.com/valyala/fasttemplate
https://github.com/valyala/fasttemplate/blob/master/LICENSE
golang.org/x/exp (BSD-3) https://cs.opensource.google/go/x/exp
https://cs.opensource.google/go/x/exp/+/master:LICENSE
golang.org/x/time (BSD-3) https://cs.opensource.google/go/x/time
https://cs.opensource.google/go/x/time/+/master:LICENSE
github.com/asaskevich/govalidator (MIT) https://github.com/asaskevich/govalidator
https://github.com/asaskevich/govalidator/blob/master/LICENSE
github.com/cenkalti/backoff/v4 (MIT) https://github.com/cenkalti/backoff
https://github.com/cenkalti/backoff/blob/v4/LICENSE
github.com/fsnotify/fsnotify (BSD-3) https://github.com/fsnotify/fsnotify
https://github.com/fsnotify/fsnotify/blob/main/LICENSE
github.com/fullsailor/pkcs7 (MIT) https://github.com/fullsailor/pkcs7
https://github.com/fullsailor/pkcs7/blob/master/LICENSE
github.com/go-jose/go-jose/v4 (Apache-2.0) https://github.com/go-jose/go-jose
https://github.com/go-jose/go-jose/blob/main/LICENSE
github.com/go-logr/logr (Apache-2.0) https://github.com/go-logr/logr
https://github.com/go-logr/logr/blob/master/LICENSE
github.com/go-logr/stdr (Apache-2.0) https://github.com/go-log/stdr
https://github.com/go-logr/stdr/blob/master/LICENSE
github.com/go-ole/go-ole (MIT) https://github.com/go-ole/go-ole
https://github.com/go-ole/go-ole/blob/master/LICENSE
github.com/go-openapi/analysis (Apache-2.0) https://github.com/go-openapi/analysis
https://github.com/go-openapi/analysis/blob/master/LICENSE
github.com/go-openapi/errors (Apache-2.0) https://github.com/go-openapi/errors
https://github.com/go-openapi/errors/blob/master/LICENSE
github.com/go-openapi/jsonpointer (Apache-2.0) https://github.com/go-openapi/jsonpointer
https://github.com/go-openapi/jsonpointer/blob/master/LICENSE
github.com/go-openapi/jsonreference (Apache-2.0) https://github.com/go-openapi/jsonreference
https://github.com/go-openapi/jsonreference/blob/master/LICENSE
github.com/go-openapi/loads (Apache-2.0) https://github.com/go-openapi/loads
https://github.com/go-openapi/loads/blob/master/LICENSE
github.com/go-openapi/runtime (Apache-2.0) https://github.com/go-openapi/runtime
https://github.com/go-openapi/runtime/blob/master/LICENSE
github.com/go-openapi/spec (Apache-2.0) https://github.com/go-openapi/spec
https://github.com/go-openapi/spec/blob/master/LICENSE
github.com/go-openapi/strfmt (Apache-2.0) https://github.com/go-openapi/strfmt
https://github.com/go-openapi/strfmt/blob/master/LICENSE
github.com/go-openapi/swag (Apache-2.0) https://github.com/go-openapi/swag
https://github.com/go-openapi/swag/blob/master/LICENSE
github.com/go-openapi/validate (Apache-2.0) https://github.com/go-openapi/validate
https://github.com/go-openapi/validate/blob/master/LICENSE
github.com/go-resty/resty/v2 (MIT) https://github.com/go-resty/resty
https://github.com/go-resty/resty/blob/v2/LICENSE
github.com/golang-jwt/jwt/v5 (MIT) github.com/golang-jwt/jwt
https://github.com/golang-jwt/jwt/blob/main/LICENSE
gorilla/mux 1.6.2 (BSD-3) https://github.com/gorilla/mux
https://github.com/gorilla/mux/blob/master/LICENSE
github.com/gorilla/schema (BSD-3) https://github.com/gorilla/schema
https://github.com/gorilla/schema/blob/main/LICENSE
github.com/gorilla/securecookie (BSD-3) https://github.com/gorilla/securecookie
https://github.com/gorilla/securecookie/blob/main/LICENSE
github.com/josharian/intern (MIT) https://github.com/josharian/intern
https://github.com/josharian/intern/blob/master/LICENSE.md
github.com/kataras/go-events (MIT) https://github.com/kataras/go-events
https://github.com/kataras/go-events/blob/master/LICENSE
github.com/lufia/plan9stats (BSD-3) https://github.com/lufia/plan9stats
https://github.com/lufia/plan9stats/blob/main/LICENSE
github.com/mailru/easyjson (MIT) https://github.com/mailru/easyjson
https://github.com/mailru/easyjson/blob/master/LICENSE
github.com/mgutz/ansi (MIT) https://github.com/mgutz/ansi
https://github.com/mgutz/ansi/blob/master/LICENSE
github.com/michaelquigley/pfxlog (MIT) https://github.com/michaelquigley/pfxlog
https://github.com/michaelquigley/pfxlog/blob/main/LICENSE
github.com/miekg/pkcs11 (BSD-3) https://github.com/miekg/pkcs11
https://github.com/miekg/pkcs11/blob/master/LICENSE
github.com/mitchellh/go-ps (MIT) https://github.com/mitchellh/go-ps
https://github.com/mitchellh/go-ps/blob/master/LICENSE.md
github.com/muhlemmer/gu (Unspecified) https://github.com/muhlemmer/gu
https://github.com/muhlemmer/gu/blob/main/LICENSE
github.com/oklog/ulid (Apache-2.0) https://github.com/oklog/ulid
https://github.com/oklog/ulid/blob/main/LICENSE
github.com/opentracing/opentracing-go (Apache-2.0) https://github.com/opentracing/opentracing-go
https://github.com/opentracing/opentracing-go/blob/master/LICENSE
github.com/openziti/channel/v3 (Apache 2.0) - github.com/openziti/channel/v3
https://github.com/openziti/channel/blob/main/LICENSE
github.com/openziti/edge-api (Apache-2.0) https://github.com/openziti/edge-api
https://github.com/openziti/edge-api/blob/main/LICENSE
github.com/openziti/foundation/v2 (Apache-2.0) https://github.com/openziti/foundation
https://github.com/openziti/foundation/blob/main/LICENSE
github.com/openziti/identity (Apache-2.0) https://github.com/openziti/identity
https://github.com/openziti/identity/blob/main/LICENSE
github.com/openziti/metrics (Apache-2.0) https://github.com/openziti/metrics
https://github.com/openziti/metrics/blob/main/LICENSE
github.com/openziti/sdk-golang (Apache-2.0) https://github.com/openziti/sdk-golang
https://github.com/openziti/sdk-golang/blob/main/LICENSE
github.com/openziti/secretstream (MIT) https://github.com/openziti/secretstream
https://github.com/openziti/secretstream/blob/main/LICENSE
github.com/openziti/transport/v2 (Apache-2.0) https://github.com/openziti/transport
https://github.com/openziti/transport/blob/main/LICENSE
github.com/orcaman/concurrent-map/v2 (MIT) https://github.com/orcaman/concurrent-map/
https://github.com/orcaman/concurrent-map/blob/master/LICENSE
github.com/panjf2000/ants/v2 (MIT) https://github.com/panjf2000/ants
https://github.com/panjf2000/ants/blob/dev/LICENSE
github.com/parallaxsecond/parsec-client-go (Apache-2.0) https://github.com/parallaxsecond/parsec-client-go
https://github.com/parallaxsecond/parsec-client-go/blob/main/LICENSE
github.com/pkg/errors (BSD-2) https://github.com/pkg/errors
https://github.com/pkg/errors/blob/master/LICENSE
github.com/power-devops/perfstat (MIT) https://github.com/power-devops/perfstat
https://github.com/power-devops/perfstat/blob/main/LICENSE
github.com/shirou/gopsutil/v3 (BSD) https://github.com/shirou/gopsutil
https://github.com/shirou/gopsutil/blob/master/LICENSE
github.com/shoenig/go-m1cpu (Mozilla Public License 2.0) https://github.com/shoenig/go-m1cpu
https://github.com/shoenig/go-m1cpu/blob/main/LICENSE
github.com/sirupsen/logrus (MIT) https://github.com/sirupsen/logrus
https://github.com/sirupsen/logrus/blob/master/LICENSE
github.com/speps/go-hashids (MIT) https://github.com/speps/go-hashids
https://github.com/speps/go-hashids/blob/master/LICENSE
github.com/tklauser/go-sysconf (BSD-3) https://github.com/tklauser/go-sysconf
https://github.com/tklauser/go-sysconf/blob/main/LICENSE
github.com/tklauser/numcpus (Apache-2.0) https://github.com/tklauser/numcpus
https://github.com/tklauser/numcpus/blob/main/LICENSE
github.com/yusufpapurcu/wmi (MIT) https://github.com/yusufpapurcu/wmi/
https://github.com/yusufpapurcu/wmi/blob/master/LICENSE
github.com/zitadel/oidc/v2 (Apache-2.0) https://github.com/zitadel/oidc
https://github.com/zitadel/oidc/blob/main/LICENSE
go.mongodb.org/mongo-driver (Apache-2.0) https://github.com/mongodb/mongo-go-driver
https://github.com/mongodb/mongo-go-driver/blob/v1/LICENSE
go.mozilla.org/pkcs7 (MIT) https://github.com/mozilla-services/pkcs7
https://github.com/mozilla-services/pkcs7/blob/master/LICENSE
go.opentelemetry.io/otel (Apache-2.0) https://github.com/open-telemetry/opentelemetry-go
https://github.com/open-telemetry/opentelemetry-go/blob/main/LICENSE
go.opentelemetry.io/otel/metric (Apache-2.0) https://github.com/open-telemetry/opentelemetry-go
https://github.com/open-telemetry/opentelemetry-go/blob/main/LICENSE
go.opentelemetry.io/otel/trace (Apache-2.0) https://github.com/open-telemetry/opentelemetry-go
https://github.com/open-telemetry/opentelemetry-go/blob/main/LICENSE
golang.org/x/oauth2 (Unspecified) https://cs.opensource.google/go/x/oauth2
https://cs.opensource.google/go/x/oauth2/+/master:LICENSE
golang.org/x/term (Unspecified) https://cs.opensource.google/go/x/term
https://cs.opensource.google/go/x/term/+/master:LICENSE
google.golang.org/genproto/googleapis/rpc (Apache-2.0) https://github.com/googleapis/go-genproto
https://github.com/googleapis/go-genproto/blob/main/LICENSE
gopkg.in/go-jose/go-jose.v2 (Apache 2.0) - https://github.com/go-jose/go-jose
https://github.com/go-jose/go-jose/blob/v2.6.3/LICENSE
nhooyr.io/websocket (ISC) https://github.com/nhooyr/websocket
https://github.com/nhooyr/websocket/blob/master/LICENSE.txt

View File

@ -1,61 +0,0 @@
<a name="EdgeX UART Device Service (found in device-uart) Changelog"></a>
## EdgeX UART Device Service
[Github repository](https://github.com/edgexfoundry/device-uart)
### Change Logs for EdgeX Dependencies
- [device-sdk-go](https://github.com/edgexfoundry/device-sdk-go/blob/main/CHANGELOG.md)
- [go-mod-core-contracts](https://github.com/edgexfoundry/go-mod-core-contracts/blob/main/CHANGELOG.md)
- [go-mod-bootstrap](https://github.com/edgexfoundry/go-mod-bootstrap/blob/main/CHANGELOG.md) (indirect dependency)
- [go-mod-messaging](https://github.com/edgexfoundry/go-mod-messaging/blob/main/CHANGELOG.md) (indirect dependency)
- [go-mod-registry](https://github.com/edgexfoundry/go-mod-registry/blob/main/CHANGELOG.md) (indirect dependency)
- [go-mod-secrets](https://github.com/edgexfoundry/go-mod-secrets/blob/main/CHANGELOG.md) (indirect dependency)
- [go-mod-configuration](https://github.com/edgexfoundry/go-mod-configuration/blob/main/CHANGELOG.md) (indirect dependency)
## [4.0.0] Odessa - 2025-03-12 (Only compatible with the 4.x releases)
### ✨ Features
- Enable PIE support for ASLR and full RELRO ([3ed6416…](https://github.com/edgexfoundry/device-uart/commit/3ed64162fe5da762afcd5902d8c2c408f66a7072))
### ♻ Code Refactoring
- Update module to v4 ([53189c1…](https://github.com/edgexfoundry/device-uart/commit/53189c10332bacaee41a57c005c834aa638a9f96))
```text
BREAKING CHANGE: update go module to v4
```
### 🐛 Bug Fixes
- Only one ldflags flag is allowed ([d3f616b…](https://github.com/edgexfoundry/device-uart/commit/d3f616bb6c298463b0160a7450de9f955e758ebd))
### 👷 Build
- Upgrade to go-1.23, Linter1.61.0 and Alpine 3.20 ([44e0fc2…](https://github.com/edgexfoundry/device-uart/commit/44e0fc2ef96c30d275bce862755fe28b7851df0b))
## [v3.1.0] Napa - 2023-11-15 (Only compatible with the 3.x releases)
### ♻ Code Refactoring
- Remove github.com/pkg/errors from Attribution.txt ([447facf…](https://github.com/edgexfoundry/device-uart/commit/447facfb5636b95224070a3f0c345f144de32824))
### 📖 Documentation
- Add badges to README ([c4a221b…](https://github.com/edgexfoundry/device-uart/commit/c4a221b4730497f9ae59da6e1e9b701d59317945))
### 👷 Build
- Add missing .github files ([591fe36…](https://github.com/edgexfoundry/device-uart/commit/591fe365cb0d0d49483bd116b5c6838462170107))
- Upgrade to go-1.21, Linter1.54.2 and Alpine 3.18 ([a4a961d…](https://github.com/edgexfoundry/device-uart/commit/a4a961d24303d7dc17ca7a8bb4f9bd22d5aa1191))
### 🤖 Continuous Integration
- Add automated release workflow on tag creation ([5089f3c…](https://github.com/edgexfoundry/device-uart/commit/5089f3c862426ed73dedf318d808310baa83536c))

View File

@ -1,9 +0,0 @@
# Governance
Project governance as well as policies, procedures and instructions for contributing to EdgeX Foundry can be found on our Wiki site at the following locations:
- [EdgeX Technical Steering Committee](https://wiki.edgexfoundry.org/pages/viewpage.action?pageId=329436)
- [Contributor's Guide](https://wiki.edgexfoundry.org/display/FA/Contributor%27s+Guide)
- [Contributor's Process](https://wiki.edgexfoundry.org/display/FA/Contributor%27s+Process)
- [Technical Work](https://wiki.edgexfoundry.org/display/FA/Technical+Work+in+the+EdgeX+Foundry+Project)
- [Contributors, Committers & Maintainers](https://wiki.edgexfoundry.org/pages/viewpage.action?pageId=21823860)

View File

@ -1,20 +0,0 @@
//
// Copyright (c) 2023 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
edgeXBuildGoApp (
project: 'device-uart',
buildSnap: false
)

View File

@ -1,201 +0,0 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright 2018 IOTech, Ltd.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

View File

@ -1,8 +0,0 @@
# Repository Owners
This repository is managed by the EdgeX Device Services Working Group. As such, the **Device Services Working Group** chairman is considered the "owner" of the repository and approves all committers of the repository.
See the [project Wiki TSC page](https://wiki.edgexfoundry.org/pages/viewpage.action?pageId=329436#TechnicalSteeringCommittee(TSC)-WorkingGroups) for information on the current EdgeX TSC and who occupies the role of Device Service Working Group chair.
For a complete list of current committers see: https://github.com/orgs/edgexfoundry/teams/device-uart-committers/members.

View File

@ -1,13 +1 @@
# v4.1.1更新内容
## 1. 依赖注入与关注点分离
Driver 只负责协调和生命周期管理,不再直接实现业务逻辑。
CommandService 和 AgentService 独立为单独文件service.go专注于命令分发和透明代理数据处理便于扩展和测试。
所有依赖logger、配置、串口、队列、BLE、消息总线、Service等都通过 main.go 装配层初始化并注入Driver/Service 只持有接口,不负责 new 依赖。
## 2. 回调闭包与上下文保留
串口队列的回调依然通过闭包方式注册Driver 的上下文和状态不会丢失,功能完全兼容。
## 3. 业务逻辑迁移与保留
原有的命令处理、透明代理数据处理等业务逻辑全部迁移到 Service 层,功能未丢失。
Driver 的回调只做转发Service 负责具体业务实现。
## 4. 装配层main.go标准化
main.go 负责所有依赖的初始化和装配,流程清晰、易于维护和测试。
BLE 设备初始化InitializeAsPeripheral已在 main.go 明确调用,保证设备启动流程完整。
# 蓝牙运维代理服务使用说明

Binary file not shown.

View File

@ -1,14 +0,0 @@
# Pre-defined devices
deviceList:
- name: "device-ble"
profileName: "device-ble"
description: "Example of device-ble"
labels:
- uart
- device-ble
protocols:
UART:
deviceLocation: "/dev/ttyS3"
baudRate: 115200
readTimeout: 10

View File

@ -1,4 +0,0 @@
# Ignoring the go.sum file. There are checksum issues with
# different versions of Golang. Remove once all Go versions
# are in sync
go.sum

View File

@ -1,10 +0,0 @@
linters:
disable:
enable:
- gosec
linters-settings:
gosec:
excludes:
# G115: integer overflow conversion
# exclude the rule since it tends to be false positive
- G115

View File

@ -1,25 +0,0 @@
//
// Copyright (c) 2020 Intel Corporation
// Copyright (c) 2020-2023 IOTech Ltd
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
edgeXBuildGoApp (
project: 'device-sdk-go',
dockerImageName: 'device-sdk-simple',
dockerFilePath: 'example/cmd/device-simple/Dockerfile',
pushImage: false,
publishSwaggerDocs: true,
swaggerApiFolders: ['openapi']
)

View File

@ -1,202 +0,0 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright 2017 Dell, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

View File

@ -1,15 +0,0 @@
# Device list for GPS Device Service
deviceList:
- name: "GPS-Device-01"
profileName: "GPS-Device"
description: "GPS Device connected via UART"
labels:
- "gps"
- "uart"
- "location"
protocols:
UART:
deviceLocation: "/dev/ttyUSB0"
baudRate: 9600
dataBits: 8
ReadTimeout: 100 # 单位:毫秒