Commit Graph

4 Commits

Author SHA1 Message Date
Jack O'Connor e856b7fc78 use `sync` instead of `fetch` in the plugin interface
Summary:
This makes the plugin interface easier to understand. There are lots of
instances where we still use "fetch" to describe what's going on, but
this diff at least gets all the meaningful constants in the interface.

Reviewers: sean

Reviewed By: sean

Subscribers: sean

Differential Revision: https://phabricator.buildinspace.com/D170
2015-01-13 17:22:43 -08:00
Jack O'Connor a58c1b6a19 add PERU_PLUGIN_TMP to the plugin interface
Summary:
Doing tar and zip unpacking looks like it's going to need temporary
files. We could expect plugins to use the global temp dir, but so far
we've been trying to avoid that. @sean let me know what you think.

Reviewers: sean

Reviewed By: sean

Subscribers: sean

Differential Revision: https://phabricator.buildinspace.com/D153
2015-01-04 17:12:06 -08:00
Jack O'Connor f91dd4c936 support user-defined plugins
Summary:
Add search directories for plugins. On Linux/Mac we use:

1. `$XDG_CONFIG_HOME/peru/plugins`
2. `/usr/local/lib/peru/plugins`
3. `/usr/lib/peru/plugins`

And on Windows it's:

1. `%LOCALAPPDATA%\peru\plugins`
2. `%PROGRAMFILES%\peru\plugins`

Get rid of the old rule that says you can't override existing plugins --
that was from back when we allowed individual projects to provide their
own plugins, which we no longer do.

Test Plan:
We had some old testing logic for custom plugin paths, even though that
feature had been mostly removed. Repurpose that test to load plugins
from a fake home directory. Manually test on Windows.

Reviewers: sean

Reviewed By: sean

Differential Revision: https://phabricator.buildinspace.com/D141
2014-12-17 14:19:14 -08:00
Jack O'Connor a4305d4518 create docs/architecture.md
Summary:
A first shot at documenting how peru works internally, particularly the
plugin interface.

Reviewers: sean

Reviewed By: sean

Differential Revision: https://phabricator.buildinspace.com/D139
2014-12-08 10:50:59 -06:00