Problem: nowadays we want all files to store licensing information in
machine-readable format and to use reuse tool to check that. But the
repo is not REUSE compliant.
Solution: add `LICENSES` folder and licensing information for each
file.
Problem: it was agreed with Kostya Ivanov that the copyright owner
is Serokell, so it should be updated in package.yaml.
Also it mentions incorrect license (the one in the repo is MPL-2.0)
and does not have license-file.
Solution: update `copyright` field and `license` field. Also add
`license-file`. Update maintainer as well, because now many people
from Serokell are involved.
I also took the liberty to fix the `github` field.
To support more different way to keep templates for issues and pull
requests.
Also I removed `docs/pull_request_template.md` because `docs` does not
seem to be the canonical choice for such files; if user needs to place
his files in such location, then he can adjust config correspondingly.
Problem: it looks like structure of GitHub repositories has changes, and
now issues page can be located under `../../../issues`, not
`../../issues`.
Solution: adjust config.
Also made some fixes in naming and fit all comments into 80 chars.
Problem: by default, when creating an issue, user has to fill everything
from scratch and this is not good.
Solution: add issue templates for `task` and `bug`, refer people to
page for openning new issue in `CONTRIBUTING.md`.
Problem: after recent fix the user has to specify configuration file
even if it is present in the working directory of crossref-verify run.
That's not convenient.
Solutiion: if custom config path is not specified, first try to find
it under common filenames. When configuration file is not found anyway
we now print a warning before falling back to default config.
Problem: latest available LTS resolver is 14.16 and `crossref-verifier`
doesn't compile with it.
Solution: update resolver to 14.16. Newer versions of some packages
are used from now on. I assume that it shouldn't break anything as
long as tests pass.
`req` stopped using `Default` class, that's the only change in the code
I had to make.
Initially the primary use case for this tool in my point of view was
repeated runs for a repository until documentation is valid, thus I've
set checking only local refs as default behaviour (checking external
refs takes way longer).
Another motivation was that I expected CI to have one mandatory job for
local scan and one optional for remote refs scan.
Now I think that there are more reasons to perform full scan by default.
* It occured that in CI we usually want to have all checks optional, so
that someone could temporarily break links on purpose (e.g. in case
of mutually-dependent pull requests).
* First impression is important, and we want to demostrate all the
features of the tool in default run.
* If use case mentioned in the very top actually takes place, one can
add the necessary option, that's fine.
Problem: currently `crossref-verify` executable does not work without
configuration, and user was supposed to use one from the repository if
he does not have its own. This is very inconvenient.
Solution: make executable remember some config and use it by default.
Problem: some comments in PR template only matter when this template
is added to the repo, after that they are useless.
Solution: remove those comments.
Problem: default config is not really smart and seems easier to just
unlicense it, i. e. let everyone do whatever they want with it.
Also it does not have SPDX header (like any other file in this repo,
but that's another story).
Solution: add SPDX header stating that the Unlicense applies.
Make Serokell copyright holder of it, AFAIK @martoon is fine with
that (and I am not sure whether copyright holder matters for
unlicensed files at all).