Commit Graph

3221 Commits

Author SHA1 Message Date
Nathan Froyd
eb55cb6ee0 Bug 1195502 - don't include android toolchain checks for gcc < 4.7; r=nalexander
We don't support gcc < 4.7 when building Gecko, so there's not much
point in potentially checking for those versions.
2015-08-14 17:11:32 -04:00
Jonathan Almeida [:jonalmeida]
26f0001835 Bug 948591 - Intermittent testClearPrivateData | Exception caught - junit.framework.AssertionFailedError: Text string: '^Settings$' is not found! r=mcomella 2015-08-17 00:00:00 -07:00
David Keeler
7640a01369 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
Michael Layzell
8de4ef2721 Bug 1192130 - Part 1: Add MOZ_NON_AUTOABLE to restrict using auto in place of certain types, r=ehsan 2015-08-14 17:33:52 -04:00
Michael Layzell
fc32758878 Bug 1192271 - Add helper method CustomTypeAnnotation::reportErrorIfAbsent to clang-plugin, r=ehsan 2015-08-14 17:33:50 -04:00
Mike Shal
de8a632cdf Bug 1194741 - Display upload output; r=nalexander 2015-08-14 13:28:54 -04:00
Jim Chen
cce764c521 Bug 1194360 - Remove use of inherited constructors; r=snorp
GeneratedJNIWrappers.h was updated in bug 1192079 to use inherited
constructors, which is a gcc 4.8 feature. Many people are still using an
older version of NDK which only comes with gcc 4.7.
2015-08-13 16:57:34 -04:00
Mike Shal
5d9d0a3ebd Bug 1118778 - Write upload properties from upload.py; r=glandium 2015-08-05 15:43:15 -04:00
Ryan VanderMeulen
c94aa4172e Merge fx-team to m-c. a=merge 2015-08-13 11:00:54 -04:00
Jim Chen
4d224c779a Bug 1192079 - Use unqualified names when possible; r=snorp
To reduce verbosity of the generated code, this patch makes the code
generator use unqualified names when possible, e.g. use State::Ref
instead of GeckoThread::State::Ref. To accomplish that, function
prototypes now use the C++11 -> syntax for return types.
2015-08-13 00:53:39 -04:00
Jim Chen
d56439001f Bug 1192079 - Support inner classes in generated JNI wrapper; r=snorp
Currently, when we generate JNI wrapper for an inner class, the
resulting C++ class will not actually be a nested class of the enclosing
class. As a result, the class can be confusing to use. For example,
wrapping Java class GeckoThread.State results in two unrelated C++
classes, GeckoThread and State, and it'd be confusing to use State by
itself.

This patch adds support for inner classes. We start by scanning only for
top-level classes, and when processing each top-level class, we
recursively scan for inner classes through
JarClassIterator.getInnerClasses() and CodeGenerator.generateClasses().
For each Java inner classes, the resulting C++ class will be a nested
class. For example, wrapping GeckoThread.State will produce
widget::GeckoThread and widget::GeckoThread::State.
2015-08-13 00:53:39 -04:00
Nick Alexander
2cb62bed1d 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
Ted Mielczarek
a988d7175d bug 1164816 - Import concurrent.futures into the tree. r=gps 2015-05-12 14:52:06 -04:00
Ted Mielczarek
601251747c bug 1190522 - Rewrite pkg-dmg as a Python script. r=gps 2015-08-03 15:40:04 -04:00
Nathan Froyd
884028744b Bug 1192277 - remove check for LLVM PR 8927; r=glandium
The PR was fixed in early 2011.  clang 3.3, the oldest version of clang
that we build with, was released in mid-2013.  It's safe to say that all
versions of clang now have this fix, and we can delete the check.
2015-08-07 19:35:43 -04:00
Mike Hommey
1912db60e4 Bug 1188766 - Avoid exporting UPLOAD_EXTRA_FILES from mozconfig. r=mshal
The way UPLOAD_EXTRA_FILES is currently exported makes the files added
to the list added in each directory that is being traversed recursively
because of the += in .mozconfig.mk, combined with "export".

The easy way out is to remove the export altogether, but being unsure of
the side effects of putting all non exported mk_add_options variables
in .mozconfig.mk, limit this to UPLOAD_EXTRA_FILES.
2015-08-11 07:22:31 +09:00
Mike Shal
b7d4b0e070 Bug 1192068 - Use long hg revision for sourcestamp in mozharness; r=gps,jlund 2015-08-06 15:39:38 -04:00
Michael Layzell
a19237a067 Bug 885515 - Part 1: Add an analysis for detecting non-heap allocations of MOZ_HEAP_CLASS, r=ehsan 2015-08-09 12:42:10 -04:00
Michael Layzell
cf8d2169e5 Bug 1192015 - Refactor allocation analysis in clang plugin to better allow adding new analyses, and support detecting temporary value allocations, r=ehsan 2015-08-09 12:42:09 -04:00
Ryan VanderMeulen
9724ee4047 Merge m-c to inbound. a=merge 2015-08-07 16:13:43 -04:00
Francois Marier
a0342a6842 Bug 1141352 - add a pairwise allowlist to tracking protection. r=gcp 2015-08-07 13:08:22 -07:00
Wes Kocher
82841444d6 Merge m-c to inbound, a=merge 2015-08-06 18:11:16 -07:00
Nathan Froyd
e46a140f9e Bug 1191884 - remove now-unnecessary check for GCC PR49911; r=glandium
This PR was fixed in the GCC 4.7 development cycle.  Since we require
GCC 4.7 now, we no longer have to check for this bug.
2015-08-06 20:41:38 -04:00
Ryan VanderMeulen
68755aa21d Merge m-c to fx-team. a=merge 2015-08-06 15:53:46 -04:00
Mike Hommey
b0040f54a5 Bug 1181040 - Always disable sccache when doing PGO builds. r=gps 2015-08-07 06:51:56 +09:00
Mike Hommey
e7230d4da8 Bug 1191212 - Force a value for PKG_CONFIG when building on automation. r=mshal
When switching between Gtk+3 and Gtk+2, config.cache will contain a PKG_CONFIG
that may not be suitable for the build:
- after a Gtk+2 build, config.cache will point to the system pkg-config, which
  doesn't like the pkg-config files in the Gtk+3 tooltool package.
- after a Gtk+3 build, config.cache will point to the Gtk+3 tooltool package's
  pkg-config, which is likely not there in a Gtk+2 build.

Setting PKG_CONFIG avoids all config.cache considerations altogether, so set it
appropriately for both cases.
2015-08-07 06:44:59 +09:00
Jacek Caban
d783a99498 Bug 856404 - Enable libraries folding on mingw. r=glandium 2015-08-06 13:26:33 +02:00
Mark Capella
9a8645bc71 Bug 1191161 - p1 - Merge WrapEntireClassForJNI into WrapElementForJNI, r=jchen 2015-08-06 01:55:29 -04:00
Mike Hommey
bfb376779f 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
2c18035129 Backed out changeset 684252f11061 (bug 1188224) for make check bustage. 2015-08-05 13:50:11 +09:00
Mike Hommey
243d18beaf Bug 1188224 - Remove stale .pyc files from the source directory at import time. r=gps 2015-08-05 11:17:03 +09:00
Ehsan Akhgari
41ccf85272 Fix some bad variable names, no bug 2015-08-04 19:11:16 -04:00
Ryan VanderMeulen
64e8cd0fdb Backed out revision bca1ad6cc378 (bug 1190522) for breaking OSX B2G Desktop builds. 2015-08-06 15:43:45 -04:00
Ted Mielczarek
f4167f27a1 bug 1190522 - Rewrite pkg-dmg as a Python script. r=gps 2015-08-03 15:40:04 -04:00
Mike Hommey
a543d5ba59 Bug 1188780 - Include debug symbols in gtk3 tooltool package. r=mshal
(relanding of http://hg.mozilla.org/mozilla-central/rev/a9d3df6e14e0)
2015-08-04 17:26:11 -04:00
Ryan VanderMeulen
a94518bc90 Backed out changeset a9d3df6e14e0 (bug 1188780) for causing bug 1190860. a=bustage 2015-08-04 15:21:57 -04:00
Mike Hommey
f32fec55a4 Bug 1186748 - Switch valgrind builds to Gtk+3. r=mshal 2015-08-04 07:05:24 +09:00
Mike Hommey
12546f3f00 Bug 1188780 - Include debug symbols in gtk3 tooltool package. r=mshal
At the same time, include a setup script to replace parts of mozconfig.gtk.
2015-08-04 07:05:23 +09:00
Mike Hommey
ddcf12ef12 Bug 1187664 - Don't run gst-plugin-scanner through valgrind, it only leads to irrelevant errors. r=njn 2015-08-04 07:05:22 +09:00
Mike Hommey
b15237d38c Bug 1187664 - Create a fontconfig cache so that Firefox doesn't have to do it itself when run on build automation. r=mshal 2015-08-04 07:05:22 +09:00
Mike Hommey
d4cfdfba33 Bug 1186748 - Switch hazard and root analysis builds to Gtk+3. r=mshal 2015-08-04 07:05:21 +09:00
Michael Layzell
ae763d5318 Bug 1187073 - Add the MOZ_INHERIT_TYPE_ANNOTATIONS_FROM_TEMPLATE_ARGS annotation to clang-plugin. r=ehsan 2015-07-24 12:52:00 -04:00
Andrew McCreight
28fabb278c Bug 1074317 - Report indirect LSan leaks in mochitests. r=erahm
LeanSanitizer reports two kinds of leaks: direct and indirect. A
leaked block that is pointed to by another leaked block is an
"indirect leak", while one that isn't is a "direct leak". Often,
indirect leaks are just things entrained by the "real" leak, but if
two leaked blocks are in a cycle, then they both end up being
indirect, so we need to report them, too.

This patch makes it so that indirect LSan leaks are treated the same
as direct leaks by Mochitests, which means they will turn the tree
orange. There are a few existing indirect leaks of various severity,
so I had add some suppressions. See those bugs for more details.
2015-08-03 06:45:00 -04:00
Carsten "Tomcat" Book
a323843051 Backed out changeset d093c57c6835 (bug 1186748) for causing Bug 1190180 2015-08-03 14:36:14 +02:00
Carsten "Tomcat" Book
e8defbc592 Backed out changeset 207c45dd3c2e (bug 1187664) 2015-08-03 14:35:14 +02:00
Carsten "Tomcat" Book
1e7b51e030 Backed out changeset 695b89efecfa (bug 1187664) 2015-08-03 14:35:09 +02:00
Carsten "Tomcat" Book
07c6746bfb Backed out changeset 2238409de271 (bug 1188780) 2015-08-03 14:35:03 +02:00
Carsten "Tomcat" Book
5981a442b5 Backed out changeset b8eacfe11fc5 (bug 1186748) 2015-08-03 14:34:57 +02:00
Mike Hommey
6c978f4e2c Bug 1186748 - Switch valgrind builds to Gtk+3. r=mshal 2015-07-31 16:42:22 +09:00
Mike Hommey
1595a3da38 Bug 1187649 - Add valgrind suppressions for leaks in Gtk+3, cairo and fontconfig that are not due to Gecko. r=njn 2015-07-31 16:42:20 +09:00
Mike Hommey
59e1c5d9e1 Bug 1188780 - Include debug symbols in gtk3 tooltool package. r=mshal
At the same time, include a setup script to replace parts of mozconfig.gtk.
2015-07-31 16:42:07 +09:00
Mike Hommey
f5283e6620 Bug 1187664 - Don't run gst-plugin-scanner through valgrind, it only leads to irrelevant errors. r=njn 2015-07-31 16:41:11 +09:00
Mike Hommey
2220647b4e Bug 1187664 - Create a fontconfig cache so that Firefox doesn't have to do it itself when run on build automation. r=mshal 2015-07-31 16:41:10 +09:00
Mike Hommey
bbdf5495e7 Bug 1186748 - Switch B2G desktop, hazard and root analysis builds to Gtk+3. r=mshal 2015-07-31 16:39:10 +09:00
Julien Pagès
4365b56819 Bug 1091285 - move dumpScreen in a new mozscreenshot package. r=jgriffin
This also completely remove build/automationutils.py.
2015-07-29 17:50:16 +02:00
Michael Layzell
aed2b64cc2 Bug 1187486 - Update the clang plugin to detect templated implicit constructors; r=ehsan 2015-07-30 20:31:11 -04:00
Carsten "Tomcat" Book
7eaec85934 Merge mozilla-central to fx-team 2015-08-07 13:21:30 +02:00
Mark Capella
cae75c601d Bug 1191161 - p3 - Rename / Shorten WrapElementForJNI to WrapForJNI, r=jchen 2015-08-07 02:09:08 -04:00
Ryan VanderMeulen
5a336f34d0 Backed out changeset 3e78fb4512a6 (bug 1187486) for static analysis failures. 2015-07-30 14:47:52 -04:00
Michael Layzell
367814b92d Bug 1187486 - Update the clang plugin to detect templated implicit constructors; r=ehsan 2015-07-30 14:03:18 -04:00
Ryan VanderMeulen
6fd4d2a036 Backed out changesets be94d55627f4 and dfc1cb1c26d9 (bug 1187664) because they depend on bug 1186748. 2015-07-30 12:07:38 -04:00
Ryan VanderMeulen
91cfe286b8 Backed out changeset ada6cd4da281 (bug 1186748) for introducing various intermittent ASAN mochitest failures. 2015-07-30 11:52:49 -04:00
Michael Layzell
6389115c4d Bug 602122 - Add a static analysis to find XPCOM classes with duplicate mRefCnt members; r=ehsan 2015-07-30 01:05:06 -04:00
Mike Hommey
a3b4b1d338 Bug 1187664 - Don't run gst-plugin-scanner through valgrind, it only leads to irrelevant errors. r=njn 2015-07-30 08:49:30 +09:00
Mike Hommey
4603fe835e Bug 1187664 - Create a fontconfig cache so that Firefox doesn't have to do it itself when run on build automation. r=mshal 2015-07-30 08:49:29 +09:00
Mike Hommey
c5817cb8c6 Bug 1186748 - Switch B2G desktop, ASan, hazard and root analysis builds to Gtk+3. r=mshal 2015-07-30 08:49:29 +09:00
Jim Chen
b106a20e47 Bug 1186517 - Fix SDKProcessor API version detection; r=snorp
The API version detection functionality was broken in SDKProcessor
because we were passing in "Lpackage/Class;" as the class name rather
than just "package/Class". Also, some classes have a weird situation
where some methods were moved around in later API versions. For example,
some put* and get* methods in Bundle were moved to BaseBundle in API 21.
If we only checked BaseBundle.put*, we would think they are API 21+
only. The workaround is to check both the top-level class and the
declaring class for a member, and choose the lower API level as the
minimal API level for that member.

This patch also fixes bugs in including the right class members.
For SDKProcessor we want to include all public members of a class,
including inherited members, because the private/protected members are
not part of the public API. For AnnotationProcessor, we want to include
all the members declared in that class, including private and
protected members, because we may want to access private/protected
members of our own Java classes from C++.
2015-07-29 15:11:15 -04:00
Jim Chen
1c38f5954d Bug 1186517 - Adjust white spacing in generated files; r=me 2015-07-29 15:11:15 -04:00
Nathan Froyd
eaae46d3ce Bug 1188499 - reformat MOZ_SUBCONFIGURE_ICU with proper indentation; r=mshal
Trying to decipher MOZ_SUBCONFIGURE_ICU given its lack of indentation is
difficult at best.  It looks like some lines have tabs, and those tabs
make everything line up right...convert everything to spaces to make
sure things line up correctly.
2015-07-28 13:46:55 -04:00
Ted Mielczarek
bebe1d6332 bug 1182519 - Put mozconfigs for cross-mac builds in tree. r=mshal 2015-07-14 07:02:22 -04:00
Boris Zbarsky
3e70a7ec26 Back out revision 6d94504b602d (bug 602122). 2015-07-28 17:19:46 -04:00
Michael Layzell
63663e0bb6 Bug 602122 - Add a static analysis to find XPCOM classes with duplicate mRefCnt members; r=ehsan 2015-07-28 16:55:20 -04:00
Mike Hommey
684778963f Bug 1186748 - Move gtk-related things in a separate mozconfig. r=mshal
Some mozconfigs don't include mozconfig.linux*, and don't get gtk-related
definitions, so move them in a separate mozconfig. To avoid having two
files, one for 32-bit builds and one for 64-bit builds, rely on the
includer to set PKG_CONFIG_LIBDIR appropriately.

At the same time, move all the --enable-default-toolkit=cairo-gtk2 in that
new file in the case the gtk3 package wasn't pulled from tooltool.
2015-07-28 08:19:15 +09:00
Mike Hommey
484986b581 Bug 1187245 - Make .mozconfig.mk environment variables available to mach valgrind-test. r=gps 2015-07-28 08:19:14 +09:00
Mike Hommey
97965f64fc Bug 1187245 - Set things up to use Gtk+3 from the tooltool package during PGO builds. r=gps
The mk_add_options exports are meant to end up in $topobjdir/.mozconfig.mk,
which is included every time make runs.
2015-07-28 08:19:13 +09:00
Mike Hommey
dc8fd15dc0 Bug 1187101 - Add -Wl,-Bsymbolic to LDFLAGS for ASan builds. r=mshal 2015-07-28 08:19:12 +09:00
Andrew McCreight
065d0b780a Bug 1089816 - Let ASan content processes run to completion. r=billm
There are a variety of ways that the parent and child process ensure that
the child process exits quickly in opt builds, but for AddressSanitizer
builds we want to let the child process to run to completion, so that we
can get a LeakSanitizer report.

This requires adding some addition LSan suppressions, because running
LSan in child processes detects some new leaks.
2015-07-27 12:49:48 -07:00
Ehsan Akhgari
96dd813af5 Bug 1187982 - Fix building clang-plugin with clang 3.5; r=mystor 2015-07-27 14:06:03 -04:00
Mike Hommey
a7bf18ea61 Bug 1187662 - Add the -v option to valgrind when running valgrind-test. r=njn
This will add more verbosity, with the intent of having the triggered
suppressions be displayed in the form:
"--23983-- used_suppression:      3 Bug 794372 /builds/slave/try-l64-valgrind-0000000000000/src/build/valgrind/cross-architecture.sup:90 suppressed: 20,736 bytes in 648 blocks"
2015-07-27 08:18:44 +09:00
Michael Layzell
10dd826b58 Bug 1159433 - Part 1: Add an analysis to ensure that some template arguments cannot be non-memmovable types; r=ehsan 2015-07-24 19:14:37 -04:00
Michael Layzell
9d46061b4d Bug 1123907 - Part 1: Add an analysis to ensure that a class marked MOZ_NEEDS_NO_VTABLE_TYPE cannot be instantiated by a class with a VTable; r=ehsan 2015-07-24 19:13:52 -04:00
Michael Layzell
ffe699b5dc Bug 1185044 - Unify type annotation logic between MOZ_*_CLASS and MOZ_MUST_USE; r=ehsan 2015-07-24 19:13:15 -04:00
Michael Layzell
b2987686b9 Bug 1185188 - Support multiple clang-plugin annotations; r=ehsan 2015-07-24 19:12:54 -04:00
Carsten "Tomcat" Book
7d1d8c5361 merge mozilla-inbound to mozilla-central a=merge 2015-07-24 12:54:13 +02:00
Mike Hommey
7afc08e2f0 Bug 965151 - Remove unnecessary LD_LIBRARY_PATH in valgrind driver script. r=mshal 2015-07-24 06:49:44 +09:00
Mike Hommey
8ea13b7462 Bug 965151 - Use tooltool in valgrind jobs. r=mshal 2015-07-24 06:49:40 +09:00
Mike Hommey
9d8af98306 Bug 965151 - Move relevant parts of valgrind.sh from build/tools in-tree. r=mshal 2015-07-24 06:49:34 +09:00
Wes Kocher
a1696ffaf6 Merge m-c to inbound, a=merge 2015-07-21 16:11:44 -07:00
Mike Hommey
0688b30771 Bug 1186003 - Switch automated builds to Gtk+3. r=mshal
The build-gtk3.sh script contains the script used to generate the tooltool
packages.
2015-07-22 07:37:01 +09:00
Gregory Szorc
1f7772cd40 Bug 1185557 - Clarify that mach mercurial-setup doesn't make changes without prompting; r=smacleod
It's been clear from user feedback that people don't realize that `mach
mercurial-setup` doesn't make any changes unless they tell it to.
Reinforce this message in the prompts printed by mach_boostrap.py.
2015-07-21 10:10:22 -07:00
Jed Davis
d732870d2e Bug 1183485 - Exempt security/sandbox/chromium from MOZ_IMPLICIT enforcement. r=ehsan 2015-07-17 14:57:00 -04:00
Ryan VanderMeulen
cf62964797 Merge m-c to inbound. a=merge 2015-07-20 16:04:28 -04:00
Ralph Giles
a1327320cf Bug 1183850 - Enable rust for macosx64 Nightly and Dev. r=mshal
Add a mozconfig fragment enabling rust on mac builds.

Include it in the official integration mozconfig files only.
Developer checkouts don't require rust.
2015-07-20 12:59:26 -07:00
Paolo Amadini
43f2f9da5b Bug 1177175 - Add a UITour target inside the TP panel. r=MattN 2015-07-20 13:44:32 +01:00
Ryan VanderMeulen
da1580e7b7 Merge inbound to m-c. a=merge 2015-07-17 10:26:22 -04:00
Gregory Szorc
1459354d8f Bug 1184598 - Don't perform mercurial-setup check for mach-commands command; r=smacleod
This command is used by tab completion handlers. A user reported that
hitting tab in his shell resulted in the mercurial-setup out of date
check spewing output.
2015-07-16 14:37:14 -07:00
Ryan VanderMeulen
0cb59bd44d Backed out changeset 7c44c0343564 (bug 1181020) for causing intermittent testAboutPage failures. 2015-07-16 15:11:20 -04:00
Ryan VanderMeulen
a68f3127f6 Merge m-c to fx-team. a=merge 2015-07-15 13:30:09 -04:00
Ryan VanderMeulen
ed981c748f Merge m-c to inbound. a=merge 2015-07-14 23:38:02 -04:00
Gregory Szorc
c3f470a4da Bug 1182677 - Aggressively prompt to run mach mercurial-setup; r=smacleod
Having not configured or out-of-date tools benefits nobody. It slows
people down.

Version control tools are an integral part of working on Firefox. It is
important for version control tools to be configured optimally and to be
continuously updated so they stay optimal.

The `mach mercurial-setup` command exists to optimally configure
Mercurial for working on Firefox and other Mozilla projects.

This commit adds a pre-dispatch handler to mach that will verify
Mercurial is in a happy state. If `mach mercurial-setup` has never
executed, it will complain. If `mach mercurial-setup` hasn't been
executed in the past 31 days, it will complain.

Yes, aborting command execution and forcing people to context switch to
run `mach mercurial-setup` is annoying. First, we have carved out
several exceptions to this behavior, including detection for running in
automation, on the machines of curmudgeons, when Mercurial isn't being
used, and from non-interactive processes. Second, I argue that people
ignore optional notifications and that having persistently
poorly-configured tools is worse than a single context switch at most
every month. Therefore, the heavyhanded approach is justified.

In addition, if we did support a non-fatal notification, we would
introduce the problem of extra output from commands. If anyone was e.g.
parsing mach output, we could very likely break those systems. These
cases should be caught by the isatty() check or be running in a context
with MOZ_AUTOMATION set. But you never know.
2015-07-14 14:20:03 -07:00
Gregory Szorc
134f923c76 Backed out changeset f06616ee7b2b (bug 1182677)
TaskCluster is not amused.
2015-07-14 13:58:43 -07:00
Gregory Szorc
9b903cbac6 Bug 1182677 - Aggressively prompt to run mach mercurial-setup; r=smacleod
Having not configured or out-of-date tools benefits nobody. It slows
people down.

Version control tools are an integral part of working on Firefox. It is
important for version control tools to be configured optimally and to be
continuously updated so they stay optimal.

The `mach mercurial-setup` command exists to optimally configure
Mercurial for working on Firefox and other Mozilla projects.

This commit adds a pre-dispatch handler to mach that will verify
Mercurial is in a happy state. If `mach mercurial-setup` has never
executed, it will complain. If `mach mercurial-setup` hasn't been
executed in the past 2 weeks, it will complain.

Yes, aborting command execution and forcing people to context switch to
run `mach mercurial-setup` is annoying. First, we have carved out
several exceptions to this behavior, including detection for running in
automation, on the machines of curmudgeons, when Mercurial isn't being
used, and from non-interactive processes. Second, I argue that people
ignore optional notifications and that having persistently
poorly-configured tools is worse than a single context switch at most
every 2 weeks. Therefore, the heavyhanded approach is justified.

In addition, if we did support a non-fatal notification, we would
introduce the problem of extra output from commands. If anyone was e.g.
parsing mach output, we could very likely break those systems. These
cases should be caught by the isatty() check or be running in a context
with MOZ_AUTOMATION set. But you never know.
2015-07-14 13:53:50 -07:00
Gregory Szorc
28a09be59c Bug 1182677 - Refactor state directory lookup into own function; r=smacleod
A subsequent commit will want to access the state directory path without
possibly creating it. Make that possible by extracting path resolution
to its own function.
2015-07-14 13:44:59 -07:00
Chris Manchester
b94ba21a39 Bug 1181342 - tooltool manifests and build-clang config for clang 3.6 r=rail 2015-07-10 10:30:37 -07:00
Chris Manchester
d19d375631 Bug 1181255 - Mozconfigs for tsan builds. r=glandium 2015-07-14 18:45:54 -07:00
Ehsan Akhgari
20a6030350 Bug 1123386 - Part 2: Temporarily relax the libstdc++ symbol version requirements for Linux static analysis builds; r=glandium 2015-07-13 22:42:14 -04:00
Ehsan Akhgari
6fcd6defca Bug 1123386 - Part 1: Update the clang build script for the most recent clang; r=rail 2015-07-13 22:42:12 -04:00
Jonathan Almeida
5025e11baf Bug 1181020 - Update Robocop to latest version to support RecyclerView. r=mcomella
- Removed old robotium jar in replace for the newer one.
 - Newer robotium has packaging changes which were updated in all tests.
 - Updated in build.gradle and makefile.
2015-07-07 14:18:56 -07:00
Gregory Szorc
669d096a20 Bug 1185612 - Detect closed stdin file descriptor; r=bholley
isatty() raises ValueError if the file descriptor is closed. Detect
closed file descriptors.
2015-07-20 11:17:00 -07:00
Ehsan Akhgari
d3d141e31a Bug 1180275 - Part 1: Add a release_build mozinfo variable; r=ted 2015-07-16 14:47:52 -04:00
Andrew Halberstadt
b86f120e23 Bug 1014760 - Move mozlog.structured to mozlog; Move mozlog to mozlog.unstructured, r=jgraham
Mozlog currently has two implementations. The top level package is based on the logging module and is
deprecated. The newer structured logging implementation lives in mozlog.structured. This patch swaps the
two, so the top level mozlog module contains the recommended implementation, while mozlog.unstructured
contains the old one.
2015-07-16 10:38:40 -04:00
Ryan VanderMeulen
22d77db0ae Backed out changesets 9a048b598b1e and 56e9597b1257 (bug 1180275) for OSX test_android_eclipse.py failures.
CLOSED TREE
2015-07-15 23:40:06 -04:00
Ehsan Akhgari
415ebdfa86 Bug 1180275 - Part 1: Add a release mozinfo variable; r=ted 2015-07-15 19:59:59 -04:00
Sebastian Kaspari
00a6cef428 Bug 1186532 - Add RecyclerView library to Robocop builds. r=jonalmeida 2015-07-23 13:27:28 +02:00
Michael Layzell
0eb57dfbb4 Bug 1180993 - Part 1: Add an analysis to help catch unused return values of specific types. r=ehsan 2015-07-10 09:46:00 -04:00
Jim Chen
13e782de88 Bug 1178850 - Generate naive method bindings in annotation processor; r=snorp 2015-07-10 23:41:35 -04:00
Jim Chen
c46e55d3a0 Bug 1178850 - Make mozilla::jni::Param more intuitive to use; r=snorp 2015-07-10 23:41:35 -04:00
Mike Hommey
45ed79edc7 Bug 1181040 - Include mozconfig.cache after mozconfig.common.override. r=mshal
Enable sccache on windows b2g builds at the same time to simplify things.
2015-07-11 06:26:20 +09:00
Wes Kocher
0f07ce99e1 Backed out 5 changesets (bug 1178850) for android build bustage CLOSED TREE
Backed out changeset 79085d3894e8 (bug 1178850)
Backed out changeset c02b603104ea (bug 1178850)
Backed out changeset d6dab7810669 (bug 1178850)
Backed out changeset 8ee5809f349b (bug 1178850)
Backed out changeset 821b22ce79e1 (bug 1178850)
2015-07-10 14:17:53 -07:00
Jim Chen
6dd55e4405 Bug 1178850 - Generate naive method bindings in annotation processor; r=snorp 2015-07-10 16:52:52 -04:00
Jim Chen
328f4b5fdc Bug 1178850 - Make mozilla::jni::Param more intuitive to use; r=snorp 2015-07-10 16:52:51 -04:00
Geoff Brown
96d8502fb9 Bug 1179981 - A new test harness for robocop; r=jmaher 2015-07-09 12:30:01 -06:00
Rail Aliiev
6d538e943c Bug 1182170 - Kill tooltool.py from the tree. r=dustin DONTBUILD 2015-07-09 14:00:02 -04:00
Julien Pagès
9b331ff125 Bug 1091274 - Move leak log functions out of automationutils and into mozbase. r=jgriffin 2015-07-03 07:04:22 +02:00
Ehsan Akhgari
7505da2c29 Bug 1180549 - Fix a startup crash when using the clang-plugin with clang>3.5; r=mystor
We were de-referencing the checker variable after having moved it into
the array, which was causing a null pointer crash.

With this fixed, the plugin can be built with more recent versions of
clang.
2015-07-06 14:48:36 -04:00
Ehsan Akhgari
fa44aad141 Bug 1180506 - Fix building the clang-plugin with ToT clang; r=mystor 2015-07-06 14:48:35 -04:00
Andrew Comminos
abd9bd59d8 Bug 1180745 - Fix logging test screenshotting errors. r=jgriffin 2015-07-06 08:48:00 -04:00
Sebastian Kaspari
0becd8e88e Bug 1180132 - android.m4: RecyclerView library should not be dependent on flag $MOZ_NATIVE_DEVICES. r=nalexander 2015-07-03 14:46:57 +02:00
Julien Pagès
0a9d51f8f3 Bug 1091284 - Remove systemMemory, environment from automationutils. r=jgriffin 2015-07-01 22:00:07 +02:00
Ryan VanderMeulen
a5ddcf5159 Merge m-c to fx-team. a=merge 2015-07-01 16:40:01 -04:00
Mike Shal
2d681ee087 Bug 1175895 - separate tier start message for mach; r=ted 2015-06-17 16:59:20 -04:00
Mike Shal
361304b682 Bug 1175895 - aid greppability of MOZ_AUTOMATION_*; r=ted 2015-06-17 16:58:26 -04:00
Gijs Kruitbosch
92cbb6df9d Bug 1170522 - expose whether or not we're in tablet mode to xul/js/css, r=jimm,ted 2015-06-16 19:51:29 +01:00
Chris Manchester
959882de28 Bug 917999 - Part 3.1 - Prepare taskcluster for a split test package.;r=jlal 2015-06-29 11:16:51 -07:00
Chris Manchester
060b38720a Bug 917999 - Part 3 - Split tests into harness specific zips.;r=ted 2015-06-29 11:16:50 -07:00
Ryan VanderMeulen
7bb2a3d66d Backed out changeset e2f1bf3e3dc4 (bug 1171610) for bustage.
CLOSED TREE
2015-06-30 12:35:42 -04:00
James Willcox
599b906a99 Bug 1171610 - Automatically use colorized warnings and errors if available r=glandium
You can disable with --disable-color-diagnostics
2015-06-30 11:20:31 -05:00
Julien Pagès
49ef4d85fa Bug 1178154 - move ShutdownLeaks and LSANLeaks from automationutils to mochitest. r=jgriffin 2015-06-29 20:09:51 +02:00
Ryan VanderMeulen
2f7c322318 Backed out 3 changesets (bug 917999) for Android x86 test bustage.
Backed out changeset 58331e57de1c (bug 917999)
Backed out changeset 50f9123412c7 (bug 917999)
Backed out changeset 3b19643ec039 (bug 917999)

CLOSED TREE
2015-06-29 15:22:51 -04:00
Chris Manchester
8b12fc879e Bug 917999 - Part 3.1 - Prepare taskcluster for a split test package.;r=jlal 2015-06-29 11:16:51 -07:00
Chris Manchester
f0caa09957 Bug 917999 - Part 3 - Split tests into harness specific zips.;r=ted 2015-06-29 11:16:50 -07:00
Julien Pagès
d94a5c1827 Bug 1177780 - remove useless stuff in automation.py. r=jgriffin 2015-06-26 22:45:18 +02:00
Birunthan Mohanathas
370b5798ca Backed out changeset 58a2788fad8e (bug 1175359) 2015-06-26 12:49:12 -07:00
Ralph Giles
3abd54c0a6 Bug 1175359 - Enable rust in linux64 builds. r=ted
Write a mozconfig fragment which makes the rust toolchain
provided by tooltool available for linux builds.

Use linux64 mozconfigs to enable rust for official builds of
that target. These aren't used outside of automation builds,
so including rust there will verify code on check-in without
requiring developers to install rust.
2015-06-26 12:27:19 -07:00
Gregory Szorc
0d16ec0cfa Bug 1176642 - Use absolute_import in mach_commands.py files; r=glandium
This removes ambiguity as to which modules are being imported, making
import slightly faster as Python doesn't need to test so many
directories for file presence.

All files should already be using absolute imports because mach command
modules aren't imported to the package they belong to: they instead
belong to the "mach" package. So relative imports shouldn't have been
used.
2015-06-21 17:39:09 -07:00
Gregory Szorc
97fe4bc7c7 Bug 1176642 - Remove unused imports; r=glandium 2015-06-25 12:16:38 -07:00
Carsten "Tomcat" Book
8b1114a78a merge mozilla-inbound to mozilla-central a=merge 2015-06-22 14:03:17 +02:00
Geoff Brown
8532faf776 Bug 1175540 - Reduce timeouts for many adb devicemanager calls; r=mcote 2015-06-21 13:58:34 -06:00
Jonathan Almeida
d3c669a643 Bug 1161820 - Replace all back button presses with Solo.goBack in tests. r=liuche CLOSED TREE 2015-06-17 17:24:48 -07:00
Ryan VanderMeulen
9523eff4f2 Merge inbound to m-c. a=merge
CLOSED TREE
2015-06-18 16:03:38 -04:00