I’d like to build a C++ shared library making use of some external dependencies (delivered from Artifactory) on Windows (where those external dependencies are shared libraries). However the documentation (http://www.gradle.org/docs/current/userguide/cpp.html, section 54.8.1) appears to be unix-specific: in particular, the .lib file that is required for linking against shared libraries by Windows is not covered at all.
What classifier should this lib file have? And on Windows, does the cpp plugin expect the dll to actually be called “.dll” in the repository, with classifier “dll”?
External dependencies are not yet supported on Windows, and are only marginally supported on *nix. We’re first working on getting inter-project and intra-project dependencies working (with full variant support), and later we’ll get this working for external dependencies as well.
Thank you for the clarification. (The reason why this is particularly important to me is because of our use of some external open source libraries (e.g., Boost), which I do not want to spend time converting to gradle for building from source; my plan was to manually upload the necessary artifacts to our Artifactory instance and depend on them from there.)
Do you have an approximate timescale for development of this feature? Unfortunately this blocks our adoption of the cpp-plugin for our build as we cannot even experiment with our production code without those dependencies.
This is pretty high on the priority list, and something we’re actively working on. But I can’t give any expected timeframe for delivery.
Following up on this topic…what is the current status? We’re still keen to do this if we can.
To be a little more specific, looking at https://github.com/gradle/gradle/blob/master/design-docs/continuous-delivery-for-c-plus-plus.md#story-allow-library-binaries-to-be-used-as-input-to-other-libraries the user stories we need are:
Story: Publish and resolve shared libraries Story: Allow library binaries to be used as input to other libraries