Граф коммитов

35 Коммитов

Автор SHA1 Сообщение Дата
cjhopman@chromium.org bf2791cc95 Split apk-build.xml into 3 steps
In preparation for rewriting these actions in python, split apk-build.xml into smaller ant scripts. This should not change the functionality and mostly is just splitting the file and identifying the properties and defines required for each of the new files.

Some of the configuration is moved out of ant and into gyp (i.e. the android_manifest_path is now gyp-configurable).

Also, the ant scripts now use the correct basedir! That is, these ant scripts actually understand relative paths. To go along with this, resource_dir is the relative path to the resource directory (rather than a path relative to java_in_dir).

BUG=158821
TBR=torne@chromium.org, brettw@chromium.org
NOTRY=true

Review URL: https://chromiumcodereview.appspot.com/12963009

git-svn-id: http://src.chromium.org/svn/trunk/src/build@190712 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2013-03-26 17:35:21 +00:00
newt@chromium.org 87b2b696dc Generate Android string files from generated_resources.grd.
This enables Android layouts and Java code to use strings from
generated_resources.grd directly.  Strings tagged with
formatter_data="android_java" in generated_resources.grd are used to produce an
Android strings xml file.

BUG=176069


Review URL: https://chromiumcodereview.appspot.com/12529025

git-svn-id: http://src.chromium.org/svn/trunk/src/build@190573 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2013-03-26 07:31:57 +00:00
jayjang@chromium.org 06727a213d Make manifestmerge.enabled configurable from java_apk.gypi In order to put activity or service AndroidManifest.xml by flag we need to be able to set "manifestmerge.enabled=true" from gyp file. This is required to put googletv specific activity and services
BUG=181470


Review URL: https://chromiumcodereview.appspot.com/12450013

git-svn-id: http://src.chromium.org/svn/trunk/src/build@189115 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2013-03-19 21:40:39 +00:00
cjhopman@chromium.org 00cec5be32 This is the first change in simplifying our ant build scripts.
First check in a copy of 
third_party/android_tools/sdk/tools/ant/build.xml as 
build/android/ant/apk-build.xml

Previously we were overriding targets from this build.xml
in build/android/ant/sdk-targets.xml. Instead of doing this
override, just replace the actual targets in apk-build.xml.

Do the same for properties that we were overriding in 
build/android/ant/chromium-apk.xml.

Both of these have no logical change on these build scripts. 
Ant's targets and properties are immutable and so Ant was
doing this exact thing already.


BUG=158821


Review URL: https://chromiumcodereview.appspot.com/12599005

git-svn-id: http://src.chromium.org/svn/trunk/src/build@187483 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2013-03-12 03:58:06 +00:00
cjhopman@chromium.org 0dc4b9a2a6 Move shared lib stripping to python
This is a pretty simple translation of the library stripping into
python. With the component build, this step will become a bit more
complex, and so I'd much rather it be in python than shell script.


BUG=158821


Review URL: https://chromiumcodereview.appspot.com/12330112

git-svn-id: http://src.chromium.org/svn/trunk/src/build@186735 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2013-03-07 17:39:22 +00:00
newt@chromium.org ad28e0b4ee Temporary fix for build break when removing Java files or resources.
This appends the list of inputs to the ant and process_resources.py
commands. Thus when the list of inputs changes, the command line
changes, and ninja will re-run the command.

This will be removed once ninja is updated to automatically rebuild
when the input list changes.

BUG=177449,177552


Review URL: https://chromiumcodereview.appspot.com/12379066

git-svn-id: http://src.chromium.org/svn/trunk/src/build@186299 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2013-03-06 00:36:41 +00:00
cjhopman@chromium.org ba119ddda2 Use _target_name instead of package_name for java*.gypi
We were using package_name as a unique name for naming output files and
directories. package_name was typically the same as _target_name or a
variation of it (like dropping _apk). Using _target_name instead means
we need to specify one less thing and it is (maybe?) guaranteed to be
unique.

TBR=brettw,joi,jar,fischman,zea,sky
BUG=

Review URL: https://chromiumcodereview.appspot.com/11308030

git-svn-id: http://src.chromium.org/svn/trunk/src/build@183639 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2013-02-20 22:39:17 +00:00
nileshagrawal@chromium.org 4e7a52f05b Relanding "Add apk for running content_browsertests"
Revert "Revert 179189"

This reverts commit 5844ab0c6a41cc9d306f8c355cc7ceb5e290cbb1.

Original CL:https://codereview.chromium.org/12047068/
was reverted as we failed to update the bot scripts with the new package
name for content_shell_apk

TBR=mark@chromium.org,jam@chromium.org
BUG=138275


Review URL: https://chromiumcodereview.appspot.com/12091033

git-svn-id: http://src.chromium.org/svn/trunk/src/build@179428 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2013-01-29 21:55:55 +00:00
nileshagrawal@chromium.org 301f139360 Revert 179189
Failed to rename package name in buildbot scripts. Broke buildbots.

> Add apk for running content_browsertests
>     
> Split off org.chromium.content_shell into:
>       org.chromium.content_shell - content shell java code, builds a jar, directory structure similar to other jar targets
>       org.chromium.content_shell_apk - application code to build content_shell_apk, directory structure similar to that of android application
>       org.chromium.content_browsertests_apk - application code to build content_browsertests_apk
> 
> Also splitting content/shell/android/res into:
>   - content/shell/android/java/res 
>   - content/shell/android/shell_apk/res
> 
> Both content_shell_apk and content_browsertests_apk will depend on content_shell_java target to include java/res needed to show a shell based browser.
>     
> I will do another CL to move The java files for content_shell_tests_apk to content_shell_apk package.
>     
> BUG=138275
> 
> 
> Review URL: https://chromiumcodereview.appspot.com/12047068

TBR=nileshagrawal@chromium.org
Review URL: https://codereview.chromium.org/12088031

git-svn-id: http://src.chromium.org/svn/trunk/src/build@179211 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2013-01-28 23:20:06 +00:00
nileshagrawal@chromium.org 5071c38e81 Add apk for running content_browsertests
Split off org.chromium.content_shell into:
      org.chromium.content_shell - content shell java code, builds a jar, directory structure similar to other jar targets
      org.chromium.content_shell_apk - application code to build content_shell_apk, directory structure similar to that of android application
      org.chromium.content_browsertests_apk - application code to build content_browsertests_apk

Also splitting content/shell/android/res into:
  - content/shell/android/java/res 
  - content/shell/android/shell_apk/res

Both content_shell_apk and content_browsertests_apk will depend on content_shell_java target to include java/res needed to show a shell based browser.
    
I will do another CL to move The java files for content_shell_tests_apk to content_shell_apk package.
    
BUG=138275


Review URL: https://chromiumcodereview.appspot.com/12047068

git-svn-id: http://src.chromium.org/svn/trunk/src/build@179189 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2013-01-28 21:21:00 +00:00
newt@chromium.org e565093c2f Re-land "[Android] Generate localized strings.xml files at build time."
This generates localized strings.xml files (e.g.
values-fr/strings.xml) from grd and xtb files at build time. This
means we no longer need to check in localized strings.xml files. Note:
the xtb files are empty until translations are available.

Benefits:
 - 41 fewer extraneous results when grepping Java string IDs
 - Switching from maintaining strings in strings.xml over to using a
   grd file is One Trivial CL* away: just include English in the list
   of languages for which we generate strings.xml files.

*Restrictions may apply

Originally landed as https://codereview.chromium.org/11659006/
This can be re-landed as of https://codereview.chromium.org/11880050/

BUG=167248
TBR=yfriedman@chromium.org,thakis,jam@chromium.org,cjhopman,shashishekhar@chromium.org

Review URL: https://codereview.chromium.org/11967005

git-svn-id: http://src.chromium.org/svn/trunk/src/build@177170 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2013-01-16 17:54:42 +00:00
yfriedman@chromium.org 8af4ad7f96 [Android] Remove some unneeded gyp defines.
These are crufy and not needed anymore. A follow-up will start pushing used defines into gyp.

Review URL: https://codereview.chromium.org/11887034

git-svn-id: http://src.chromium.org/svn/trunk/src/build@176971 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2013-01-15 21:13:32 +00:00
yfriedman@chromium.org 731dfc09b1 Revert 176198
Fixed permissions on build/android/envsetup.sh

> Revert 176176
> > Update Android build to API level 17 and SDK Tools version 21
> > 
> > Some fixes included:
> > - Changes to resource management to account for new R.java packaging
> >   from library projects
> >   (https://android-review.googlesource.com/#/c/43134/).
> > - Fixed the package for some inludes in ModalDialogTest.java. This only
> >   worked because of how we previously used to aggregate all resoures
> >   from the prior layer. With the new packaging, we must use the resource
> >   from the appropriate layer.
> > 
> > BUG=163001,166434
> > NOTRY=true
> > 
> > Review URL: https://chromiumcodereview.appspot.com/11819047
> 
> TBR=yfriedman@chromium.org
> Review URL: https://codereview.chromium.org/11783108

TBR=smckay@chromium.org
Review URL: https://codereview.chromium.org/11820065

git-svn-id: http://src.chromium.org/svn/trunk/src/build@176202 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2013-01-10 23:33:38 +00:00
smckay@chromium.org e573012f0f Revert 176176
> Update Android build to API level 17 and SDK Tools version 21
> 
> Some fixes included:
> - Changes to resource management to account for new R.java packaging
>   from library projects
>   (https://android-review.googlesource.com/#/c/43134/).
> - Fixed the package for some inludes in ModalDialogTest.java. This only
>   worked because of how we previously used to aggregate all resoures
>   from the prior layer. With the new packaging, we must use the resource
>   from the appropriate layer.
> 
> BUG=163001,166434
> NOTRY=true
> 
> Review URL: https://chromiumcodereview.appspot.com/11819047

TBR=yfriedman@chromium.org
Review URL: https://codereview.chromium.org/11783108

git-svn-id: http://src.chromium.org/svn/trunk/src/build@176198 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2013-01-10 23:18:11 +00:00
yfriedman@chromium.org 7720827607 Update Android build to API level 17 and SDK Tools version 21
Some fixes included:
- Changes to resource management to account for new R.java packaging
  from library projects
  (https://android-review.googlesource.com/#/c/43134/).
- Fixed the package for some inludes in ModalDialogTest.java. This only
  worked because of how we previously used to aggregate all resoures
  from the prior layer. With the new packaging, we must use the resource
  from the appropriate layer.

BUG=163001,166434
NOTRY=true

Review URL: https://chromiumcodereview.appspot.com/11819047

git-svn-id: http://src.chromium.org/svn/trunk/src/build@176176 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2013-01-10 22:27:17 +00:00
newt@chromium.org 8b3ac4b321 Revert 176134
> [Android] Generate localized strings.xml files at build time.
> 
> This generates localized strings.xml files (e.g.
> values-fr/strings.xml) from grd and xtb files at build time. This
> means we no longer need to check in localized strings.xml files. Note:
> the xtb files are empty until translations are available.
> 
> Benefits:
>  - 41 fewer extraneous results when grepping Java string IDs
>  - Switching from maintaining strings in strings.xml over to using a
>    grd file is One Trivial CL* away: just include English in the list
>    of languages for which we generate strings.xml files.
> 
> *Restrictions may apply
> 
> BUG=167248
> 
> Review URL: https://codereview.chromium.org/11659006

TBR=newt@chromium.org
Review URL: https://codereview.chromium.org/11820058

git-svn-id: http://src.chromium.org/svn/trunk/src/build@176151 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2013-01-10 21:05:48 +00:00
newt@chromium.org 7c4ca3e243 [Android] Generate localized strings.xml files at build time.
This generates localized strings.xml files (e.g.
values-fr/strings.xml) from grd and xtb files at build time. This
means we no longer need to check in localized strings.xml files. Note:
the xtb files are empty until translations are available.

Benefits:
 - 41 fewer extraneous results when grepping Java string IDs
 - Switching from maintaining strings in strings.xml over to using a
   grd file is One Trivial CL* away: just include English in the list
   of languages for which we generate strings.xml files.

*Restrictions may apply

BUG=167248

Review URL: https://codereview.chromium.org/11659006

git-svn-id: http://src.chromium.org/svn/trunk/src/build@176134 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2013-01-10 20:02:26 +00:00
yfriedman@chromium.org c5949d2c12 Reduce verbosity of Android builds.
There's a lot of boilerplate from running ant. Passing '-q' silences most of it.

BUG=164395
NOTRY=True

Review URL: https://chromiumcodereview.appspot.com/11606010

git-svn-id: http://src.chromium.org/svn/trunk/src/build@173688 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2012-12-18 07:54:35 +00:00
shashishekhar@chromium.org ec5d4b16f2 Add gyp dependency on proguard flags.
Apks currently are not rebuilt when proguard flags change, add
gyp dependency on proguard flags.


Review URL: https://chromiumcodereview.appspot.com/11419249

git-svn-id: http://src.chromium.org/svn/trunk/src/build@170820 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2012-12-03 22:08:33 +00:00
newt@chromium.org d82a0d737e Enable Android APKs to be build with R.java in a custom package.
BUG=158558


Review URL: https://chromiumcodereview.appspot.com/11411049

git-svn-id: http://src.chromium.org/svn/trunk/src/build@168704 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2012-11-20 02:17:23 +00:00
newt@chromium.org 986e331cb8 Support Java resources within content.
This provides support for android-style resource folders in content and other
non-apk Java targets. The AppResource hack can then be removed shortly.

Details: while building a non-apk target (e.g. chromium_content.jar), we
generate an R.java file with non-final constants and in the appropriate Java
package (e.g. org.chromium.content.R) using the resources in the target (e.g.
content/public/android/java/res). This R.java is used to produce the jar, but is
not included in the jar itself.

When we later build an apk, we merge the resources from the apk (e.g.
org/chromium/content_shell/res) with the resources from the non-apk targets it
depends on (e.g. content/public/android/java/res). A new R.java is generated
using the merged resources with the correct mapping from resources to integer
IDs. This R.java file is copied into each needed package (e.g.
org.chromium.content.R and org.chromium.content_shell.R) and included in the
apk.

This is the first of three CLs to replace AppResource with R:
1. http://codereview.chromium.org/11363150 - Support Java resources within content
2. http://codereview.chromium.org/11360207 - Add Java resources to content and chrome
3. http://codereview.chromium.org/11377117 - Remove AppResource and unneeded resources

BUG=136704

Review URL: https://codereview.chromium.org/11363150

git-svn-id: http://src.chromium.org/svn/trunk/src/build@168283 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2012-11-16 20:39:20 +00:00
cjhopman@chromium.org e75eedd6de Specify jar name for apks in java_apk.gypi
Previously, we had to keep this name in sync in multiple places, the
"fake" xxx_java target and in sdk-targets.xml. Instead, it should be set
only in java_apk.gypi and then passed along to each of the places that
we were specifying it before.

Also, delete unused 'output' block and unneeded xxx_java dependencies.

BUG=


Review URL: https://chromiumcodereview.appspot.com/11363131

git-svn-id: http://src.chromium.org/svn/trunk/src/build@168148 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2012-11-16 07:31:49 +00:00
cjhopman@chromium.org aff218abd9 Remove unneeded symbolic link to libraries.
The stack annotation tool has been changed to work with Chrome output
directory structure and so we no longer need to create the artificial
structure in out/android.

BUG=


Review URL: https://chromiumcodereview.appspot.com/11368102

git-svn-id: http://src.chromium.org/svn/trunk/src/build@166423 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2012-11-07 15:08:01 +00:00
shashishekhar@chromium.org 51f63436a8 Remove -debug suffix in apk names.
-debug suffix is used even for Release builds, remove this suffix
now apk name will have no suffix in either Debug or Release builds.

BUG=155946


Review URL: https://chromiumcodereview.appspot.com/11221003

git-svn-id: http://src.chromium.org/svn/trunk/src/build@162803 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2012-10-18 21:52:16 +00:00
shashishekhar@chromium.org 91d3f56957 Make resource directory option in gyp template optional.
Resource directory may not always be defined for an apk, make it optional.

BUG=156061

Review URL: https://chromiumcodereview.appspot.com/11189010

git-svn-id: http://src.chromium.org/svn/trunk/src/build@162477 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2012-10-17 19:07:14 +00:00
cjhopman@chromium.org cac2cd5439 Move shared library copy and strip to java_apk.gypi
Also, for each such shared library included in an apk, create a link in
the appropriate directory in <(android_product_out) to enable annotating
native stack traces for those apks.

BUG=


Review URL: https://chromiumcodereview.appspot.com/11096038

git-svn-id: http://src.chromium.org/svn/trunk/src/build@161440 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2012-10-11 23:23:49 +00:00
shashishekhar@chromium.org 08b182227f Add Proguard option to gyp template.
Add proguard specific options to java_apk.gypi so that an apk can
specify proguard flags.

BUG=149214


Review URL: https://chromiumcodereview.appspot.com/11100002

git-svn-id: http://src.chromium.org/svn/trunk/src/build@161004 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2012-10-10 01:29:46 +00:00
yfriedman@chromium.org 0a943a3e73 Fix chromium testshell crash on startup.
After http://codereview.chromium.org/10876056/, we need to include chrome's pak files in testshell.

Review URL: https://codereview.chromium.org/11092032

git-svn-id: http://src.chromium.org/svn/trunk/src/build@160958 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2012-10-09 22:40:39 +00:00
cjhopman@chromium.org b19f62b2df Add support for building apk in release
Until now, even in a Release configuration, apks were built in debug.
Now, they will be built in the correct configuration.

BUG=
TBR=torne

Review URL: https://chromiumcodereview.appspot.com/11017016

git-svn-id: http://src.chromium.org/svn/trunk/src/build@160913 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2012-10-09 20:17:56 +00:00
cjhopman@chromium.org ce4c432363 Make apks build from a single ant .xml template
The ant build files for each of the apks that we create consisted of
only fairly straightforward boilerplate. With the recent changes to
java_apk.gypi and the gyp targets we can now build these correctly from
a single .xml with the differences in how the targets are built being
reflected in the gyp files (and then passed into ant).

TBR=joth
BUG=145991


Review URL: https://chromiumcodereview.appspot.com/10959034

git-svn-id: http://src.chromium.org/svn/trunk/src/build@160396 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2012-10-05 16:51:32 +00:00
cjhopman@chromium.org a2990c0823 Add more generic support for java targets bundling multiple directories
Currently chromium_testshell_test_apk and content_shell_test_apk compile
and package java files from two different directories. Supporting this
in a good way is a requirement for using a single ant template for all
apks.

Introduce a new gyp variable for apk/jar targets, generated_src_dirs.
Now, generated_src_dirs is for directories that contain .java files that
are generated at build time and additional_src_dirs is for extra normal
directories to include in the jar/apk.

Change content_shell_test_apk and chromium_testshell_test_apk to use
additional_src_dirs for their extra dirs.

Add documentation for the gyp variables for jar/apk targets.

Reorder the ant defines in the java.gypi and java_apk.gypi.

BUG=136756,146056


Review URL: https://chromiumcodereview.appspot.com/10987083

git-svn-id: http://src.chromium.org/svn/trunk/src/build@159299 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2012-09-28 18:22:29 +00:00
shashishekhar@chromium.org 8fa63d3e5b Add test jar generation logic for ant builds.
Add a new property generate.test.jar to ant scripts.
When this property is set, a jar containing all compiled
classes and referred classes is generated and placed in
out/{Debug|Release}/test.lib.java directory.
This makes it easier and cleaner to write ant build files for test apks.
New directory structure for the build:
Apks are placed in : out/{Debug|Release}/apks
All java libraries in : out/{Debug|Release}/lib.java
All test java libraries in : out/{Debug|Release}/test.lib.java

This CL also includes cleanup to work with the modified output
directory structure.

BUG=146583

Review URL: https://chromiumcodereview.appspot.com/10905138

git-svn-id: http://src.chromium.org/svn/trunk/src/build@157570 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2012-09-19 18:19:18 +00:00
cjhopman@chromium.org 22126bb4ac Revert 156308 - Revert 156233 - Make apks be built in a consistent way
This broke non-incremental Android builds.

In the original CL there was a discrepancy in the way that Gyp handled
paths and the way that Ant handled paths. Changed it so that
resource_dir is specified relative to java_in_dir so that Gyp and Ant
treat it the same. For http://crbug.com/145991 I will have to make
resource_dir be in a consistent location for all apk targets and at that
point it can be removed from the gyp files.

Original:https://chromiumcodereview.appspot.com/10914130

BUG=


Review URL: https://chromiumcodereview.appspot.com/10913225

git-svn-id: http://src.chromium.org/svn/trunk/src/build@157502 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2012-09-19 04:16:27 +00:00
peter@chromium.org 043bf26e1c Revert 156233 - Make apks be built in a consistent way
This broke non-incremental Android builds.

Simplify apk targets by doing most of the work in build/java_apk.gypi
(like jars are done with build/java.gypi). The apk targets still use
their own ant build files, but everything else is more consistent
between them.

BUG=


Review URL: https://chromiumcodereview.appspot.com/10914130

TBR=cjhopman@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10916264

git-svn-id: http://src.chromium.org/svn/trunk/src/build@156308 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2012-09-12 16:06:45 +00:00
cjhopman@chromium.org 028679960a Make apks be built in a consistent way
Simplify apk targets by doing most of the work in build/java_apk.gypi
(like jars are done with build/java.gypi). The apk targets still use
their own ant build files, but everything else is more consistent
between them.

BUG=


Review URL: https://chromiumcodereview.appspot.com/10914130

git-svn-id: http://src.chromium.org/svn/trunk/src/build@156233 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2012-09-12 04:31:41 +00:00