please welcome femtocleaner[bot], the Julia community’s newest robot intern, joining the ranks of attobot and nanosoldier. Over the past two weeks it’s learned a lot about how to upgrade julia code from old versions to newer ones. Some examples:
Some highlights of the kinds of things it knows how to do:
@compatfrom syntax that no longer requires it
- Fix code for the parametric type change
f(x::T) where T
- Remove obsolete
It’ll read your package’s REQUIRE file to figure out which changes it’s allowed to do. That’ll happen the first time you install it and then every time you update
REQUIRE. The full user manual is available on the bot’s GitHub page.
Please pay particular attention to the
bad bot command, which you can use to report any instances of incorrect behavior. While we’ve done some alpha testing, you should still consider this beta-quality software, so there may be bugs. If you do encounter a bug, just report it and leave the pull request open. Once the bug has been addressed, the bot will push a new commit with the (hopefully) correct changes and leave a comment to let you know it did that.
The installation flow for the bot will be familiar to all those who have used attobot before. To get started, simply go to https://github.com/apps/femtocleaner. I should note that the majority of the functionality in femtocleaner is designed to help with the
0.5->0.6 or later transition, so if your REQUIRE still claims support for a pre-0.6 version of julia (e.g.
0.6-), you will not get the full range of changes.
Lastly, I have some acknowledgements to make:
- First, the Sloan foundation whose recent grant to Julia Computing funded this work.
- Julia Computing for hosting the publicly available instance
- @ararslan For testing the alpha version of this and reporting a large number of issues
- @ZacLN for his work on CSTParser, which I leverage heavily in this work
- @jrevels for reviewing all my PRs to GitHub.jl
I hope you will find this useful.