projects icon indicating copy to clipboard operation
projects copied to clipboard

Aspectify quickstart

Open jayvdb opened this issue 6 years ago • 11 comments

@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.

jayvdb avatar Mar 20 '18 18:03 jayvdb

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.

satwikkansal avatar Mar 21 '18 11:03 satwikkansal

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.

jayvdb avatar Mar 22 '18 07:03 jayvdb

Yeah, a project that connects different pieces of coala/

satwikkansal avatar Mar 22 '18 13:03 satwikkansal

Great idea! @satwikkansal what is your integration goal in coala-quickstart? Something like the default generated .coafile is using aspect setting?

adhikasp avatar Mar 23 '18 07:03 adhikasp

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 avatar Mar 23 '18 08:03 adhikasp

@adhikasp what do you think about aspectifying https://github.com/coala/coala-quickstart/blob/master/coala_quickstart/Constants.py

jayvdb avatar Mar 23 '18 10:03 jayvdb

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.

satwikkansal avatar Mar 23 '18 13:03 satwikkansal

@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 avatar Mar 25 '18 11:03 adhikasp

@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 ;-)

jayvdb avatar Mar 25 '18 11:03 jayvdb

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.

jayvdb avatar May 18 '18 19:05 jayvdb

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)

satwikkansal avatar May 21 '18 17:05 satwikkansal