Commit Graph

1844 Commits

Author SHA1 Message Date
Mike Hommey
c0c5bff79f Bug 1245015 - Properly handle ObjC sources in the CompileDB backend. r=mshal 2016-02-03 08:41:20 +09:00
Mike Shal
fd458664cc Bug 1244239 - Fix __slots__ in mozbuild's data.py; r=gps 2016-01-28 14:30:00 -05:00
Birunthan Mohanathas
717afb8ea6 Bug 1235261 - Part 4: Remove AutoFallibleTArray. r=froydnj 2016-02-02 17:36:30 +02:00
Birunthan Mohanathas
9bed3781f9 Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-02-02 17:36:30 +02:00
Carsten "Tomcat" Book
9468a26fac merge mozilla-inbound to mozilla-central a=merge 2016-02-02 11:50:53 +01:00
Mike Hommey
5d5adb69da Bug 1244941 - Don't fill install manifest with artifacts. r=nalexander
Since bug 1239217, artifacts builds are using a hybrid build system that
uses the fastermake rules to copy files to dist/bin, which means
artifact files are not removed by the processing of the dist/bin install
manifest. This means we don't need to add them to the recursivemake
install manifest anymore.
2016-02-02 11:47:45 +09:00
Nick Alexander
b48c531534 Bug 1243041 - Follow-up: Fix Android-only bustage. r=me
DONTBUILD NPOTB
2016-02-01 13:26:31 -08:00
Chris Manchester
9983c68ead Bug 1243041 - Refine artifact platform selection based on target_cpu. r=nalexander 2016-02-01 12:48:17 -08:00
Nick Alexander
2504a8e318 Bug 1244298 - Download android-api-15 artifacts. r=ahunt 2016-02-01 10:30:36 -08:00
Chris Manchester
2cca5f7397 Bug 1240667 - Detect a tree to use for artifact builds based on recent changesets. r=nalexander
Currenlty --enable-artifact builds will take artifacts from fx-team regardless of the
state of the current working directory. This can lead to broken builds if someone
updates to a tree other than fx-team.

This commit changes the default behavior from tracking fx-team to finding all recent
pushheads and finding the closest to the working parent that has artifacts available.

This also fixes a mis-match between tree names according to mozext and branch names in
the taskcluster index preventing artifact download from common integration branches.
2016-01-29 12:27:04 -08:00
Chris Manchester
835d2f9bd5 Bug 1243096 - Remove ini manifests containing only support-files and move their contents to TEST_HARNESS_FILES. r=gps 2016-01-27 17:46:34 -08:00
Ehsan Akhgari
990988f7e8 Bug 1242004 - Skip -Xclang arguments when generating clang compilation database or YouCompleteMe config; r=froydnj
clang based tools typically choke when they encounter a lot of -XClang
arguments, and since those args are passed to the cc1 driver they're
unnecessary for such tools anyways.

This helps people who have things like --enable-clang-plugin in their
mozconfig use clang based tools without having to remove these arguments
manually.
2016-01-25 21:34:57 -05:00
Gregory Szorc
2d9e6c0b88 Bug 1242228 - Upgrade virtualenv to 14.0.1; r=mshal
Downloaded from https://pypi.python.org/packages/source/v/virtualenv/virtualenv-14.0.1.tar.gz
and extracted without any modifications.

This appears to speed up `mach configure` for artifact builds by ~3.3s on
my Linux machine (~16.3s to 13.0s). A significant part of this appears
to be newer version of pip caching and reusing wheels after first
install.

This should be a rubber stamp review, as all changes are from trusted
upstream packages.
2016-01-23 18:48:43 -08:00
Ted Mielczarek
b7fcd3f1ac bug 1230117 - get rid of {HOST,TARGET}_NSPR_MDCPUCFG. r=glandium 2016-01-21 06:13:06 -05:00
Ted Mielczarek
fcc08f9802 bug 1241272 - Allow error() in moz.build files to be treated as non-fatal. r=gps
Calling error() in moz.build files to indicate unsupported configurations is
useful, but readers using EmptyConfig will trigger them currently. This patch
allows a Config to have an `error_is_fatal` attribute, which will make
error emit a warning instead.
2016-01-20 15:11:49 -05:00
Phil Ringnalda
863943dfb7 Back out 7 changesets (bug 1235261) for cpptest failures in TestTArray
CLOSED TREE

Backed out changeset d66c3f19a210 (bug 1235261)
Backed out changeset 467d945426bb (bug 1235261)
Backed out changeset 32b61df13142 (bug 1235261)
Backed out changeset c50bb8ed4196 (bug 1235261)
Backed out changeset 0ff0fa6fe81f (bug 1235261)
Backed out changeset df70e89669da (bug 1235261)
Backed out changeset 064969357fc9 (bug 1235261)
2016-01-31 10:10:57 -08:00
Birunthan Mohanathas
c4a964ab81 Bug 1235261 - Part 4: Remove AutoFallibleTArray. r=froydnj 2016-01-31 17:12:12 +02:00
Birunthan Mohanathas
f94b4ff6a2 Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-01-31 17:12:12 +02:00
Chris Manchester
f379d17a7e Bug 1241989 - Speed up install manifests by avoiding path operations. r=gps
This is two straightforward optimizations in FileCopier: avoiding a redundant iteration
over the directory structure to find destination files (which includes a
call to normpath) and avoiding redundant calls to determine directories to preserve
when remove_unaccounted is not specified (which include a call to dirname).

Running a no-op install of _tests with this patch results in a reduction of about
25,000 calls to normpath and remove about 220,000 calls to dirname, resulting in
an overall speedup of 10-20%.
2016-01-22 13:54:33 -08:00
Syd Polk
9191cd320e Bug 1240120 - Move external-media-tests to subdirectory to generate correct packaging; r=maja_zf,whimboo 2016-01-21 23:00:59 -06:00
Andreas Tolfsen
77aab8842c Bug 1205687 - Package and include Marionette tests in all-tests.json; r=chmanchester,gps
Listing the tests in all-tests.json is prerequisite to adding support
for Marionette tests to `./mach test FILE`.

Marionette tests will be run from the source directory, as they do not
currently need packaging.
2015-10-22 16:22:34 +01:00
Gregory Szorc
d1c2e4fde1 Bug 1241771 - Print install manifest processing time; r=glandium 2016-01-21 22:42:47 -08:00
Mike Hommey
8c69551b4d Bug 1239217 - Add the FasterMake+RecursiveMake hybrid backend. r=gps 2016-01-22 15:43:26 +09:00
Mike Hommey
cea09a3412 Bug 1239217 - Make the RecursiveMake build system create backend files generically. r=gps
The current rule is only for "backend.RecursiveMakeBackend", but, with
the current default of generating both the RecursiveMake and FasterMake
backends, the command creates/refreshes both backends. This is, in fact,
how the FasterMake backend is refreshed in most cases.

Moreover, with an hybrid backends, the generated file is not
"backend.RecursiveMakeBackend" anymore, so we need a more generic way to
handle this.

Furthermore, it's not necessarily desirable for all backends to have a
dependency file to handle the dependencies to refresh the backend, so
generate a plain list instead. This has the side effect of making `mach
build-backend --diff` more readable for changes to that file.

Finally, make the backend.* files created like any other backend file,
such that its diff appears in the `mach build-backend --diff` output.
2016-01-22 15:43:24 +09:00
Mike Hommey
266875452c Bug 1239217 - Stop making the FasterMake build system refresh the backend on its own. r=gps
The FasterMake build system is meant to be invoked through `mach build
faster`, which does it already, or, in the near future, as part of an
hybrid build system, which will deal with it as well. People doing
`make -C objdir/faster` won't have the backend automatically refreshed,
but that's not a supported way to use it anyways.
2016-01-22 15:43:23 +09:00
Mike Hommey
7a341a001c Bug 1239217 - Add the notion of Partial and Hybrid build backends. r=gps
Make the FasterMake backend a partial build backend.
2016-01-22 15:43:21 +09:00
Mike Hommey
aade8deea9 Bug 1239217 - Skip empty install manifests, apart a few exceptions. r=gps
Install manifests are not empty in normal conditions, apart a few
exceptions where they are only used for a "magic" `rm -rf`.

However, we're going to introduce changes that will empty some of
the install manifests and make their work happen from a different
backend, in which case we don't want them to correspond to a `rm -rf`.
2016-01-22 15:43:16 +09:00
Mike Hommey
2c359cbe55 Bug 1241398 - Add a dry-run mode to mach build-backend. r=gps
When doing build system changes affecting backend-generated files, I
often use `mach build-backend --diff`. But most of the time I end up
wanting to look at the full diff again when doing further changes, which
leads me to stash my changes away, run `mach build-backend` to get the
initial state again, unstash and rerun `mach build-backend --diff`.

This has been a time drain for long enough :)
2016-01-22 07:00:23 +09:00
Mike Hommey
176579f61a Bug 1241398 - Allow to pass the --verbose flag down to config.status from mach build-backend. r=gps 2016-01-22 07:00:23 +09:00
Mike Hommey
79fda1d209 Bug 1241398 - Show the diff for created and deleted files in mach build-backend --diff. r=gps 2016-01-22 07:00:23 +09:00
Mike Hommey
cd5682e071 Bug 1241398 - Remove the FilePurger class. r=gps
Its only last use was removed.
2016-01-22 07:00:23 +09:00
Mike Hommey
34d7ef8677 Bug 1241398 - Don't purge install manifests from the recursive make backend. r=gps
The code doing this was added before we had install manifests, back when
they were purge manifests, and before we tracked all files created by
the backend. Nowadays, if an install manifest is removed, it will be
removed in BuildBackend.consume.

In fact, purging the install manifests in the backend itself breaks the
deleted files count displayed after reticunating splines.
2016-01-22 07:00:23 +09:00
Jacek Caban
fd3660e10c Bug 1239672 - Fixed symbols file support on mingw. r=glandium 2016-01-21 13:39:41 +01:00
Mike Hommey
205218aa15 Bug 1241022 - Remove affected_tiers. r=gps 2016-01-21 13:54:03 +09:00
Mike Hommey
1288330dfb Bug 1241022 - Remove code handling affected_tiers. r=gps 2016-01-21 13:54:03 +09:00
Mike Hommey
fef6763796 Bug 1241022 - Fix XPI_NAME and FILES_PER_UNIFIED_FILE. r=gps
XPI_NAME affects no tier on its own, as it merely changes paths where
things end up that are defined by other variables.

FILES_PER_UNIFIED_FILE had an erroneous value.
2016-01-21 13:54:03 +09:00
Mike Hommey
6fb4f63056 Bug 1241022 - Move IPDL_SOURCES, XPIDL_SOURCES and *WEBIDL_*. r=gps
Those are the worst offenders of affected_tiers. The rules to handle
them are all in directories that is not necessarily related to where
the variables are defined, each of which has a Makefile.in for those
rules, which forces export to go through them.
2016-01-21 13:54:03 +09:00
Mike Hommey
e0946ce913 Bug 1241022 - Move FINAL_TARGET_PP_FILES and TEST_HARNESS_FILES. r=gps
They are respectively using PP_TARGETS and INSTALL_TARGETS. Both affect
the misc tier since bug 1240671, per the *_TARGET value they set in the
backend.

This has the nice side effect of now skipping directories where test
harness files are handled by install manifests.
2016-01-21 13:54:03 +09:00
Mike Hommey
cd53d069e9 Bug 1241022 - Move JAR_MANIFESTS. r=gps
JAR_MANIFESTS affects the libs tiers through config/rules.mk rules.
While we could move the rules in the backend, they are too complex to
just do that now.
2016-01-21 13:54:03 +09:00
Mike Hommey
23228c1de9 Bug 1241022 - Move GENERATED_FILES. r=gps
GENERATED_FILES impacts the export tier through the config/rules.mk
definitions, now moved to the backend itself, so that everything is
close to each other.
2016-01-21 13:54:03 +09:00
Mike Hommey
bf544a7953 Bug 1241022 - Move ANDROID_*_DIRS, ANDROID_EXTRA_PACKAGES, ANDROID_ECLIPSE_PROJECT_TARGETS and JAVA_JAR_TARGETS. r=gps
Those are non-passthru variables with the same property as
ANDROID_GENERATED_RESFILES, ANDROID_APK_NAME and ANDROID_APK_PACKAGE, in
that they don't affect tiers through the backend code itself, but from
the Makefile.in along the moz.build they are defined in.
2016-01-21 13:54:03 +09:00
Mike Hommey
f1cbe3be3c Bug 1241022 - Move ANDROID_GENERATED_RESFILES, ANDROID_APK_NAME, ANDROID_APK_PACKAGE. r=gps
The are passthru variables that don't actually affect any tier per the
backend itself. They do affect the `export` tier by way of the Makefile.in
along the moz.build defining them, and the existence of those
Makefile.in already guarantees those directories not to be skipped for
`export`.
2016-01-21 13:54:03 +09:00
Mike Hommey
9dc64364e1 Bug 1241022 - Do not handle HAS_MISC_RULE with affected_tiers. r=gps
This initiates a move off affected_tiers in VARIABLES definition to
explicit in-backend handling, which will hopfully make things clearer.

HAS_MISC_RULE is currently used to opt-in to the misc tier in a few
directories with a misc:: rule.  It is, in fact, mostly used for custom
xpi creation, which will be separately addressed in bug 1240676, so it
will eventually go away entirely, but in the meantime, we send it as a
throwaway passthru.
2016-01-21 13:54:03 +09:00
Mike Hommey
41545b65f1 Bug 1241022 - Handle all tiers as opt-in in the recursive make backend. r=gps
Historically, all tiers were handled as opt-out (may_skip), until we
added the first opt-in tier (no_skip). It doesn't make much sense to
differentiate them anymore, so handle them all as opt-in.
2016-01-21 13:54:03 +09:00
Mike Hommey
675c03a3d8 Bug 1240990 - Define all backends in one place. r=gps
When adding a backend, we currently have to add them in three different
places so that they appear in the right places.

Instead, keep the list in a single place.
2016-01-21 13:54:03 +09:00
Mike Hommey
91ad32f0f1 Bug 1240945 - Add a --verbose option to mach package. r=mshal 2016-01-21 13:54:03 +09:00
Chris Manchester
c2d0b65dca Bug 1240530 - Bump the taskcluster version installed by |./mach artifact| to avoid installing an out-dated requests. r=nalexander
Currently |./mach artifact| installs an old version of the taskcluster client,
which installs an old version of requests that's incompatible with commonly
installed python versions. This bumps to a version of taskcluster client that
accepts and requests version < 3, so we pick up the in-tree version instead of
installing 2.4.3.
2016-01-19 16:00:11 -08:00
Carsten "Tomcat" Book
03bfc91ef3 merge mozilla-inbound to mozilla-central a=merge 2016-01-20 15:34:34 +01:00
Mike Hommey
3e3c3f1ca4 Backout changeset de0a7a1cdc4a from bug 1240660 for make package bustage on a CLOSED TREE 2016-01-20 08:03:58 +09:00
Mike Hommey
17d1267812 Bug 1240671 - Move FINAL_TARGET_PP_FILES and TEST_HARNESS_FILES to the misc tier. r=gps 2016-01-20 07:24:40 +09:00