This post is part of my GSOC journey in coala.
Because aspect is still new and experimental, many things around it is still untested. Also, not all bear in coala (read: none of them) support aspect. And it will be a long time before it happen. So I think it’s important to make the migration process became more easy.
In this phase, I try to polish up feature so hopefully it will became more sane to be used. Of course there are still many missing things that I don’t think of now, but hopefully I can catch them and add follow up patches. The polishing up could be separated to users perspective and developer perspective:
Warn unfulfilled aspect
As mentioned before, aspect ready bear is still a rare species compared to number of aspect definition in coala. This make it very possible to request an aspect that doesn’t have any bear that support it. We need to warn user if this happen.
Funny fact I just learn that
is a thing!
Logs Various Message
Make sure users is informed what happen (if something goes wrong). Cases like
aspects setting at the same time will ignore the
setting and missing or invalid
language setting should throw a warning logs.
I also use this opportunity to refactor the verification code into its own function instead of separated into various function in order to make it more easier to read (hopefully).
Write Docs on Configuring coala With Aspect
I write a help page on how to configure aspect and list of required setting.
Create Example Project that Showcase it All
Showcase aspect in progress, best tutorial is a live project!
WIP, should be possible after all PR is merged
Write Docs on Bear’s Aspectization
A docs containing example of a aspectized bear
Create Mapping from Bear’s Setting to Aspect/Taste Equivalent
This is a bit of quality-of-life feature but still pretty important to make sure bear got aspectized easily. This will map a bear setting with aspect.
In here I write a test that run
coala with aspect configuration to make sure
everything work correctly.
In coala/coala itself, I write an end-to-end test that call
coala cli to run
with aspect. The purpose is to make sure every component related to aspect
atleast can run without error.
The second part is to create a showcase project like from the user perspective. Ideally it could automatically update along with coala.