#import "../_scaffold.html" as main> <@main.scaffold title="Contribute">
If you want to start development on lombok, clone the repository and run ant eclipse
or ant intellij
, then open the working directory as a project in eclipse / intellij. Because the main contributors of lombok all use eclipse, that'll probably work a little more smoothly.
To produce a lombok jar, run ant dist
; in general run ant -p
; there's lots of stuff there, including downloading various versions of java runtimes to run the test suite against, and building this website.
If you want to extend lombok, we advise that you fork lombok and add handlers directly into the same place and package that lombok's handlers are in (lombok.javac.handlers
and lombok.eclipse.handlers
) – lombok does some fancy footwork to ensure various modular class loading systems don't interface with finding the lombok classes, but that system is not (currently) easily expanded to include separate jars.
To create new features and add them to project lombok itself, send us pull requests via github. However, before you start, discuss the feature or fix you'd like to contribute, preferably via the Project Lombok Forum. If you're going to add a new feature, make sure to post 2 snippets (one with the annotation, the other with what that would generate), similar to how the feature pages list 'with lombok' and 'without lombok' variants.
We've considered many designs and features amongst ourselves and with the community, and often there are complications or interesting design choices that have already been mentioned. We'd like to share them with you before you set out.
Pull requests for new features that haven't been discussed are unlikely to be accepted. Of course, if you've already built a proof of concept implementation prior to bringing a new idea to the forum, we'll take it that much more seriously.
Happy coding!