Можно ли поменять библиотеку, используемую двоичным файлом, с оберткой при создании стороннего ящика? - PullRequest
0 голосов
/ 16 мая 2019

Скажем, существует сторонний грузовой проект, состоящий из сторонних поставщиков, состоящий из библиотеки plem и двоичного файла plem_main, который я хочу расширить с помощью некоторых своих собственных функций.Важно отметить, что функциональность должна идти в библиотеке plem, а не в двоичном plem_main (который может остаться прежним).Я мог бы написать оболочку my_plem вокруг библиотеки, которая предлагает тот же интерфейс для двоичного файла, но с включенной дополнительной функциональностью.Проект будет настроен так:

.
├── Cargo.toml
├── my_plem
│   ├── Cargo.toml
│   └── src
│       └── lib.rs
└── third-party
    ├── plem
    │   ├── Cargo.toml
    │   └── src
    │       └── lib.rs
    └── plem_main
        ├── Cargo.toml
        └── src
            └── main.rs

my_plem/src/lib.rs будет зависеть от вещей в third-party/plem/src/lib.rs и переэкспортировать или перезаписать функции, экспортируемые последним.Есть ли хороший способ получить груз для построения двоичного файла plem_main поверх my_plem вместо plem?

«Наилучшее» здесь означает, что решение не имеет или имеет минимальные конфликты слияния при обновлении plem в моем проекте и не дублирует код plem_main.В идеале это вообще не касается сторонних производителей.

...