aboutsummaryrefslogtreecommitdiff
path: root/website/templates/setup/android.html
blob: 3ff857e5a96d9e93f1b12640a7be62e335b9cff5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
<#import "_setup.html" as s>

<@s.scaffold title="Android">
	<@s.introduction>
		<p>
			Android development with lombok is easy and won't make your android application any 'heavier' because lombok is a compile-time only library. It is important to configure your android project properly to make sure lombok doesn't end up in your application and waste precious space on android devices.
		</p><p>
			The instructions listed below are excerpts from <a href="https://github.com/excilys/androidannotations/wiki/Cookbook">The
			AndroidAnnotations project cookbook</a>. You may wish to refer to that documentation for complete instructions; lombok is just
			the equivalent to <code>androidannotations-VERSION.jar</code>; there is no <code>-api</code> aspect.
		</p>
	</@s.introduction>

	<@s.section title="Gradle">
		<p>
			<ul><li>
				Make sure that the version of your android plugin is <code>&gt;= 0.4.3</code>
			</li><li>
				Add Lombok to your application's <code>dependencies</code> block:<br /><br />
<pre>
	provided "org.projectlombok:lombok:${version}"
</pre>
			</li><li>
				When using <a href="https://bitbucket.org/hvisser/android-apt">android-apt</a>, you also have to specify Lombok as an annotation processor (with the <code>apt</code> directive) in the <code>dependencies</code> block:<br  /><br />
<pre>
	provided "org.projectlombok:lombok:${version}"
	apt "org.projectlombok:lombok:${version}"
</pre>
			</li></ul>
		</p>
	</@s.section>

	<@s.section title="Android Studio">
		<p>
			Follow the previous instructions (<em>Gradle</em>). In addition to setting up your gradle project correctly, you need to add the <a href="https://plugins.jetbrains.com/plugin/6317">Lombok IntelliJ plugin</a> to add lombok support to Android Studio:
			<ul><li>
				Go to <code>File &gt; Settings &gt; Plugins</code>
			</li><li>
				Click on <code>Browse repositories...</code>
			</li><li>
				Search for <code>Lombok Plugin</code>
			</li><li>
				Click on <code>Install plugin</code>
			</li><li>
				Restart Android Studio
			</li></ul>
		</p>
	</@s.section>

	<@s.section title="Eclipse">
		<p>
			In eclipse, create a 'lightweight' lombok jar that contains only the annotations by running:<br /><br />
			<pre>
java -jar lombok.jar publicApi</pre>
			Then, add the <code>lombok-api.jar</code> file created by running this command to your android project instead of the complete <code>lombok.jar</code>, and, as usual, install lombok into eclipse by double-clicking <code>lombok.jar</code>.
		</p>
	</@s.section>

	<@s.section title="Maven">
		<p>
			You should be able to just follow the normal <a href="../mavenrepo/index.html">lombok with maven instructions</a>.<br />
			Note that if you use android, eclipse, and maven together you may have to replace <code>lombok.jar</code> in your eclipse android project's build path (which you can modify in that project's properties page) with <code>lombok-api.jar</code>, as produced in the procedure explained for <em>Eclipse</em>, above.
		</p>
	</@s.section>

	<@s.section title="Ant">
		<p>
			<ul><li>
				Find <code>build.xml</code> in <code>${r"${ANDROID_SDK_ROOT}"}/tools/ant/build.xml</code> and copy the <code>-compile</code> target into the paste buffer.
			</li><li>
				Copy this to the <code>build.xml</code> of your own project, right before the <code>&lt;import file="${r"${sdk.dir}"}/tools/ant/build.xml"&gt;</code> line.
			</li><li>
				Create a <code>compile-libs</code> directory in your own project and copy the complete <code>lombok.jar</code> to it.
			</li><li>
				Now modify the <code>&lt;classpath&gt;</code> entry inside the <code>&lt;javac&gt;</code> task in the <code>-compile</code> target you just copied:<br />
				add <code>&lt;fileset dir="compile-libs" includes="*.jar" /&gt;</code> to it.
			</li></ul>
		</p>
	</@s.section>
</@s.scaffold>