gradle / gradle/gradle-native

Support for libraries without public headers

Open
#451 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
No language data
Stars
94
Forks
7
PR merge metrics
No merged PRs in 30d

Description

The Gradle C++ library currently requires that a library has at least one public header file to build the cpp-api-headers zip. Not all libraries may provide a public API in this way.

Some examples include:
- A library that is loaded solely at runtime and implements an interface provided by an external dependency (e.g., a common "plugin" system)
- A library that is loaded at runtime and implements an interface described by something other than header files (e.g., a jar + JNI library)
- A library that shims another library so that it appears to be the other one

Contributor guide

Open the contributing guide

Research direction

Start by tracing the Gradle C++ library logic that requires a public header and produces the cpp-api-headers zip. Compare that path with the plugin, JNI, and shim examples described in the issue. Done means libraries without public headers can build without being rejected solely for lacking that zip.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
build-system
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.