golang disable "использование внутренней упаковки не допускается"
У меня есть программа go, которая проверяет большой репозиторий, выбирает некоторые интересующие пакеты и затем генерирует новый файл main.go, который имеет:
import(
_ (package of interest here)
_ (another package of interest here)
...
)
func main() {...}
Основные заинтересованы в некоторых значениях, которые эти пакеты устанавливают в их методе init
.
Однако некоторые из этих пакетов имеют (...)/внутренние/(...) пути и поэтому я use of internal package not allowed
при попытке запуска сгенерированного main.go.
Есть ли какой-нибудь флаг компилятора/компоновщика/другого, который отключает проверку internal
пути?
Ответы
Ответ 1
Импорт пути, содержащего элемент "internal", запрещен, если код импорта находится за пределами дерева, корневого в родительском "внутреннем" каталоге. Механизма исключений нет. В частности, по дизайну не существует механизма ACL, позволяющего использовать белый список других пакетов для использования внутреннего пакета.
Предложение по правилу
Ответ 2
Но если я хочу использовать "внутренний/опрос", что мне делать?