Files

39 lines
1.9 KiB
HTML

<#import "_setup.html" as s>
<@s.scaffold title="Ant+ivy">
<@s.introduction>
<p>
This page explains how to compile your code when you use the <a href="https://ant.apache.org/">Apache Ant</a> build tool. We suggest you use <a href="http://ant.apache.org/ivy/">ivy</a>, the ant add-on that lets you fetch dependencies from the internet automatically.
</p><p>
Lombok needs to be available when you compile your code to do its work. For non-modular builds on JDK22 and below, it is enough to put lombok on the classpath in your <code>&lt;javac&gt;</code> task. On JDK23 and above, you also need to enable annotation processing explicitly.
</p>
</@s.introduction>
<@s.section title="Just ant">
<p>
Assuming that you've put <code>lombok.jar</code> in a <code>lib</code> dir, your javac task would have to look like:<pre>
&lt;javac srcdir="src" destdir="build" source="1.8"&gt;
&lt;classpath location="lib/lombok.jar" /&gt;
&lt;/javac&gt;</pre>
</p><p>
When compiling with JDK23 or newer, you also need to enable annotation processing explicitly, for example by adding lombok to the processor path:<pre>
&lt;javac srcdir="src" destdir="build" source="1.8"&gt;
&lt;classpath location="lib/lombok.jar" /&gt;
&lt;compilerarg value="-processorpath" /&gt;
&lt;compilerarg path="lib/lombok.jar" /&gt;
&lt;/javac&gt;</pre>
</p>
</@s.section>
<@s.section title="Ant with Ivy">
<p>
Lombok is available in Maven Central, so you can tell ivy to fetch lombok like so (assuming you have a configuration named <code>build</code>:<pre>
&lt;dependencies&gt;
&lt;dependency org="org.projectlombok" name="lombok" rev="${version}" conf="build->master" /&gt;
&lt;/dependencies&gt;</pre>
</p><p>
When compiling with JDK23 or newer, make sure the ivy-resolved lombok jar is also passed to javac as an annotation processor path, or enable annotation processing explicitly with <code>-proc:full</code>.
</p>
</@s.section>
</@s.scaffold>