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

Reply via email to