Dependency management for native builds

Slightly off-topic, but I would like to know what people do (or plan to do) for dependency management for native builds. Understandably this is not as easy as to what one gets used to (and even take for granted) with Maven/Ivy for JVM-base languages.

Although one can do

sources {
    main {
        cpp {
            lib libraries.hello
        }
    }
}

it still has to find the ‘hello’ library somewhere. Typically now one has to download it manually (Or install it on the system by whichever means appropriate to the platform).

On the dependency management side I would love to see something like

dependencies {
 cpp group: 'world', module : 'hello', version : '1.1.3', ext : 'tar.gz', platform: nativePlatform()
}

which will pull the binaries from a repo.

Is anyone working on some ideas around this?

It’s in the plans, but it’s not completed. There are several design docs if you’d like to take a look:

https://github.com/gradle/gradle/blob/master/design-docs/continuous-delivery-for-c-plus-plus.md#story-publish-and-resolve-shared-libraries

https://github.com/gradle/gradle/blob/master/design-docs/dependency-management.md

https://github.com/gradle/gradle/blob/master/design-docs/dependency-model.md

Thanks Sterling.

What would be the easiest way of providing feedback on the docs?

Good question, I’d send any comments you have to the gradle-dev list: https://groups.google.com/forum/#!forum/gradle-dev

That works for me.