Another approach is to import the libraries into a vendor branch in your
project including the header files and everything else required for build.
Every time this protected library is rebuild you import the bins again into the
vendor branch. It is a good advice to always create a new folder in SVN for
each version:
/vendor/my_company/protected_lib/0.1
/vendor/my_company/protected_lib/0.2
/vendor/my_company/protected_lib/0.2.1
In your external you reference a specific version. This does not mess up your
tags if you import a new version.
Torge
Am 24.03.2014 14:06, schrieb Markus Schaber:
Hi, David,
Von: David Aldrich [mailto:david.aldr...@emea.nec.com]
We develop a Visual C++ project that, in one project configuration, uses a
small vendor library that is subject to export control. This means that we
can't let all developers on the project see that library. Everyone can build
with some build configurations but only some developers can build with that
sensitive configuration.
The project source code is stored in a dedicated svn repository. We have
chosen not to store the vendor library with our source code because we don't
want the hassle of maintaining svn permissions for the library across trunk and
branches. So we just instruct the developers who need the library to unzip the
library straight into the working copy. This is inelegant and I am looking for
a better solution.
I guess the obvious solution is to use a 'svn external' to retrieve the vendor
library from another svn repo or project. We can then tighten the permissions
on the vendor library svn project. But what would happen to developers of the
main project if they couldn't access the vendor library? Would the external
reference fail gracefully or would the checkout fail?
Each checkout and update will by itself complete, but return a non-zero error
code and error messages due to the failed external reference.
I would be grateful for suggestions on how best to handle this problem.
In my eyes, the obvious solution is to fetch the vendor library via the build scripts (in
exactly those configurations which need it). If your build mechanism does not have
integrated SVN support, you can just use "svn checkout / svn update" commands
via shell, depending on whether the directory already exists or not.
Best regards
Markus Schaber
CODESYS(r) a trademark of 3S-Smart Software Solutions GmbH
Inspiring Automation Solutions
________________________________________
3S-Smart Software Solutions GmbH
Dipl.-Inf. Markus Schaber | Product Development Core Technology
Memminger Str. 151 | 87439 Kempten | Germany
Tel. +49-831-54031-979 | Fax +49-831-54031-50
E-Mail: m.scha...@codesys.com | Web: codesys.com | CODESYS store:
store.codesys.com
CODESYS forum: forum.codesys.com
Managing Directors: Dipl.Inf. Dieter Hess, Dipl.Inf. Manfred Werner | Trade
register: Kempten HRB 6186 | Tax ID No.: DE 167014915