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

Quartz CLI tool callable from subdirs #164

Open
1 task
dangush opened this issue Aug 17, 2024 · 1 comment
Open
1 task

Quartz CLI tool callable from subdirs #164

dangush opened this issue Aug 17, 2024 · 1 comment

Comments

@dangush
Copy link
Contributor

dangush commented Aug 17, 2024

Summary

There's various fallout effects that have been adding up from the quartz cli not having a deeper awareness of the quartz app that it's being called on.

Issues relating to this include:

  1. The quartz cli has no guarantees around the file location of contract and enclave binaries nor those directories in general. This requires the user to submit bulky manifest file paths to commands such as the build ones.
  2. With no easy to access / configure name associated with a quartz app, it becomes hard to design a system for categorizing and differentiating cached files across quartz apps
  3. Currently the cli does not support being called from within subdirectories of an app. Solving this means scanning the cwd path to see what quartz project its in, but this is hard to do without project names.
    • this may be easy to solve without other changes actually

Designs

Some directions for architectural improvement

  1. Setting up a quartz app root repo as a workspace, inheriting project name and other information about project structure from the Cargo.toml

    • standardizes the target directory which makes filepaths to binaries simpler
    • may not be possible given the different build targets of contracts and enclave, my memory is telling me there's something related to this to consider but I need to recall what it is
  2. Designing logic for traversing the contracts/ folder in order to handle instances of multiple contract packages. This would likely be similar to forge's logic to finding all test files

I will get back to thinking and writing about this, am tired rn but wanted to get this rolling

Acceptance Criteria

  • mtcs and transfers can both be used by the quartz cli with no problems and minimum user effort
@dangush
Copy link
Contributor Author

dangush commented Aug 21, 2024

Issues 1 & 2 have been addressed by moving the .cache folder into the quartz app directory.

Issue 3 still needs to be addressed.

Keeping this issue in backlog till I think of the implementation details for how to address it.

@dangush dangush changed the title [draft] Quartz CLI: Project independent functionality Quartz CLI tool callable from subdirs Sep 5, 2024
@ebuchman ebuchman added this to the Next Release milestone Oct 2, 2024
@ebuchman ebuchman removed this from the Next Release milestone Nov 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants