Commit Graph

1844 Commits

Author SHA1 Message Date
Mike Hommey
c18e3ea405 Bug 1245015 - Properly handle ObjC sources in the CompileDB backend. r=mshal 2016-02-03 08:41:20 +09:00
Mike Shal
8240b99cd9 Bug 1244239 - Fix __slots__ in mozbuild's data.py; r=gps 2016-01-28 14:30:00 -05:00
Birunthan Mohanathas
aaf728f520 Bug 1235261 - Part 4: Remove AutoFallibleTArray. r=froydnj 2016-02-02 17:36:30 +02:00
Birunthan Mohanathas
2083419fba Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-02-02 17:36:30 +02:00
Carsten "Tomcat" Book
526da08504 merge mozilla-inbound to mozilla-central a=merge 2016-02-02 11:50:53 +01:00
Mike Hommey
7ae8979677 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
20d92db78f Bug 1243041 - Follow-up: Fix Android-only bustage. r=me
DONTBUILD NPOTB
2016-02-01 13:26:31 -08:00
Chris Manchester
4fb4369df0 Bug 1243041 - Refine artifact platform selection based on target_cpu. r=nalexander 2016-02-01 12:48:17 -08:00
Nick Alexander
88e1d79815 Bug 1244298 - Download android-api-15 artifacts. r=ahunt 2016-02-01 10:30:36 -08:00
Chris Manchester
253a960dd6 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
9b05f5b31c 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
79d5b9b773 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
e6396a0dd8 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
f21c3547e4 bug 1230117 - get rid of {HOST,TARGET}_NSPR_MDCPUCFG. r=glandium 2016-01-21 06:13:06 -05:00
Ted Mielczarek
855c071fc5 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
b885c4b318 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
b30c6f2bce Bug 1235261 - Part 4: Remove AutoFallibleTArray. r=froydnj 2016-01-31 17:12:12 +02:00
Birunthan Mohanathas
a93e22749f Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-01-31 17:12:12 +02:00
Chris Manchester
3279acb990 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
a6383d64c3 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
6a746a32e3 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
cda0cbe3f1 Bug 1241771 - Print install manifest processing time; r=glandium 2016-01-21 22:42:47 -08:00
Mike Hommey
4e70a20392 Bug 1239217 - Add the FasterMake+RecursiveMake hybrid backend. r=gps 2016-01-22 15:43:26 +09:00
Mike Hommey
6affd3fadd 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
b601bd026a 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
f2fa3d2d73 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
7b72baa2ce 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
4482b7316b 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
b37b7a42ba 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
fda12074fd 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
207eeb9972 Bug 1241398 - Remove the FilePurger class. r=gps
Its only last use was removed.
2016-01-22 07:00:23 +09:00
Mike Hommey
c075768839 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
28214bc053 Bug 1239672 - Fixed symbols file support on mingw. r=glandium 2016-01-21 13:39:41 +01:00
Mike Hommey
e57b78cbd2 Bug 1241022 - Remove affected_tiers. r=gps 2016-01-21 13:54:03 +09:00
Mike Hommey
7e072050f2 Bug 1241022 - Remove code handling affected_tiers. r=gps 2016-01-21 13:54:03 +09:00
Mike Hommey
eb7f6ff42e 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
236da83650 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
e929abf298 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
0703d984ce 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
8c54f076a8 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
6b56851cc3 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
66504a1d53 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
b4bf41f235 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
f3716d66a4 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
12d5e4cb16 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
f3b14e6518 Bug 1240945 - Add a --verbose option to mach package. r=mshal 2016-01-21 13:54:03 +09:00
Chris Manchester
f337bf3093 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
94d175ba23 merge mozilla-inbound to mozilla-central a=merge 2016-01-20 15:34:34 +01:00
Mike Hommey
fdaae52ad9 Backout changeset de0a7a1cdc4a from bug 1240660 for make package bustage on a CLOSED TREE 2016-01-20 08:03:58 +09:00
Mike Hommey
b3ffbcf672 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