Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Aspectify quickstart #504

Open
jayvdb opened this issue Mar 20, 2018 · 11 comments
Open

Aspectify quickstart #504

jayvdb opened this issue Mar 20, 2018 · 11 comments

Comments

@jayvdb
Copy link
Member

jayvdb commented Mar 20, 2018

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

@satwikkansal
Copy link
Member

I feel like, if well thought out this can be mixed with #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.

@jayvdb
Copy link
Member Author

jayvdb commented Mar 22, 2018

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.

@satwikkansal
Copy link
Member

Yeah, a project that connects different pieces of coala/

@adhikasp
Copy link
Member

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

@adhikasp
Copy link
Member

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.

@jayvdb
Copy link
Member Author

jayvdb commented Mar 23, 2018

@satwikkansal
Copy link
Member

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
Copy link
Member

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

@jayvdb
Copy link
Member Author

jayvdb commented Mar 25, 2018

@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
Copy link
Member Author

jayvdb commented May 18, 2018

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.

@satwikkansal
Copy link
Member

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)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

5 participants