Plugin Source Repositories on GitHub
Posted: Wed Nov 13, 2013 4:23 pm
After much discussion, we've decided to host/sponsor a GitHub account that will be used to host Indigo plugin sources. The primary driving factor is to have a place to allow continued community development of abandoned plugins (with the author's permission of course). However, a plugin need not be abandoned by the author to reside in this account: anyone building a plugin that wants to allow community contributions can ask to have a plugin added to the repository and we'll create the repo for them. If you're a developer and want to add your plugin, just send us an email to developer DASH relations AT perceptiveautomation DOT com and we'll coordinate getting the repo created.
For abandoned plugins, we'll moderate the repo until such time as we can identify a developer to delegate the responsibility to. We will do very minimal moderation though - aside from a quick glance at the diff to make sure there doesn't appear to be anything untoward we'll accept pretty much all pull requests that have a good description of the change.
For plugins from developers who wish to stay involved with the plugin, we'll assign full control over the repo to them. They can add other moderators as they see fit.
Note that we've created a new forum for Open Sourced plugins - we'd like to try and keep that to one thread per plugin if possible.
We hope this will continue to foster plugin growth and contribution.
There are two uses for the repositories: to allow users to get the plugins and for developers to contribute to plugins. The Readme file for each plugin will address each scenario, but it's pretty much the same for all plugins. To get a plugin to use, you just click on the plugin's repository then click the "Download ZIP". This will download a zip file with the Readme file and the plugin. Unzip (if your browser doesn't do it for you) and double-click the indigoPlugin file to have Indigo install it.
To contribute, just create your own branch, make the changes, then issue a pull request with a thorough description of what you're changing/adding. Of course, if you're a repo manager then you'll just commit your changes and push them up to GitHub and they'll automatically be available. When you commit changes or pull requests, make sure that the version number gets appropriately updated in the Info.plist file. Once the commit is complete, create a new release in the GitHub repository with that version number (i.e. v1.2.3) so that people can revert to it later if necessary.
And for those who are really paying attention, the name of the account does hold some significance and will be revealed in the fullness of time (so please don't bother asking)…
For abandoned plugins, we'll moderate the repo until such time as we can identify a developer to delegate the responsibility to. We will do very minimal moderation though - aside from a quick glance at the diff to make sure there doesn't appear to be anything untoward we'll accept pretty much all pull requests that have a good description of the change.
For plugins from developers who wish to stay involved with the plugin, we'll assign full control over the repo to them. They can add other moderators as they see fit.
Note that we've created a new forum for Open Sourced plugins - we'd like to try and keep that to one thread per plugin if possible.
We hope this will continue to foster plugin growth and contribution.
There are two uses for the repositories: to allow users to get the plugins and for developers to contribute to plugins. The Readme file for each plugin will address each scenario, but it's pretty much the same for all plugins. To get a plugin to use, you just click on the plugin's repository then click the "Download ZIP". This will download a zip file with the Readme file and the plugin. Unzip (if your browser doesn't do it for you) and double-click the indigoPlugin file to have Indigo install it.
To contribute, just create your own branch, make the changes, then issue a pull request with a thorough description of what you're changing/adding. Of course, if you're a repo manager then you'll just commit your changes and push them up to GitHub and they'll automatically be available. When you commit changes or pull requests, make sure that the version number gets appropriately updated in the Info.plist file. Once the commit is complete, create a new release in the GitHub repository with that version number (i.e. v1.2.3) so that people can revert to it later if necessary.
And for those who are really paying attention, the name of the account does hold some significance and will be revealed in the fullness of time (so please don't bother asking)…