Documentation
¶
Overview ¶
Package engineconfinement держит ЭТО дерево: стек JOSE внесённого движка OAuth2 не выходит за корень поддерева `internal/oauth2/` (приёмка F1, сценарий `F1-51`).
Зачем свой пакет ¶
Разбор заключения импортов — общий, он живёт в github.com/PRO-Robotech/corelib/treehygiene и зовётся каждым деревом со своим правилом. Правило же — утверждение о составе КОНКРЕТНОГО дерева: только здесь лежит поддерево, и только здесь его стек законен под одним корнем. Держать это утверждение в общем пакете значило бы раздавать потребителям правило о чужом дереве.
Рабочего кода в пакете нет: его предмет — проба по дереву (`confinement_test.go`), а этот файл нужен, чтобы каталог был пакетом и попадал в `go test ./...` конвейера.
Что утверждается ¶
- импорт стека JOSE движка — go-jose под КАЖДЫМ опубликованным путём (`github.com/go-jose/go-jose` всех мажорных версий, `gopkg.in/go-jose/go-jose.*`, прежние `gopkg.in/square/go-jose.*` и `github.com/square/go-jose`) и `github.com/cristalhq/jwt` — стоит только в файлах под `internal/oauth2/`; в том числе в пробах и в файлах под ограничениями сборки. Перечень путей выведен опросом прокси модулей, а не записан по памяти (`forms_test.go`). Путь сравнивается без учёта регистра: прокси отдаёт те же модули и под `github.com/Square/go-jose`, `gopkg.in/Go-Jose/go-jose.v2` и подобными написаниями;
- в обратную сторону поддерево не импортирует `github.com/golang-jwt/jwt` — стек подписанта токенов платформы: стеки не смешиваются;
- импортёров стека ВНУТРИ поддерева больше нуля: ноль означал бы, что движок потерял стек или обход слеп, и «вне поддерева ноль» перестало бы что-либо значить;
- число прочитанных файлов `.go` равно числу отслеживаемых файлов `.go`, посчитанному другим выражением (`git ls-files -- '*.go'`).