← Back to team overview

kicad-developers team mailing list archive

Re: update on 3D refactor

 

Hi Bernhard,

That is a good point, that is where I wanted lead the discussion.
Because one thing will be to couple the plugins to the kicad build/release/etc.. so everytime you build kicad.. you build the plugins.. and plugins can only work on the same version as kicad.. IMO that is not true plugins if they are coupled this way..
On the other way (and that is what I meant from 'manage') is that the API/library must be a separated project from kicad and managed with care, so it will allow kicad and plugins work on same base (without other dependencies) and keep the compatibility.

Mario
________________________________________
From: Bernhard Stegmaier [stegmaier@xxxxxxxxxxxxx]
Sent: 29 October 2015 11:21
To: Mário Luzeiro
Cc: Cirilo Bernardo; KiCad Developers; Kicad-developers
Subject: Re: [Kicad-developers] update on 3D refactor

Hi,

actually, if you allow out-of-tree plugins I think it is urgently needed
to separate the headers somehow from the rest of the project (something
like linux and linux-headers packages).
Otherwise, IMHO it is way too easy for non-plugin developers to change
things (maybe even not on purpose) and break plugins.
I have seen variousprojects with such out-of-tree plugins where the
plugin you just need now doesn't work with the latest version of the
program itself, because of API changes...


Regards,
Bernhard

On 2015-10-29 11:43, Mário Luzeiro wrote:
> Hi Cirilo,
>
>>>> - will it be possible to build the plugins without using kicad
>>>> source code? Maybe for some type of plugins it will be easy to have
>>>> an API, but for things related with kicad, it can be an huge library
>>>> or dependencies.
>>> The plugins can be built without the kicad source; all you need are
>>> the correct headers to implement the API.
>> "Plugins only need to include the appropriate API header files; they
>> will not need to link to KiCad or know the details of KiCad's internal
>> data."
>
> The thing is, let say you want to make an export and you need the
> BOARD structure, then you expect that it exists some header files that
> define all items in the BOARD.
> As far as I understand, at the moment, kicad have this structure
> defined in the same place of the implementation and usage in kicad.
> So, there is a no clean library that can be extracted from kicad (a
> library with only its dependencies) and used both by kicad it self and
> by external plugins.
> As we have the things at the moment, you have to use the includes from
> kicad.. and checkout the whole kicad project.
>
> Ideally what I was thinking is that the headers that the plugins can
> use, can be extracted from kicad and an API will be created and kicad
> will use it as an API too.
> So some one that can develop a plugin, only need to checkout the APIs
> and not the full kicad project.
>
> Mario
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp


References