У меня есть список плагинов в поддиректории.Я хочу собрать их всех одной командой.Вот пример макета dir.
plugins/cat/cat.go
plugins/dog/dog.go
plugins/cow/cow.go
Я создаю их прямо сейчас, как:
go build -i -buildmode=plugin -o build/cat.so plugins/cat/cat.go
go build -i -buildmode=plugin -o build/dog.so plugins/dog/dog.go
go build -i -buildmode=plugin -o build/cow.so plugins/cow/cow.go
Есть другая команда (потому что она находится в Makefile), которая помогает мне получитьближе:
# Ex.: make bin-so TARGET=cat
bin-so: builddir
go build -i -buildmode=plugin -o build/$(TARGET).so plugins/$(TARGET)/$(TARGET).go
Я хочу создать одну строку, которая строит эти плагины.Я узнал, как я могу перечислить имена папок, но я должен как-то использовать его в приведенной выше команде.
find ./plugins -mindepth 1 -maxdepth 1 -type d | awk 'sub(/^.*\//, "")'
Так что он будет перечислять названия папок, это хорошо для меня, но яЯ должен перенаправить его на команду построителя плагинов.
Я хочу иметь что-то похожее (просто пример):
find ./plugins -mindepth 1 -maxdepth 1 -type d | awk 'sub(/^.*\//, "")' | go build -i -buildmode=plugin -o build/$1).so plugins/$1/$1.go