rules_graalvm icon indicating copy to clipboard operation
rules_graalvm copied to clipboard

feat: shared headers, `rules_cc` support

Open sgammon opened this issue 1 year ago • 2 comments

Summary

This changeset adds out_headers and additional_outputs, which, together, allow a developer to add additional outputs to a regular native_image build.

Because a header is generated per C entrypoint class, the developer needs to be able to declare as many as they want.

Additionally, a CcInfo provider needs to be returned from the native_image target to facilitate downsream support for rules_cc targets.

Tasklist

  • [ ] #250
  • [ ] #249
  • [x] #248
  • [x] #247
  • [ ] #246
  • [x] #245
  • [x] #244
  • [x] #243
  • [x] #121

Related PRs and issues:

  • #217
  • #216
  • #85

Other changes enclosed:

  • [x] Initial support for rules_cc use downstream
  • [x] File-based attributes now have multi-label alternatives
  • [x] Debug builds now keep symbols and activate source-level debugging by default
  • [ ] New strict attribute applies latest strictness flags

Changelog

  • feat: add additional_outputs attribute
  • feat: add default_outputs attribute to opt-out of new behavior
  • feat: resolve and add appropriate CcInfo to shared library targets
  • feat: implement new native_image_shared_library rule
  • feat: implement output groups
  • feat: implement support for neverlink libs
  • feat: implement multi-label config attributes
  • feat: integrate graalvm build sandbox with bazel
  • feat: support for $(location ...) expansion
  • feat: support for make var expansion
  • fix: include data attribute in direct inputs
  • fix: provide GRAALVM_HOME to native-image build

sgammon avatar Jan 02 '24 05:01 sgammon

Dependency Review

✅ No vulnerabilities or license issues found.

Snapshot Warnings

⚠️: No snapshots were found for the head SHA 454dc5c41ddf4a930cb5664eb9983568bcce9ce7.
Ensure that dependencies are being submitted on PR branches and consider enabling retry-on-snapshot-warnings. See the documentation for more information and troubleshooting advice.

Scanned Manifest Files

github-actions[bot] avatar Jan 13 '24 07:01 github-actions[bot]

Quality Gate Passed Quality Gate passed

Kudos, no new issues were introduced!

0 New issues
0 Security Hotspots
No data about Coverage
No data about Duplication

See analysis details on SonarCloud

sonarqubecloud[bot] avatar Jan 25 '24 22:01 sonarqubecloud[bot]

closing for now until there is more energy behind this feature (it needs a rebase anyway)

sgammon avatar Sep 29 '24 20:09 sgammon