Skip to content

feat: add flexible dependency source resolution#259

Open
suxiaogang223 wants to merge 9 commits intoalibaba:mainfrom
suxiaogang223:codex/issue-103-dependency-source
Open

feat: add flexible dependency source resolution#259
suxiaogang223 wants to merge 9 commits intoalibaba:mainfrom
suxiaogang223:codex/issue-103-dependency-source

Conversation

@suxiaogang223
Copy link
Copy Markdown
Contributor

Purpose

Linked issue: close #103

This PR introduces a flexible dependency source resolution interface for selected third-party dependencies.

It adds:

  • PAIMON_DEPENDENCY_SOURCE=AUTO|BUNDLED|SYSTEM
  • per-dependency *_SOURCE overrides
  • PAIMON_PACKAGE_PREFIX
  • compatibility FindXxxAlt.cmake modules
  • a centralized dependency resolution summary
  • target-based include propagation cleanup for ORC/Avro format targets

Package-manager-specific modes are intentionally left out of this first PR and should be discussed separately.

Tests

Fedora:

  • cmake -S . -B build-scope-bundled -DPAIMON_DEPENDENCY_SOURCE=BUNDLED
  • cmake --build build-scope-bundled -j$(nproc)
  • cmake -S . -B build-scope-auto -DPAIMON_DEPENDENCY_SOURCE=AUTO
  • cmake --build build-scope-auto -j$(nproc)
  • cmake -S . -B build-scope-tests -DPAIMON_DEPENDENCY_SOURCE=BUNDLED -DPAIMON_BUILD_TESTS=ON
  • cmake --build build-scope-tests --target paimon-tests -j$(nproc)

Also verified invalid dependency source values are rejected by configure-time validation.

API and Format

No storage format or public C++ API changes.

Documentation

Updated README and building docs for dependency source configuration.

Generative AI tooling

Generated-by: OpenAI Codex

@suxiaogang223 suxiaogang223 force-pushed the codex/issue-103-dependency-source branch from 2b78054 to bfd2720 Compare April 30, 2026 07:23
@suxiaogang223
Copy link
Copy Markdown
Contributor Author

@zjw1111 Hi, could you help review this PR when you have time?

This PR now focuses on flexible dependency source resolution and the sanitizer CI issue has been fixed in the latest commit. The remaining follow-up work and broader design discussion will be tracked in #260, so we can keep this PR scoped and easier to review.

Thanks.🤓

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature] Flexible Third-Party Dependency Management System

1 participant