Commit Graph

1475 Commits

Author SHA1 Message Date
Nick Alexander
2905771b59 Bug 1137898 - Migrate to android:versionCode scheme v1. r=rnewman,snorp
Android version codes serve multiple masters.  They indicate newer
versions, yes; but they also break ties between versions with
different features and requirements. High order bits effectively
partition the space of versions and are valuable.  Since Android
version codes are signed Java integers, we have 31 bits to work with.
Mozilla's traditional build ID is YYYYMMDDhhmmss.  This was chopped to
ten characters (YYYYMMDDhh, i.e., hourly build IDs) and then converted
to a decimal.  This took many high order bits.  We will lose another
high order bit in the 36th month of 2015 -- i.e., as soon as the year
rolls over to 2016.  If we waited to lose the next higher order bit,
we'd lose that one in the 46th month of 2017 -- i.e., as soon as the
year rolls over to 2018.

The following patch sacrifices a high order bit to change the version
scheme, winning us roughly 15 years of hourly build IDs before we are
forced to lose another high order bit.  So it's clearly to our
advantage to change the scheme sooner rather than later -- we will
sacrifice 1 bit for 15 years of build IDs, rather than keeping the
current scheme and sacrificing (say) 2 bits for 3 years of build IDs.

The resulting scheme produces build IDs that look like (in binary):

0111 1000 0010 tttt tttt tttt tttt txpg

The meaning of these build IDs is documented in the Python source code
that generates them.
2015-08-26 18:34:48 -07:00
Geoff Brown
2f328e3cce Bug 1164596 - Add mach android-emulator command; r=ahal 2015-09-01 15:07:53 -06:00
Nicholas Nethercote
10d95cca57 Bug 1198334 (part 1) - Replace the opt-in FAIL_ON_WARNINGS with the opt-out ALLOW_COMPILER_WARNINGS. r=glandium.
The patch removes 455 occurrences of FAIL_ON_WARNINGS from moz.build files, and
adds 78 instances of ALLOW_COMPILER_WARNINGS. About half of those 78 are in
code we control and which should be removable with a little effort.
2015-08-27 20:44:53 -07:00
Xidorn Quan
4ccdd6c2ca Bug 1188468 - Allow script to force updating a generated file even if the file is actually not changed. r=gps 2015-08-25 10:07:43 +10:00
Birunthan Mohanathas
bb811b7b74 Bug 1197527 - Consolidate obtaining hg path into mozversioncontrol.get_hg_path; r=gps
DONTBUILD
2015-08-24 14:37:42 -04:00
Philipp Kewisch
9735d51f09 Bug 1167986 - TEST-UNEXPECTED-FAIL | xpcshell-unpack.ini:toolkit/mozapps/extensions/test/xpcshell/test_signed_install.js (and signing failures). r=gps 2015-08-23 11:54:44 +02:00
Wes Kocher
23f350eb4a Merge m-c to inbound, a=merge 2015-08-20 12:51:40 -07:00
Wes Kocher
8a06308208 Merge inbound to central, a=merge 2015-08-20 12:42:21 -07:00
Joel Maher
3df7576e09 Bug 1196253 - update in-tree psutil to 3.1.1. r=gps 2015-08-20 08:03:31 -04:00
Wes Kocher
facff1f61c Merge m-c to fx-team, a=merge CLOSED TREE 2015-08-19 17:13:38 -07:00
Nick Alexander
e73070f60a Bug 1195388 - Part 2: Add ANDROID_EXTRA_{PACKAGES,RES_DIRS} moz.build variables. r=gps
This moves a little bit more of mobile/android/base/Makefile.in into
moz.build, and gets closer to moving that aapt invocation into
java-build.mk.

There are no other extra package consumers in the tree.  (There should
be a new one shortly: b2gdroid.)
2015-08-14 18:13:11 -07:00
Nick Alexander
ed54e3e6de Bug 1195388 - Part 1: Make ANDROID_APK_{NAME,PACKAGE} moz.build variables. r=gps
This paves the way for defining additional Android packages in
moz.build, which is a step toward moving the special
mobile/android/base/Makefile.in aapt invocations into the generic
java-build.mk framework.

The new variables are both passthru variables for now: in the future,
we'll roll them into some aggregate Android APK definition.

It's worth noting that references to the variables in Makefile.in
files are only defined after including rules.mk (and thereby
backend.mk).  This only required a few changes in the tree but it
confused me for some time.
2015-08-19 12:34:58 -07:00
Andrew Halberstadt
827d285abf Bug 1194415 - Refactor BuildProgressFooter.draw() for minor |mach build| perf improvement, r=gps
Over a 19 minute build, |mach build| was spending ~45s drawing the TIER footer. This brings it down to ~30s.
2015-08-13 14:08:12 -04:00
Niels De Graef
cb94ee79a8 Bug 1195182 - Fixed broken AUR link for uuid; r=gps
DONTBUILD (NPOTB)
2015-08-18 09:26:37 -07:00
Aaron Raimist
e18668e858 Bug 1171783 - Fix bootstrap.py by using DNF instead of Yum if possible; r=mshal
DONTBUILD (NPOTB)
2015-08-19 12:56:22 -07:00
David Keeler
5bd4392e56 bug 1190603 - import PyECC library r=gps,gerv
Obtained from https://github.com/amintos/PyECC.git
(commit 1bfd3a41410c3650e57d58f7bd016bb0819af250)
2015-08-03 15:17:00 -07:00
Nathan Froyd
ea9523cda0 Bug 1186444 - part 2 - remove MODULE_OPTIMIZE_FLAGS from config.mk; r=mshal 2015-07-22 11:17:49 -04:00
Andrew Halberstadt
b835a2b05d Bug 1184696 - Add clobber targets to |mach clobber|; Ability to clobber compiled python files, r=gps
This change adds a 'what' parameter to |mach clobber| which facilitates clobbering other things as well.
E.g, |mach clobber python| now clobbers all .pyc and .pyo files in the tree. Multiple clobber targets can
be specified, e.g |mach clobber objdir python|. By default |mach clobber| without arguments will only
remove the currently active objdir, the same as before.
2015-07-20 14:38:18 -04:00
Ryan VanderMeulen
a9edb1d72e Merge fx-team to m-c. a=merge 2015-08-13 11:00:54 -04:00
Nick Alexander
af1552a1e9 Bug 1160563 - Part 2: Make ANDROID_ASSETS_DIRS a moz.build variable. r=gps
We have had singular ANDROID_ASSETS_DIR in Makefile.in for a while.
Fennec itself does not use the existing Makefile.in Android code, for
complicated historical reasons.

This makes the existing variable moz.build-only; generalizes the
existing variable to an ordered list; and adds the equivalent use of
the new list to the Fennec build, with a simple example asset.

This patch also updates the packager to include assets packed into the
gecko.ap_.  Without the packager change, the assets/ directory in the
ap_ gets left out of the final apk.  This whole approach is totally
non-standard but is more or less required to support our single-locale
repack scheme.
2015-08-12 11:04:03 -07:00
Nick Alexander
295c6a8b90 Bug 1160563 - Part 1: Make ANDROID_RES_DIRS a moz.build variable. r=gps
This patch does a few things.  First, it adds an AbsolutePath data
type, sibling to SourcePath and ObjDirPath.  (Existing Path consumers
that accept an open set of Path subtypes, and that only use full_path,
should function fine with the new AbsolutePath subtype.)

Second, it moves ANDROID_RES_DIRS to a moz.build list of Paths
(ordered).  We test, but don't use in tree, the new AbsolutePath.
2015-08-12 11:03:44 -07:00
Eric Rahm
d716f3b3b6 Bug 1193914 - Properly check ide type when deciding whether or not to package. r=benwa 2015-08-12 13:59:05 -07:00
Ted Mielczarek
82b25b277d bug 1164816 - Import concurrent.futures into the tree. r=gps 2015-05-12 14:52:06 -04:00
Ted Mielczarek
12ea8e3272 bug 1190522 - Rewrite pkg-dmg as a Python script. r=gps 2015-08-03 15:40:04 -04:00
Kyle Huey
9baeea0e4a No bug: Make ./mach clobber work on windows without winrm.exe. r=me 2015-08-11 06:10:46 -07:00
James Graham
9b5c143ca1 Bug 1192315 - Support remainder arguments from predefined parsers in mach, r=gps
Mach has special handling for remainder arguments which previously
only worked with the decoration form. Extend this to also work when
a command passes in an explict parser
2015-08-07 18:13:05 +01:00
Allison Naaktgeboren
67c0deb9e5 Bug 1125280 Part 1 build- Different suggestedsite tiles on first run for kidfox.r=gps 2015-08-07 21:40:41 -07:00
Mike Hommey
eef2feb766 Bug 1181040 - Set ${var}_IS_SET variables for mk_add_options-defined variables. r=gps
It is useful to be able, during mozconfig execution, to do tests depending
on what was previously added with mk_add_options. Specifically, there is a
need to do this for MOZ_PGO because developers pushing to try may add it to
mozconfig.common.override.

While, ideally, it would be nice if we just defined the variable itself in
the mozconfig execution environment, that is a tedious task, having to jump
through hoops with eval, and handle all cases of variable assigment properly.

The hacky alternative is to just treat MOZ_PGO specially, but meh.

So instead, we set a ${var}_IS_SET variable to 1, indicating that a
mk_add_options defined ${var} to some value.
2015-08-07 06:51:52 +09:00
Mike Hommey
cfa560b136 Bug 1191575 - Optimize the RecursiveMakeBackend._check_blacklisted_variables test. r=gps
Bug 1153566 changed the regexp used in that method in such a way that there
has been a big hit in the time spent executing the make backend. On my machine,
with the current code, mach build-backend indicates:
  Backend executed in 5.01s
With the change from bug 1153566 reverted:
  Backend executed in 2.97s
That's a significant regression for a 4-character change.
But we can actually avoid using regexp in most cases, which can make things faster
than they were. With this change, we get down to:
  Backend executed in 2.28s
For reference, making the _check_blacklisted_variables method do nothing at all
ends with:
  Backend executed in 2.20s
2015-08-07 06:51:44 +09:00
Ryan VanderMeulen
53d38e83c2 Backed out revision bca1ad6cc378 (bug 1190522) for breaking OSX B2G Desktop builds. 2015-08-06 15:43:45 -04:00
Ted Mielczarek
6dfb5c0ad4 bug 1190522 - Rewrite pkg-dmg as a Python script. r=gps 2015-08-03 15:40:04 -04:00
Ted Mielczarek
4da660fac9 bug 1191598 - Pass MOZ_CURRENT_PROJECT in environment when running post-build automation steps for universal mac builds. r=gps 2015-08-05 12:11:24 -04:00
Chris Manchester
d0b57aeab1 Bug 1183232 - Allow selecting tests and suites with just a tag from mach try. r=ahal,gps 2015-08-06 10:19:31 -07:00
Carsten "Tomcat" Book
cd08ce8ee8 Merge mozilla-central to mozilla-inbound 2015-08-05 13:19:38 +02:00
Nick Alexander
c147a5966a Bug 1191051 - Use full 40 character hashes in |mach artifact|. r=gps
DONTBUILD NPOTB on a CLOSED TREE
2015-08-04 13:32:00 -07:00
Mike Hommey
4b25d9d54e Bug 1188224 - Remove stale .pyc files from the source directory at import time. r=gps 2015-08-05 15:45:45 +09:00
Mike Hommey
282fa607e1 Backed out changeset 684252f11061 (bug 1188224) for make check bustage. 2015-08-05 13:50:11 +09:00
Mike Hommey
3e90c79d2a Bug 1188224 - Remove stale .pyc files from the source directory at import time. r=gps 2015-08-05 11:17:03 +09:00
Nick Alexander
a2f081b3db Bug 1189459 - Allow generating geckoview AAR files when MOZ_APP_NAME is not 'fennec'. r=gps
This just allows a little versatility for consumers such as b2gdroid,
which are Fennec-like but don't have MOZ_APP_NAME=fennec.

I elected to pass appname as a parameter rather than modify the
existing distdir because I expect to want to differentiate, in some
way, the output AAR files based on the underlying name.  That is, in
future we might generate geckoview-fennec-VERSION.aar and
geckolibs-b2gdroid-VERSION.aar, or stuff the name into the Ivy version
information, or...

This also fixes a typo in one of the JarFinder instantiations.
2015-07-30 11:50:44 -07:00
Dustin J. Mitchell
8181ae8adc Bug 1188551: treat assertion failures as bad mozconfig; r=mshal 2015-07-29 14:14:05 -04:00
Vladimir Vukicevic
e2e8e0edb8 Bug 1157420, mach should generate VS2013 project files and use a better dir structure; r=froydnj 2015-07-20 16:21:15 -04:00
Mike Hommey
10f84c0f96 Bug 1187245 - Make .mozconfig.mk environment variables available to mach valgrind-test. r=gps 2015-07-28 08:19:14 +09:00
Mitchell Field
8420f62df2 Bug 1126228 - Directory (--directory) argument for |mach warnings-list| and |mach warnings-summary|. r=gps 2015-01-27 21:13:28 +11:00
Mike Hommey
d3c39c2edd Bug 1186229 - Enable Gtk+3 builds by default. r=gps
Note Gtk+3 builds need both Gtk+2 *and* Gtk+3.
2015-07-23 10:24:31 +09:00
Mike Hommey
ee3e2620b4 Bug 1185671 - Use BytesIO instead of StringIO as backing store for FileAvoidWrite, and handle writing unicode to it explicitly. r=gps 2015-07-23 09:37:33 +09:00
Ben Hearsum
33b60710f7 bug 1185530: mach boostrap should ensure that gnutar is installed. r=gps 2015-07-20 14:26:58 -04:00
Supradeep T R
2c430cadf5 Bug 1184780 - Use command help instead of main help; r=gps 2015-07-17 13:42:12 -07:00
Gregory Szorc
1fc86840a0 Bug 1184030 - Avoid implicit unicode <-> str conversion; r=smacleod
CalledProcessError.output and subprocess.check_output's return value
are str types. This file uses unicode_literals. If we do something
like `if 'foo' in e.output`, there will be a mix of str and unicode
types and Python will do implicit conversion. If the strings aren't
ASCII, we'll likely encounter a UnicodeDecodeError.

Use b'' literals around all strings to prevent this coercion from
occurring.
2015-07-17 11:25:49 -07:00
Jonathan Griffin
c5804d74fa Bug 1179292 - Make mozinfo recognize linux64-asan as a distinct platform, r=ahal 2015-07-16 13:17:56 -07:00
Ehsan Akhgari
7e09aaf6ad Bug 1180275 - Part 1: Add a release_build mozinfo variable; r=ted 2015-07-16 14:47:52 -04:00