Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is there any interest to add profile based on BUCK projects in Sparo currently it supports rush projects only right #91

Open
SSanjeevi opened this issue Oct 9, 2024 · 4 comments

Comments

@SSanjeevi
Copy link

Is there any interest to add profile based on BUCK projects in Sparo currently it supports rush projects only right

If we add a feature in Sparo to use BUCK files to create Sparo profile and so that any git repo with sparo installed will help us download the repo with benefits of Sparo - sparse checkout which will increase the performance of git operations for a mono repo.

It will download files which are linked to the buck files reference and so no need of cloning whole mono repo instead the profile with list of BUCK projects we mention in Sparo profile only will be cloned and downloaded making the git operations very faster saving developer time and make productive.

BUCK is a great tool for Mono repo, if we add support for SParo project profile settings based on BUCK file then it will solve another greater problem.

what you guys think?

Please vote with 👍 for this issue if you like the idea and want it to be implemented for great use case.

@chengcyber
Copy link
Member

chengcyber commented Oct 10, 2024

Hey @SSanjeevi , thank you for bringing this topic to us!

For Sparo,
Technically, we can refactor codebase to introduce something like "monorepo tool" abstraction. By doing this, I believe Sparo could be more flexible to support other monorepo tools such as BUCK, which will solve greater problem as you suggest.

For BUCK,
I am new to BUCK. When I search BUCK, it brings me to the META's project BUCK. I suppose it's the right thing you are pointing to.

It seems that BUCK, the original build tool, is indeed marked as "no longer actively maintained" on the official site(https://buck.build/), with the recommendation to transition to Buck2​. Buck2 is being positioned as the faster, more reliable successor, but you may notice that it is currently labeled as “unstable and developer edition”​(https://buck2.build/). This creates a tricky situation for me trying to decide where to invest the efforts.

@SSanjeevi
Copy link
Author

Hey @chengcyber,
Yes, that's the one i was describing about. buck2 is the one new - it will be better if we support buck2. Since the buck will be deprecated and no longer maintained actively.

@octogonz
Copy link
Member

if we add support for SParo project profile settings based on BUCK file then it will solve another greater problem.

Could you share a link to the specification for BUCK files?

@SSanjeevi
Copy link
Author

SSanjeevi commented Oct 25, 2024

There is a buck command to find all dependencies, hope it's same for buck2.

https://buck.build/command/query.html
buck query deps

The above query should return list of folders linked to a buck project file, then we need to update those folder lists in the sparo profile this should be done on every some command which we can run before running git checkout or pull

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

No branches or pull requests

3 participants