projects
projects copied to clipboard
Aspectify quickstart
@satwikkansal had the idea that we might combined aspects and coala-quickstart to create a project that achieves a definite goal without needing to first rewrite everything to be aspectified.
I suspect it would be a solid project to convert https://github.com/coala/coala-quickstart/blob/master/coala_quickstart/Constants.py to using aspects, as it would require more work on aspects, and implementation in relevant bears and quickstart.
I feel like, if well thought out this can be mixed with https://github.com/coala/projects/pull/464. Coming up with the right approach and design might be tricky since the student would be required to familiarise him/herself with coala bears, aspects and quickstart.
It would be a steep learning curve, and quite a bit of work, but this concept provides a really clear objective for the project, and sometimes that is the key ingredient to a successful project.
Yeah, a project that connects different pieces of coala/
Great idea! @satwikkansal what is your integration goal in coala-quickstart? Something like the default generated .coafile is using aspect setting?
Anyway, the aspect part shouldn't be too complicated, because they doesn't need to know the underlying system. Only how to migrate bear and how to write new aspect. So I think a combined project to quickstart isn't too complicated.
@adhikasp what do you think about aspectifying https://github.com/coala/coala-quickstart/blob/master/coala_quickstart/Constants.py
Great idea! @satwikkansal what is your integration goal in coala-quickstart? Something like the default generated .coafile is using aspect setting?
Yes, something on the lines of:
- quickstart generates an aspect style quickstart in addition to the conventional one it already generates. We might deprecate the conventional one in future.
- The aspect based
.coafile
generated is equally (if not more) effective than the conventional type.coafile
. - And few ways to automatically discover the aspects from the meta-data that we collect in the quickstart.
@adhikasp what do you think about aspectifying https://github.com/coala/coala-quickstart/blob/master/coala_quickstart/Constants.py
I think its okay. But some of the bears is more tricky to migrate, like https://github.com/coala/coala-bears/blob/master/bears/c_languages/CPPCheckBear.py, because it doesn't directly implement run
method. They will need to mess a bit deeper to aspect code/create new helper function for integrating aspect to those bear. Or maybe expanding @linter
annotation would works.
@adhikasp , ok, so those bears should be left to be a stretch goal for this project.
IMO any bear which cant be aspectified easily should be dropped off the important bear list anyway, as aspect-chosen bears (and settings) will lead to better results.
Anyone who thinks those bears are important can add aspects support ;-)
Ah, I see the capabilties system comes from https://github.com/coala/cEPs/blob/master/cEP-0014.md . So yea, this project would involve adapting cEP 14 to work with cEP 5
If I understand correctly, capabilties are disabled by default at the moment in coala-quickstart
, as --no-filter-by-capabilities
is True
.
If I understand correctly, capabilties are disabled by default at the moment in coala-quickstart , as --no-filter-by-capabilities is True.
Yep, because for capabilities we have to ask the user to select that capabilities, and I feel that quickstart already asks too many questions. However, quickstart does drop bears with overlapping capabilities (something that can be re-used with aspects)