Index: docs/eclipse.md |
diff --git a/docs/eclipse.md b/docs/eclipse.md |
new file mode 100644 |
index 0000000000000000000000000000000000000000..bab57bcef6e8851e3baaabcec9774be30f49d74b |
--- /dev/null |
+++ b/docs/eclipse.md |
@@ -0,0 +1,186 @@ |
+# Eclipse Configuration for Android |
+[TOC] |
+ |
+Instructions on using **Android Studio** are [here](android_studio.md). |
+ |
+*** note |
dgn
2016/10/03 15:04:06
That's really neat! However I couldn't find the do
|
+This documentation was written for Eclipse 4.5 though other versions of Eclipse |
+should work similarly. |
+*** |
+ |
+## One time Eclipse Configuration |
+This section contains set up steps for the very first time you start Eclipse. |
+You should only need to go through these once, even if you switch workspaces. |
+ |
+ * Starting Eclipse. It can be started a couple of ways: |
+ * From Ubuntu main menu, select Applications > Programming > Eclipse 4.5 |
+ * From the command line, type eclipse45 |
+ * Pick a workspace somewhere in your hard drive. |
+ * Install CDT - C/C++ Development Tools |
+ * Select Help > Install New Software... from the main menu |
+ * For Work with, select mars - http://download.eclipse.org/releases/mars |
+ (or any other mirror that seems appropriate) |
+ * Check Mobile and Device Development > C/C++ Remote Launch |
+ * Check Programming Languages > C/C++ Development Tools |
+ * Click through Next, Finish, etc to complete the wizard. |
+ * If you get errors about a missing dependency on org.eclipse.rse.ui for the |
+ "C++ Remote Launch" install, add an available update path of |
+ http://download.eclipse.org/dsdp/tm/updates/3.2 |
+ * Click Restart Now when prompted to restart Eclipse |
+ * Memory |
+ * Close Eclipse |
+ * Add the following lines to `~/.eclipse/init.sh`: |
+ |
+ ```shell |
+ ECLIPSE_MEM_START=1024m |
+ ECLIPSE_MEM_MAX=8192m |
+ ``` |
+ |
+## General Workspace Configuration |
+These are settings that apply to all projects in your workspace. All the |
+settings below are inside Window > Preferences. |
+ |
+ * Android formatting |
+ * Download [android-formatting.xml](https://raw.githubusercontent.com/android/platform_development/master/ide/eclipse/android-formatting.xml) |
+ * Select Java > Code Style > Formatter from the tree on the left |
+ * Click Import... |
+ * Select the android-formatting.xml file |
+ * Make sure Android is set as the Active Profile |
+ * Java import order |
+ * Download [android.importorder](https://raw.githubusercontent.com/android/platform_development/master/ide/eclipse/android.importorder) |
+ * Select Java > Code Style > Organize Imports from the tree on the left |
+ * Click Import... |
+ * Select the android.importorder file |
+ * Disable automatic refresh. Otherwise, Eclipse will constantly try to refresh |
+ your projects (which can be slow). |
+ * Select General > Workspace from the tree on the left. |
+ * Uncheck Refresh using native hooks or polling (if present) |
+ * Select General > Startup and Shutdown from the tree on the left. |
+ * Uncheck Refresh workspace on startup (if present) |
+ * Disable build before launching |
+ * Select Run/Debug > Launching |
+ * Uncheck Build (if required) before launching |
+ * File types for .gyp and .gypi |
+ * Go to General > Editors > File Associations |
+ * Add `*.gyp` and `*.gypi` file types, and associate them with Python Editor |
+ * See http://pydev.org/index.html for instructions on getting a Python |
+ Editor configured in Eclipse |
+ * Enjoy a happy life with Ctrl+Shift+P and automatic matching bracket |
+ highlight. |
+ * Tab ordering |
+ * If you prefer ordering your tabs by most recently used, go to General > |
+ Appearance and check Show most recently used tabs |
+ * Autocomplete |
+ * Select Java > Editor > Content Assist |
+ * Check Enable auto activation |
+ * Change Auto activation triggers for Java: to |
+ `._abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ` |
+ * Line Length |
+ * If you want to change the line length indicator, go to General > Editors > |
+ Text Editors |
+ * Check Show print margin and change the Print margin column: to 100. |
+ |
+## Project Configuration |
+ |
+### Create the project |
+ |
+ * Select File > New > Project... from the main menu. |
+ * Select C/C++ > C++ from the project tree and click Next. |
+ * Note: not "Makefile Project with Existing Code", even though that sounds |
+ sensible). |
+ * For Project name, use something meaningful to you. For example |
+ "chrome-android” |
+ * Uncheck Use default location. Click Browse... and select the src directory of |
+ your Chromium gclient checkout |
+ * For Project type, use Makefile project > Empty Project |
+ * For Toolchains use -- Other Toolchain -- |
+ * Click Next |
+ * Disable the default CDT builder |
+ * Click Advanced Settings... |
+ * Select Builders from the tree on the left |
+ * Uncheck CDT Builder |
+ * Click OK if a dialog appears warning you that this is an |
+ 'advanced feature' |
+ * Click OK to close the project properties dialog and return to the project |
+ creation wizard |
+ * Click Finish to create the project |
+ |
+### Configure the project |
+ |
+ * Right click on the project and select Properties |
+ * Exclude Resources (OPTIONAL). This can speed Eclipse up a bit and may make |
+ the indexer happier. |
+ * Select Resources > Resource Filters |
+ * Click Add... |
+ * Select Exclude all, Select Folders, and check All children (recursive) |
+ * Enter .git as the name |
+ * Click OK |
+ * Click Apply to commit the changes |
+ * C/C++ Indexer (deprecated, seems to be done by default)</span> |
+ * Select C/C++ General > Indexer from the tree on the left |
+ * Click Restore Defaults |
+ * Check Enable project specific settings |
+ * Uncheck Index source files not included in the build |
+ * Uncheck Allow heuristic resolution of includes |
+ * Click Apply to commit the changes |
+ * C/C++ Paths and Symbols. This help Eclipse build the symbol table for Chrome. |
+ * From a shell, run `GYP_GENERATORS=eclipse build/gyp_chromium` |
+ * This generates `<project root>/out/Release/eclipse-cdt-settings.xml` which |
+ is used below. |
+ * Select C/C++ General > Paths and Symbols from the tree on the left |
+ * Click Restore Defaults to clear any old settings |
+ * Click Import Settings... The import dialog should appear. |
+ * Click Browse... A file browser should appear. |
+ * Select `<project root>/out/Release/eclipse-cdt-settings.xml`. |
+ * Click the Finish button. The entire preferences dialog should go away. |
+ * Right click on the project and select Index > Rebuild |
+ * Java |
+ * Create a link from `<project root>/.classpath` to |
+ `<project root>/tools/android/eclipse/.classpath`: |
+ ```shell |
+ ln -s tools/android/eclipse/.classpath .classpath |
+ ``` |
+ |
+ * Edit `<project root>/.project` as follows to make your project a |
+ Java project: |
+ * Add the following lines inside `<buildSpec>`: |
+ ```xml |
+ <buildCommand> |
+ <name>org.eclipse.jdt.core.javabuilder</name> |
+ <arguments></arguments> |
+ </buildCommand> |
+ ``` |
+ * Add the following line inside `<natures>`: |
+ ```xml |
+ <nature>org.eclipse.jdt.core.javanature</nature> |
+ ``` |
+ |
+### Run Robolectric JUnit tests |
+ |
+ * Prerequisite: Install a Java 8 JRE and make sure it's available in Eclipse |
+ * Create a new JUnit test target: |
+ * Run > Run Configurations > New launch configuration > JUnit |
+ * Using Android JUnit test launcher |
+ * Test tab: |
+ * Run a single test or all tests in the package you want |
+ * Arguments tab: |
+ * VM arguments: |
+ |
+ ``` |
+ -Drobolectric.dependency.dir=out/Debug/lib.java/third_party/robolectric |
+ ``` |
+ |
+ * Classpath tab: |
+ * Bootstrap Entries: |
+ * Advanced... > Add Library > JRE System Library |
+ * Select a Java 8 JRE |
+ * User Entries: |
+ * Add JARs... |
+ * Select the following JAR files from `third_party/robolectric/lib`: |
+ * `json-20080701.jar` |
+ * `tagsoup-1.2.jar` |
+ * `android-all-5.0.0_r2-robolectric-1.jar` |
+ * JRE tab: |
+ * Execution environment: Select the Java 8 JRE |
+ * Run or Debug the launch configuration |
+ |