forked from coala/projects
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
coala/coala-eclipse#25 is replaced with coala/coala-eclipse#51. coala/coala-emacs#11 is removed. emacs from the project body is also removed. Fixes coala#652
- Loading branch information
1 parent
b9e2776
commit d7db599
Showing
1 changed file
with
90 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,90 @@ | ||
--- | ||
collaborating_projects: | ||
- coala | ||
status: in_progress | ||
desc: "Develop an efficient strategy that allows coala to maintain a number of plugins for different editors." | ||
difficulty: medium | ||
initiatives: | ||
- GSoC | ||
- RGSoC | ||
issues: | ||
- "https://github.com/coala/coala-atom/issues/37" | ||
- "https://github.com/coala/coala-eclipse/issues/51" | ||
- "https://github.com/coala/coala-vim/issues/24" | ||
- "https://github.com/coala/coala-gedit/issues/5" | ||
- "https://github.com/coala/coala-sublime/issues/4" | ||
markdown: editor_support.md | ||
mentors: | ||
- AbdealiJK | ||
- fneu | ||
name: "Cohesive Editor Support" | ||
requirements: | ||
- "The proposal has to provide a convincing strategy for testing, documentation and maintaining editor plugins" | ||
- "The applicant should have one patch accepted to any of the coala plugins." | ||
tags: | ||
- Editors | ||
- Plugins | ||
--- | ||
coala features quite a few editor plugins already, none of which are | ||
*supported* by the definition of having regular continuous integration and | ||
tests running to ensure its functionality. The goal of this project is to | ||
plan, introduce and configure a testing routine that allows coala to ensure | ||
the functioning of its editor plugins at all times. Presently, the lack of a | ||
proper testing environment leads to the breakdowns of plugins going unnoticed. | ||
A viable approach might be to set up weekly tests for the current editor | ||
plugins. | ||
|
||
The goal is to develop an efficient strategy that allows coala to maintain a | ||
number of plugins for different editors. This would not only benefit coala by | ||
attracting more developers as the plugins across various platforms will be | ||
widely used, but it would also benefit the end-users by giving them a working | ||
linter plugin across their favourite editors which are easily maintained and | ||
tested regularly with the latest build of coala. | ||
|
||
For sublime, we'll be using the | ||
[unittest plugin](https://github.com/randy3k/UnitTesting) | ||
which is a plugin by itself. | ||
For atom, we have the apm testing architecture | ||
which does not require a GUI. | ||
For VI, we will most likely use a testing framework such as | ||
[Vimcasts](https://github.com/kana/vim-vspec). | ||
For some editors like gedit, running tests is not easy and | ||
there is no api to do it. In such cases we would want to use | ||
[dogtail](https://fedorahosted.org/dogtail/) | ||
(a GUI tester) or a similar tool to do this. | ||
|
||
We will have to explore the possibility of having a single git repository for | ||
atom, sublime-text and vim as it will ultimately be easier to maintain in the | ||
long run and will have a proper CI, which can be easily managed. Issues will | ||
be raised more frequently as a result of this. | ||
|
||
Documentation which isn't available at the moment will have to describe the | ||
usage details of existing plugins, we can have asciicinemas or gifs of the | ||
entire process from installation to examples of the plugins in action. | ||
Documentation can also be created for future plugins, and on the basis of the | ||
tests which will be written for the existing ones, it'll be easier to test | ||
the future plugins. This will result in a clear cut path of creating plugins | ||
for coala. | ||
|
||
|
||
#### MILESTONES | ||
|
||
##### PREPARATION/BONDING | ||
|
||
* A cEP for the testing, documentation and maintaining strategy has been merged. | ||
|
||
##### CODING PHASE 1 | ||
|
||
* The testing strategy has been set up for coala. | ||
* At least one of coala's editor plugins is continually tested. | ||
|
||
##### CODING PHASE 2 | ||
|
||
* Documentation and tutorials showing the usage of existing plugins is | ||
available. | ||
* Maintaining strategy is placed into effect. | ||
|
||
##### CODING PHASE 3 | ||
|
||
* At least three of coala's editor plugins are continually tested. | ||
* Documentation is available to easily set up testing for future editor plugins. |