You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by Kami <gi...@git.apache.org> on 2016/04/23 15:56:36 UTC

[GitHub] libcloud pull request: [WIP] Lint script for checking driver compl...

GitHub user Kami opened a pull request:

    https://github.com/apache/libcloud/pull/774

    [WIP] Lint script for checking driver compliance to the base / standard Libcloud API and quality checking

    This pull request works on the great initial work and idea from @Jc2k (#211).
    
    ## Background
    
    I've talked with @tonybaloney the other day on how we could make the library better and more user-friendly. Usually the biggest problem and "unfriendliness" is when the driver doesn't fully comply to the base API. From a high level perspective those small things (e.g. argument is missing an `ex_` prefix, etc.) don't seen like a big deal, but they actually are (death by the thousand cuts).
    
    This causes problems because it makes building truly provider agnostic applications harder and means that user needs to build another layer on top of Libcloud which handles those differences and this makes the library less attracting (hey, Libcloud is supposed to abstract those differences away!).
    
    As of now, we do this "compliance against the base / standard API" checking manually during code reviews. Obviously manual process is error prone and wastes a tons of time which could be spend on reviewing things which actually add value.
    
    I think the first step for improving the quality is having a script and automated check (linter or whatever you might call it) which runs on every commit and reports all the violations.
    
    ## TODO
    
    - [ ] Finish it up (still tons of work and refactoring to be done)
    - [ ] Hook it up to the CI (start with the existing warnings not being fatal)
    - [ ] Start fixing and improving the existing code (not part of this PR)
    


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/apache/libcloud api_compliance_and_quality_checking_script

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/libcloud/pull/774.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #774
    
----
commit 67fded3c1acc01b87e4f1b214dfbe40bc9b0249d
Author: John Carr <jo...@unrouted.co.uk>
Date:   2013-12-27T17:17:04Z

    Proof of concept

commit 1f14cf58c9fb40bdc418badc6e1db4f98f3d5e4e
Author: Tomaz Muraus <to...@tomaz.me>
Date:   2016-04-23T13:38:53Z

    Refactor script so it supports generating reports per driver, etc.

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---