I am new in using gradle. My main build targets are c/c++ and java on windows, linux and android (and maybe iOS or other embedded platforms). I started with c++ projects using cpp-library/cpp-application plugin. My previous approach was implemented using make for c/c++ that is a very specific implementation solving my build issue.
My first test was ok with a nice lerning curve. Now I am stucked with building android libraries. The current ways to do it are based on ndk-build OR cmake (at least what I found in the internet and or on github). In my implementation using make I used the standalone toolchain and treated android as a different clang compiler. So it looks like that gradle does not have such support for this toolchain by default. My question/discussion would be:
Is it possible to write a tool chain implementation?
If it is possible how can I do it?
It is possible but would be a bit complicated to achieve with
cpp-application. I believe it would be a bit easier with the Nokee plugins (https://nokee.dev) but you may still hit some road block which I can help move through them (as the owner of those plugins). Using the old, soon to be deprecated, software model plugin is definitely possible but your would have to work through consuming the native binaries as the old software model plugins are using a different dependency engine (it is possible to adapt to make it work with the normal dependency engine). It’s basically a choose which issue you want to work on ;-)… Unfortunately for the moment. My preference would be using Nokee plugins as I’m actively working on them and can make the required change to work through your issue.
Thanks for your reply. Checked nokee plugins. It looks like it provides the same functionality as the new cpp-library/cpp-application. From documentation it looks like gradle implemented the plugin…
Thanks, I appreciate the great comment. I was a Gradle core engineer, now I work full-time on Nokee and related services. It’s on purpose for the plugins to be as close quality as the core Gradle plugins. The feature are similar at the moment. Some features are being polished for the upcoming release. Those unreleased features are available in the nightly build.
I would try nokee at the moment because it provides plugins for c. Is there any (public) api to build an own toolchain?
Sorry for the late reply Marka. Nokee still uses the Software Model APIs. Everything here should still apply: Building native software