• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..--

data/14-Jan-2024-410405

idea/14-Jan-2024-755582

lib/15-Dec-2024-13,18610,557

project/14-Jan-2024-915793

sdk/14-Jan-2024-1,018831

test_data/14-Jan-2024-773624

vscode/14-Jan-2024-398276

.coveragercD14-Jan-2024315 1914

Android.bpD14-Jan-20241.9 KiB8680

CleanSpec.mkD14-Jan-20242.4 KiB542

README.mdD14-Jan-20244.2 KiB11776

aidegen_main.pyD15-Dec-202422.6 KiB614517

aidegen_main_unittest.pyD14-Jan-202426 KiB608535

aidegen_run_unittests.pyD14-Jan-20242.2 KiB7039

aidegen_unittests.xmlD14-Jan-20241,016 218

constant.pyD14-Jan-20245 KiB186125

run_tests.shD14-Jan-20242.9 KiB9868

templates.pyD15-Dec-202436.4 KiB743677

unittest_constants.pyD14-Jan-20242.9 KiB9874

README.md

1# AIDEGen
2
3AIDEGen aims to automate the project setup process for developers to work on
4Java or C/C++project in popular IDE environment. Developers no longer need to manually
5configure an IntelliJ project, such as all the project dependencies. It's a
6**command line tool** that offers the following features:
7
8*   Configure Android Studio or IntelliJ project files with the relevant module
9    dependencies resolved.
10
11*   Launch IDE for a specified sub-project or build target, i.e. frameworks/base
12    or Settings.
13
14*   Launch IDE for specified folder(s) which contains build targets, i.e. cts.
15
16*   Auto configure JDK and Android coding style for IntelliJ.
17
18## 1. Prerequisites:
19
20*   IDE installation, choose one of prefer IDE, including Android Studio,
21    IntelliJ IDEA, Eclipse, CLion and VS Code.
22
23*   Setup Android development environment.
24
25```
26$ source build/envsetup.sh && lunch <TARGET>
27```
28
29## 2. Basic Usage:
30
31### Example 1: Launch IDE with module name
32
33Example to generate and launch IntelliJ project for framework and Settings:
34
35```
36$ aidegen Settings framework
37```
38
39### Example 2: Launch IDE with module path
40
41Example to generate and launch IntelliJ project for framework and Settings:
42
43```
44$ aidegen packages/apps/Settings frameworks/base
45```
46
47### Example 3: Launch IDE with build skipped
48
49Example to generate and launch IntelliJ project for framework and Settings and
50skip build time:
51
52```
53$ aidegen Settings framework -s
54```
55
56### Example 4: Launch IDE with native module
57
58Example to generate and launch CLion project:
59
60```
61$ aidegen <module> -i c
62```
63The native projects will be launched in CLion and you have to select,
64**Tools > CMake > Change Project Root**
65Change project root to the source directory: the relative path which is the directory shown in CLion’s project view. For example, if frameworks/base/media is your project, please change project root directly to frameworks/base/media.
66
67## 3. Optional arguments:
68
69Developers can also use the following optional arguments with AIDEGen commands.
70
71| Option | Long option       | Description                                                              |
72|:------:|:------------------|--------------------------------------------------------------------------|
73|  `-d`  | `--depth`         | The depth of module referenced by source.                                |
74|  `-i`  | `--ide`           | Launch IDE type, j=IntelliJ s=Android Studio e=Eclipse c=CLion v=VS Code |
75|  `-p`  | `--ide-path`      | Specify user's IDE installed path.                                       |
76|  `-n`  | `--no_launch`     | Do not launch IDE.                                                       |
77|  `-r`  | `--config-reset`  | Reset all AIDEGen's saved configurations.                                |
78|  `-s`  | `--skip-build`    | Skip building jars or modules.                                           |
79|  `-v`  | `--verbose`       | Displays DEBUG level logging.                                            |
80|  `-a`  | `--android-tree`  | Generate whole Android source tree project file for IDE.                 |
81|  `-e`  | `--exclude-paths` | Exclude the directories in IDE.                                          |
82|  `-l`  | `--language`      | Launch IDE with a specific language,j=java c=C/C++ r=Rust                |
83|  `-h`  | `--help`          | Shows help message and exits.                                            |
84
85## 4. Troubleshooting tips:
86
87If you get an error like: "Dependent modules dictionary is empty." or other errors, try a make
88clean.
89
90## 5. FAQ:
91
92Q1. If I already have an IDE project file, and I run command AIDEGen to generate
93the same project file again, what will happen?
94
95A1: The former IDEA project file will be overwritten by the newly generated one
96from the aidegen command.
97
98Q2: When do I need to re-run AIDEGen?
99
100A2: Re-run AIDEGen after repo sync.
101
102## 6. Hint:
103
1041. In IntelliJ, uses [File] > [Invalidate Caches / Restart...] to force
105       project panel updated when your IDE didn't sync.
106
1072. If you run aidegen on a remote desktop, make sure there is no IntelliJ
108       running in a different desktop session.
109
110## 6. Feedback:
111
112If you have any questions or feedback, contact aidegen_tnn@google.com.
113
114If you have any bugs or feature requests email them to buganizer-system+429701@google.com.
115
116
117