OSDN Git Service

Manifest: Track our hardware_lineage_interfaces
[sagit-ice-cold/Android_Q_Manifest.git] / README.md
1 [Android Ice Cold Project](http://aicp-rom.com)
2 ====================================
3
4
5 Download the Source
6 ===================
7
8 Please read the [AOSP building instructions](https://source.android.com/source/index.html) before proceeding.
9
10 Initializing Repository
11 -----------------------
12
13 Repo initialization:
14
15     $ repo init -u https://github.com/AICP/platform_manifest.git -b q10.0
16
17
18 sync repo :
19
20     $ repo sync
21
22 Some info on how to customize your sync:
23
24   -f, --force-broken    continue sync even if a project fails to sync
25
26   --force-sync          overwrite an existing git directory if it needs to
27                         point to a different object directory. WARNING: this
28                         may cause loss of data
29
30   -l, --local-only      only update working tree, don't fetch
31
32   -n, --network-only    fetch only, don't update working tree
33
34   -c, --current-branch  fetch only current branch from server
35
36   -j JOBS, --jobs=JOBS  projects to fetch simultaneously (default 4)
37
38   --no-clone-bundle     disable use of /clone.bundle on HTTP/HTTPS
39
40   --no-tags             don't fetch tags
41
42 Smallest/fastest sync:
43
44     $ repo sync --no-tags --no-clone-bundle
45
46     Note: we already define -c in our default.xml, so no need to add it
47
48 ***
49
50 Building
51 --------
52
53 After the sync is finished, please read the [instructions from the Android site](https://source.android.com/source/building.html) on how to build.
54
55     . build/envsetup.sh
56     brunch
57
58
59 You can also build (and see how long it took) for specific devices like this:
60
61     . build/envsetup.sh
62     time brunch angler
63
64 Remember to `make clobber` every now and then!
65
66
67 Optional After Successful Build
68 --------------------------------
69
70 After you get a working build, and if you would like to share your build on XDA (Regular Unofficial Builds), then please use the following template to create
71 an XDA thread. Note that the template is a guideline of sort. You may make your own changes to it (especially please change the download link), but try
72 to stick as close as possible to the template. This is to avoid cluttering and make stuff organized.
73
74 Link : https://raw.githubusercontent.com/AICP/vendor_aicp/q10.0/docs/xda_template/xda_thread-template.txt
75
76
77 Uploading to AICP Gerrit
78 ---------------
79
80 1st You must have local ssh keys on your computer if you do not here is a [guide](https://help.github.com/articles/connecting-to-github-with-ssh/) to generate them
81
82 2nd Make an account on [Gerrit](http://gerrit.aicp-rom.com) login only using GoogleAuth2
83
84 3rd Add your ssh public key to your account
85
86 4th Make your changes and commit them
87
88 5th use the following command to push your commit to gerrit
89
90     (From root android directory)
91     . build/envsetup.sh
92     repo start q10.0 path/to/project
93     cd path/to/project
94     repo upload .
95
96 For more help on using this tool, use this command:
97
98     repo help upload
99
100 You can also use:
101
102     git push ssh://USERNAME@gerrit.aicp-rom.com:29418/AICP/REPO_NAME HEAD:refs/for/branch-name
103
104 Example:
105
106     git push ssh://USERNAME@gerrit.aicp-rom.com:29418/AICP/platform_manifest HEAD:refs/for/q10.0
107
108
109 6th You will get an error about a missing Change-ID in that error it will show you a suggested commit message copy the change id
110
111 7th Do the following command and add the Change-ID to the end of the commit message
112
113     git commit --amend
114
115 Here is an example of what the commit message should look like:
116
117 > Add how to push to gerrit
118 >
119 > Change-Id: I93949d30d732de35222d9d78d1f94e33e4bffc47
120
121 8th use the same command to push to gerrit and if you did everything properly it will be up on gerrit
122
123
124
125 ## Maintaining Authorship ##
126 Always make sure if you submit a patch/fix that you maintain authorship.
127 This is very important to not only us but to the entire open source community. It's what keeps it going and encourages more developers to contribute their work.
128
129 If you manually cherry pick a patch/fix add the original author prior to pushing to our gerrit.
130 This task is very easy and is usually done after you commit a patch/fix locally.
131
132 i.e - Once you type in "git commit -a" the commit message and you have saved it, type in the following:
133
134 ```bash
135 git commit --amend --author "Author <email@address.com>"
136 ```
137
138 So it should look like this once you get all author's information:
139
140 ```bash
141 git commit --amend --author "John Doe <john.doe@gmail.com>"
142 ```
143
144 Picking changes from our gerrit
145 -------------------------------
146
147 (From root android directory)
148     . build/envsetup.sh
149
150 to pick every change from a topic:
151
152     repopick -t topic
153
154 to pick a specific change
155
156     repopick commit-number
157
158 example, to pick this commit: https://gerrit.aicp-rom.com/#/c/36939/
159
160     repopick 36939
161
162
163 Additonal build info
164 -------------------------------
165 https://github.com/AICP/vendor_aicp/blob/q10.0/docs/aicpInfo.md
166
167
168 ## Maintainer Application ##
169 If you have the necessary skills and would like to become a part of our group by becoming a maintainer,
170 please see [this link](https://github.com/AICP/vendor_aicp/blob/q10.0/docs/maintainerApplication.md) for further information and maintainer application.