diff options
Diffstat (limited to 'README.txt')
-rw-r--r-- | README.txt | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/README.txt b/README.txt deleted file mode 100644 index 6625ea550..000000000 --- a/README.txt +++ /dev/null @@ -1,112 +0,0 @@ -Some of the SDK tools sources have moved out of the sdk.git project. -They are no longer found here. - -Instead they can be found in the tools/base.git and the tools/swt.git projects. -If you need to view/change the source and lack these folders, you can bring -them by using a repo init command such as: - -$ repo init -u https://android.googlesource.com/platform/manifest -g all,-notdefault,tools -$ repo sync [-j N] - -The libraries that are sourced in tools/base and tools/swt are converted to -prebuilts which are located in prebuilts/devtools. These prebuilts are the -ones being used when doing a "make sdk". - - ----------- -1- I don't build full SDKs but I want to change tool X: ----------- - -Let's say as an example you want to change lint. -It's now located in tools/base/lint. - -To build it from the command-line, you'd use "gradle" as such: - -$ cd tools/base -$ ./gradlew lint:build - -Output is located in $TOP/out/host/gradle/tools/base/lint/libs/ - -Some comments/tips: -- Gradle is a build system, a bit like make or ant. - If you want to know more, visit http://www.gradle.org/ - -- On Windows with the CMD shell, use ./gradlew.bat. - For Cygwin, Linux or Mac, use ./gradlew. - -- Gradle targets are in the form "project-name:task-name". - To get a list of possible tasks, try this: $ ./gradlew lint:tasks - -- Generally there are only 2 task names to remember: - $ ./gradlew lint:assemble ==> builds but do not run tests. - $ ./gradlew lint:check ==> runs tests and checks such as findbugs. - -- To find the list of project-names you can use with gradle: - $ ./gradlew projects - -The new moved projects are unsurprisingly named like their former "make" -counterparts. They are split between 2 repos: -- tools/swt contains all SWT-dependent projects. -- tools/base contains all other non-SWT projects. - -However that means that when you want to modify a project using both repos, -you need an extra step. - -For example, the SDK Manager UI is located in /tools/swt/sdkmanager. -However it does depend on /tools/base/sdklib. Let's say you want to -make a change in both sdklib and sdkuilib. Here are the steps: - -$ # Edit tools/base/sdklib files. -$ cd tools/base ; ./gradlew sdklib:publishLocal - => this builds sdklib and "publishes" an sdklib.JAR into a local maven - repo located in the out/gradle folder. Note that this is just a - temporary build artifact and is NOT used by "make sdk". - -$ # Edit tools/swt/sdkmanager/sdkuilib files to use the changes from sdklib. -$ cd ../../tools/swt ; ./gradlew sdkuilib:assemble - => this builds sdkuilib by using the local JAR of sdklib that is - located in the out/gradlew folder. - - - ----------- -2- How do I change some tools sources and build a new SDK using these? ----------- - -Let's say you changed something in tools/base/lint and run "make sdk" from -the top dir. Your changes will NOT be included in the resulting SDK. - -That's because the SDK has been changed to only rely on the prebuilts located -in /prebuilts/devtools. There are pros and cons with this approach and we're -not going to discuss them here. Instead we'll focus on what you need to do. - -It's fairly simple. Go back to the top dir on your Android tree and run: - -$ prebuilts/devtools/update_jars.sh -f -$ make sdk - -Now your changes are included in the generated SDK. - -What you should know about the update_jars.sh script: -- Without argument, it prints what it would do but does nothing. - Use the "-f" argument to make it build/copy stuff. - -- It builds indiscriminiately. It just builds ALL the libs from - tools/base and tools/swt and updates all the JARs under prebuilts/devtools. - That should only take 20-30 seconds though. Eventually we'll work on - making it smarter because obviously we don't want anyone to just try - to submit 30 JARs just because their timestamp changed. - -- It generates a git merge msg in prebuilts/devtools that has the sha1 - of the corresponding tools/base and tools/swt projects. - Use option -m to prevent this. - - ------- - -Need a place to discuss all this? -http://groups.google.com/group/adt-dev is the right place. - ---- RM 20130409 - - |