Menu

Help keeping this project afloat!

2017-12-20
2020-01-09
  • Lars Koedderitzsch

    Hey there!

    You might have noticed - or even been disappointed - by the slow rate of recent updates to this project.

    After nearly 13 years of maintaining eclipse-cs I noticed that I am losing interest and updating this project is becoming a chore. Also I have been taking up different interest in my spare time, like playing guitar or getting a bit back in shape - which leaves even less time.

    If you're interested in keeping this project afloat and more regularly updated - and want to lend a hand - please send me a personal message or reply to this forum post.

    -- Lars

     

    Last edit: Lars Koedderitzsch 2017-12-20
  • Eric Milles

    Eric Milles - 2017-12-20

    Hi Lars. Thanks for all your hard work over the years. I have been using eclipse-cs for many years now.

    Just wondering how much effort is required (aka how much is automated in terms of operations)?

     
  • Lars Koedderitzsch

    Hey Eric. There is effort required for actually updating the plugin to the latest Checkstyle version. Most of the time the bulk of work is hunting down Checkstyle changes which require metadata changes using the Checkstyle release notes.
    The build itself is automated via Maven/Tycho, however, getting a release out is a multi-stepped, non-automated process.
    For instance updating the plugin from 8.0 to 8.5 took me about a day of work for updating and releasing. If I had updated to all intermediary Checkstyle versions, that work would have been more spread out, of course.
    One of these days I'll write a step by step checklist for updating/releasing the plugin.

     
  • Bananeweizen

    Bananeweizen - 2017-12-22

    What about having an organizational (not individual) account at github to host the sources? This works well for a lot of projects and allows more easy contributions by others than the Sourceforge system. I just created https://github.com/eclipsecs as a placeholder to showcase this. However, I will happily transfer ownership of that account to you (or delete it, if you want to do something similar on your own).

    Just to be clear: I do not intend to become a new lead for this project. I'm willing to contribute some time however, and I guess you will find more additional like-minded contributors, if this project moves to github.

     
  • Eric Milles

    Eric Milles - 2017-12-31

    Lars, I am willing to help with bug fixes and releases. If you don't want to write up the release steps, you could demonstrate everything in my WebEx channel and I could record it and write the steps from that. That way I could ask questions along the way and possibly have stuff repeated for clarity. Let me know.

     
  • Roman Ivanov

    Roman Ivanov - 2018-01-01

    Hi Lars,
    thanks a lot for your help through may years to keep project up todate.

    I could recommend to move source to github - https://github.com/checkstyle , to our organization . You and Eric and Bananeweizen could have RW access to repository to keep it moving, any other contributors are welcome too. I already did suh a proposal to you few years ago ;) . I managed to setup good practices in development workflow in checkstyle repo and amount of Pull requests is far above I can process, but we keep going ....

    This will help us to keep all sources(plugins) neaby main project(checkstyle).
    We already host sonar plugin under our organization.

    Checkstyle core library is very tiny, we will not be able to do support of eclise-cs without help from community, any contributors are welcome. But we can host code and help with updates to new checkstyle versions.

     

    Last edit: Roman Ivanov 2018-01-01
  • Richard

    Richard - 2018-01-01

    Most of the time the bulk of work is hunting down Checkstyle changes which require metadata changes using the Checkstyle release notes.

    I assume you mean the metadata files that define checks, properties, and they descriptions, values, etc... like \net.sf.eclipsecs.checkstyle\metadata...
    Have you though of automating most of it? Sevntu automates it's eclipse-cs files using junits that tell when something is wrong or missing in the file. We use reflection and our inner utils to identify checks and their properties.
    See: https://github.com/sevntu-checkstyle/sevntu.checkstyle/blob/master/sevntu-checks/src/test/java/com/github/sevntu/checkstyle/internal/ChecksTest.java#L76-L90

     
  • Lars Koedderitzsch

    @Roman - thanks and agreed, hosting eclipse-cs sources under the Checkstyle organisation in Github would be the best course. I'll send you a private message shortly.

    @Richard - interesting, although I am unsure how this can help with eclipse-cs metadata maintenance. As I understand I would still need to meticulously check all changes in a Checkstyle release, whether they have any relevance for the metadata.
    Ideally Checkstyle itself would expose this metadata (e.g. via annotations) to integration providers.

     
  • Richard

    Richard - 2018-01-02

    I am unsure how this can help with eclipse-cs metadata maintenance. As I understand I would still need to meticulously check all changes in a Checkstyle release, whether they have any relevance for the metadata.

    Could you give an example of something you think would have to be manually done and couldn't be automated? I can only speak from my experience with sevntu's eclipse-cs files.

    Even if you can't automate everything, doing some should alleviate some of the stress.

    The most complete documentation we have is in the xdocs where we have another junit to make sure it has required sections, all properties documented with descriptions and default values and such.
    https://github.com/checkstyle/checkstyle/blob/master/src/test/java/com/puppycrawl/tools/checkstyle/internal/XdocsPagesTest.java#L253

     

    Last edit: Richard 2018-01-02
  • Lars Koedderitzsch

    I imagine sevntu metadata is maintained alongside the checks, so whenever you change something (add a property, new check etc.) you will update the eclipse-cs metadata accordingly?

    For eclipse-cs this is not the case. Instead once in a while I need to check all changes in Checkstyle for their relevance to the metadata.

    For example:
    a new check is added
    a check gets a new property
    an existing property is changed - for instance changes to allowed or default tokens
    addition of new message keys
    * or the removal of any of the above

    I am not sure the Checkstyle xdocs contain all the necessary informations and even if it does it would be somewhat backwards. I feel rather Checkstyle itself should expose all the necessary metadata and docs should be generated from that.

     
  • Lars Koedderitzsch

    FYI the move of eclipse-cs sources to Github as a first measure is a go, see https://github.com/checkstyle/eclipse-cs

    Thanks to @Bananeweizen for suggesting and to @Roman for taking it under the wings of the Checkstyle organisation at Github

     
  • Roman Ivanov

    Roman Ivanov - 2018-01-03

    Eric Milles and Bananeweizen you are very welcome to become contributors/maintainers of eclipse-cs please create issues on github to request RW access and start sharing knowledge transfer from Lars.

    Fact eclipse-cs is hosted under checkstyle organization does not mean that checkstyle maintainers could maintain it too.
    Checkstyle core library have about 20 active PRs each day, that waiting to be merged or other feedback. Checkstyle team can not keep up even with core project.

    Please be welcome to be part of team.

     

    Last edit: Roman Ivanov 2018-01-03
  • Bananeweizen

    Bananeweizen - 2018-01-10

    Great solution with moving to the checkstyle organization, and much better than my initial suggestion. I've deleted the temporary eclipsecs organization account on github to not cause any confusion.

     

Log in to post a comment.