aboutsummaryrefslogtreecommitdiff
path: root/website-old/setup/android.html
diff options
context:
space:
mode:
Diffstat (limited to 'website-old/setup/android.html')
-rw-r--r--website-old/setup/android.html131
1 files changed, 131 insertions, 0 deletions
diff --git a/website-old/setup/android.html b/website-old/setup/android.html
new file mode 100644
index 00000000..9edb9c95
--- /dev/null
+++ b/website-old/setup/android.html
@@ -0,0 +1,131 @@
+<!DOCTYPE html>
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <script src="../logi/jQuery-all.js" type="text/javascript"></script>
+ <link rel="stylesheet" type="text/css" href="../logi/reset.css" />
+ <link rel="stylesheet" type="text/css" href="../index.css" />
+ <link rel="shortcut icon" href="../favicon.ico" type="image/x-icon" />
+ <meta name="description" content="Spice up your java" />
+ <title>Project Lombok</title>
+ <!--[if lt IE 7]><script type="text/javascript" src="../logi/iepngfix_tilebg.js"></script><![endif]-->
+</head><body>
+ <a id="forkMe" href="https://github.com/rzwitserloot/lombok"><img style="position: absolute; top: 0; right: 0; border: 0;" src="//s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png" alt="Fork me on GitHub" /></a>
+ <div class="meat">
+ <h1><a href="/">Project Lombok</a> - android instructions</h1>
+ <div id="buttonBar" class="buttonBar">
+ <a class="button" href="../features/index.html">
+ <img src="../icon_overview.png" />
+ <span>Feature Overview</span>
+ </a>
+ <a class="button" href="https://groups.google.com/group/project-lombok">
+ <img src="../icon_discussion.png" />
+ <span>Discuss / Help</span>
+ </a>
+ <a class="button" href="https://wiki.github.com/rzwitserloot/lombok/contributing">
+ <img src="../icon_contribute.png" />
+ <span>Contribute</span>
+ </a>
+ <a class="button" href="https://github.com/rzwitserloot/lombok/issues">
+ <img src="../icon_bugs.png" />
+ <span>Report an issue</span>
+ </a>
+ <div class="downloadContainer">
+ <a class="downloadLink" id="downloadLink" href="../download.html">
+ <img src="../icon_download.png" />
+ <span>Download!</span>
+ </a>
+ <div class="versionInfo">
+ Version: @VERSION@ | <a href="../changelog.html">changelog</a>
+ </div>
+ </div>
+ </div>
+ <div class="downloadHelp">
+ <p>
+ Android development with lombok is possible. Lombok should be a compile-time only dependency, as otherwise
+ the entirety of lombok will end up in your DEX files, wasting precious space on android devices. Also, errors will occur due
+ to the native libraries present in lombok.jar itself. Unfortunately, android does not (yet) understand the concept of a
+ compile-time-only dependency, so you need to mess with your build files to make it work.
+ </p><p>
+ Android also does not have a complete JRE library stack; in particular, it does not have the <code>@java.beans.ConstructorProperties</code> annotation, therefore you have to stop lombok from generating these:
+ <ul>
+ <li>The <code>suppressConstructorProperties</code> property can be set to <code>false</code> when using <a href="/features/Constructor.html">@XArgsConstructor Annotations</a>.</li>
+ <li>Starting with Lombok <code>&gt;= 1.14.0</code> you can instead a <code>lombok.config</code> file to the root of your project to disable <code>ConstructorProperties</code> project wide. Add the following line to <code>lombok.config</code>:<br />
+ <pre>lombok.anyConstructor.suppressConstructorProperties = true</pre><br />
+ See the <a href="/features/configuration.html">configuration</a> documentation for more information on how to set up your project with a lombok config file.
+ </ul>
+ </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>
+ <h3>Eclipse</h3>
+ <div>
+ 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>.
+ </div>
+ <h3>Ant</h3>
+ <div>
+ <ul>
+ <li>Find <code>build.xml</code> in <code>${ANDROID_SDK_ROOT}/tools/ant/build.xml</code> and copy the <code>-compile</code> target into the paste buffer.
+ <li>Copy this to the <code>build.xml</code> of your own project, right before the <code>&lt;import file="${sdk.dir}/tools/ant/build.xml"&gt;</code> line.
+ <li>Create a <code>compile-libs</code> directory in your own project and copy the complete <code>lombok.jar</code> to it.
+ <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.
+ </ul>
+ </div>
+ <h3>Maven</h3>
+ <div>
+ 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.
+ </div>
+ <h3>Gradle</h3>
+ <div>
+ <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:1.12.6"
+</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:1.12.6"
+ apt "org.projectlombok:lombok:1.12.6"
+</pre>
+ </li>
+ </ul>
+ </div>
+ <h3>Android Studio</h3>
+ <div>
+ 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>
+ </div>
+ <div class="endBar">
+ </div>
+ <div class="footer">
+ <a href="../credits.html" class="creditsLink">credits</a> | Copyright &copy; 2009-2016 The Project Lombok Authors, licensed under the <a href="http://www.opensource.org/licenses/mit-license.php">MIT license</a>.
+ </div>
+ </div>
+ <script type="text/javascript">
+ var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+ document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+ </script>
+ <script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-9884254-1");
+ pageTracker._trackPageview();
+ } catch(err) {}
+ </script>
+</body></html>