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

support user-defined plugins #11

Closed
oconnor663 opened this issue Jul 1, 2014 · 4 comments
Closed

support user-defined plugins #11

oconnor663 opened this issue Jul 1, 2014 · 4 comments

Comments

@oconnor663
Copy link
Member

Maybe support a plugins: field in peru.yaml, given as a path or a list of paths.

@oconnor663
Copy link
Member Author

Ideally we'd like to be able to let the user import plugin definitions. (Like say, cloning down a github repository that defines a new peru plugin.) That will be tricky, because right now we construct import trees all at once, and the imports that use this custom plugin type will be errors ("plugin foo not found") before the imports that define the plugin are visible.

Doing imports in multiple stages sounds hacky, but it could work. We could also unpack plugins "in space" in a special step before we run the real fetch. That would have the major downside of needing to unpack the plugin every time a fetch is done. Maybe the .peru dir could have a special spot for unpacked plugins, to keep them around?

NOTE: This is similar to the problem that comes up when we think about "environment variable imports." The issue there is that the tmp dir containing the imported files needs to be constructed every time a build is run, because there's no guarantee that the last build didn't modify the files. That feels scandalously inefficient. Is there a way to have peru create a directory that's impossible to modify?

@oconnor663
Copy link
Member Author

To clarify, that would be importing new plugins inside the current project, not installing them somewhere permanent on the user's system.

@oconnor663
Copy link
Member Author

https://phabricator.buildinspace.com/D27 adds the plugins: field, but we're punting on any kind of special fetching. Peru is sometimes maybe better than copy-paste, but not necessarily this time.

@oconnor663
Copy link
Member Author

275e8fc

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

1 participant