Hi, I would recommend to build a plc4go-spi module similar to what we have in java to keep the core plc4go clean of non api code.
Sebastian On 2021/07/26 14:46:36, Christofer Dutz <[email protected]> wrote: > Hi all, > > today I stubled over something. > > One of the USPs of PLC4X is, that you can use all of the existing drivers, > but if you need a special one (one that doesn't exist or one you don't want > to open-source) you implement it yourself. > With Java this works great. > > With Go we currently have a problem. > > In go things located in an "internal" directory is internal and can't be used > outside. > "api" is indended for stuff that is intended for outside usage. > > The problem is, that SPI is in the "internal" folder and therefore isn't > available outside of PLC4X. This sort of sucks. > > Now I have seen other projects, that have an "api" and "internal" directory, > but also have other folder names for stuff that's not API but should be > accessible from the outside. > > I would therefore propose to move the stuff we need to give driver-developers > access to into an "spi" folder in the root. > > The only other alternative I would see, would be to split the project into > multiple go modules where then the spi would effectively be in the "api" > directory of another module. > > What do you think? > > > Chris >
