Commit Graph

1823 Commits

Author SHA1 Message Date
Gregory Szorc
b49f08ef42 Bug 1241771 - Print install manifest processing time; r=glandium
--HG--
extra : rebase_source : 55c85facadd02ffe237c0a9ba65f7523708bdc2f
2016-01-21 22:42:47 -08:00
Mike Hommey
6098e02a36 Bug 1239217 - Add the FasterMake+RecursiveMake hybrid backend. r=gps 2016-01-22 15:43:26 +09:00
Mike Hommey
e50a6cfd7b 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
f549721406 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
185469f678 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
2bbd2afaf4 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
ea76aa712a 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
035edf837c 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
0022f03519 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
93901acdfb Bug 1241398 - Remove the FilePurger class. r=gps
Its only last use was removed.
2016-01-22 07:00:23 +09:00
Mike Hommey
cbb6270957 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
ea0edf0971 Bug 1239672 - Fixed symbols file support on mingw. r=glandium 2016-01-21 13:39:41 +01:00
Mike Hommey
ff97250ee5 Bug 1241022 - Remove affected_tiers. r=gps 2016-01-21 13:54:03 +09:00
Mike Hommey
2fcc0bab19 Bug 1241022 - Remove code handling affected_tiers. r=gps 2016-01-21 13:54:03 +09:00
Mike Hommey
06970f8dd5 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
29f788b50a 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
d15aed7a3f 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
5fa52a8dbd 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
27f3aa7c34 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
8513e7f0f1 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
427799414b 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
cceef82d4d 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
052b8b751f 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
bdc9ed0d4a 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
a660612a84 Bug 1240945 - Add a --verbose option to mach package. r=mshal 2016-01-21 13:54:03 +09:00
Chris Manchester
e1e56f71a4 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.

--HG--
extra : rebase_source : 7b4f450c0492fd3c840e4f0a0cce8b42d120df9f
2016-01-19 16:00:11 -08:00
Carsten "Tomcat" Book
248f7a3dee merge mozilla-inbound to mozilla-central a=merge 2016-01-20 15:34:34 +01:00
Mike Hommey
dd60f8bf2c Backout changeset de0a7a1cdc4a from bug 1240660 for make package bustage on a CLOSED TREE 2016-01-20 08:03:58 +09:00
Mike Hommey
7f62418e45 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
Mike Hommey
299b5dc832 Bug 1240660 - Move jar_maker to the misc tier, now that ordering does't matter. r=gps 2016-01-20 07:24:40 +09:00
Mike Hommey
dcdd7d9f41 Bug 1240660 - Remove support for the "+" prefix in jar manifests. r=gps 2016-01-20 07:24:40 +09:00
Mike Hommey
ba8b3a8a41 Bug 1237140 - Add support for local defines in generate_symbols_file. r=gps
generate_symbols_file only supports the global defines, and completely
ignores DEFINES from the same moz.build the SYMBOLS_FILE is defined.
This fixes this misfeature.
2016-01-20 07:24:40 +09:00
Mike Hommey
5aba5600b3 Bug 1237140 - Allow file_generate scripts to take additional flags. r=gps
Currently, file_generate scripts can only accept input and output file
name, but sometimes, one would like for them to take additional flags.
2016-01-20 07:24:40 +09:00
Mike Hommey
f668d88db6 Bug 1237140 - Move DefinesAction from mozbuild.action.process_install_manifest to mozbuild.util. r=gps 2016-01-20 07:24:40 +09:00
Panos Astithas
d2848915ff Bug 1143698 - Selecting macports on Yosemite fails out. r=gps 2016-01-20 00:00:41 +02:00
Panos Astithas
37abe588ff Bug 1114382 - Implement |mach bootstrap| for mobile/android on OS X with macports package manager. r=nalexander 2016-01-19 14:19:55 +02:00
Jim Chen
5cf0d899cd Bug 1240082 - Remove ant requirements; r=nalexander
--HG--
extra : commitid : LWw4uI6LnMf
extra : rebase_source : 714f77af63279a92fc6c015bea36c814fbe1589e
2016-01-13 13:19:23 -05:00
Chris Manchester
3c7406f19a Bug 1240323 - Fix installation of binary components in a subdir of dist/bin for linux artifact builds. r=nalexander
A recent change regressed this behavior -- while an artifact build runs, it
doesn't load certain "about:" pages due to missing libraries in subdirectories
of dist/bin.

--HG--
extra : commitid : HOPgt9kMKoV
2016-01-16 18:13:47 -08:00
Gregory Szorc
a1cef9be6a Bug 1239880 - Don't copy thousands of web-platform test files to objdir; r=chmanchester
AFAICT, we don't actually access web-platform test files from the
objdir for anything except test packaging. And we already have
a mechanism for creating test archives from files directly in the
source directory. So, let's stop copying them to the objdir and
package them directly from the source directory!

The _tests install manifest reports the following change:

before: 41,977 files installed
after:  24,537 files installed
delta: -17,440 files

We still copy some WPT files to the objdir. We might be able to
eliminate these as well. However, since there are only ~200 files,
I'm not too concerned.

I manually compared the resulting web-platform zip archives from before
and after. No files were removed from the archive. However, the new
archive does gain several hundred empty directories with .gitkeep
files. This feels weird, but it shouldn't break anything (I would
think). I'm inclined to leave them for now. I'll file a follow-up
bug to deal with them (preferably by removing them from version
control).

--HG--
extra : rebase_source : d350f8fc223982c8a11a9bf542411e5ec5e44244
2016-01-15 20:09:12 -08:00
Wes Kocher
84fb907a27 Merge m-c to inbound, a=merge CLOSED TREE
--HG--
rename : testing/taskcluster/tasks/phone_test.yml => testing/taskcluster/tasks/b2g_e2e_tests_base_definition.yml
extra : commitid : 4MrlWshamZ5
2016-01-15 15:13:21 -08:00
Mike Hommey
364bdaff67 Bug 1239872 - Prevent jar maker from installing the same file twice. r=gps
The faster make backend cannot support such things, so it's better to
avoid unsupported things to slip in because it happens that doesn't
break what automation runs.
2016-01-16 07:19:08 +09:00
Mike Hommey
6e930714bd Bug 1239169 - Check that files exist before marking them for removal during install manifest processing. r=gps 2016-01-16 07:19:08 +09:00
Carsten "Tomcat" Book
40335d0645 Backed out changeset a87a27864bb8 (bug 1223385) 2016-01-15 13:51:54 +01:00
Carsten "Tomcat" Book
7e52b24fab merge mozilla-inbound to mozilla-central a=merge 2016-01-15 11:46:47 +01:00
Jim Chen
b1e4e083d5 Bug 1223209 - Clean up old GeckoView library files; r=nalexander
Right now, each incremental build produces a new set of GeckoView
library files, but the previous files don't get cleaned up, and you end
up with a bunch of old libraries in your objdir. This patch cleans up
the old files before producing new ones.
2016-01-14 18:20:02 -05:00
Nick Alexander
4ffb95c185 Bug 1239738 - Handle artifact builds with no test binaries cleanly. r=ahunt
DONTBUILD NPOTB on a CLOSED TREE

--HG--
extra : commitid : FGUTtsps8la
extra : amend_source : 0111b1b9551a9d93749dd81dc961d73d2965ee65
2016-01-14 09:38:48 -08:00
Gijs Kruitbosch
2642bee1a7 Bug 1239678 - fix dll inclusion pattern on Windows and the placement of nested dlls like browsercomps and clearkey, r=nalexander
--HG--
extra : commitid : ISG749GMW8e
extra : rebase_source : 61e8971594cf88bd55dfbe9bb03da999daeba548
extra : amend_source : bd326f18285788f7e23f3c196391a9fc3c4c9d5a
2016-01-14 14:56:59 +00:00
Chris Manchester
ab5e6b6e17 Bug 1238320 - Part 3 (Windows): Download test binaries necessary to run xpcshell tests and mochitests in artifact builds. r=nalexander
--HG--
extra : rebase_source : b1c404789cb4afaa31b0da676ed66ad7cdbed7b4
2016-01-13 21:56:36 -08:00
Chris Manchester
db3a9aef35 Bug 1238320 - Part 2 (Mac): Download test binaries necessary to run xpcshell tests and mochitests in artifact builds. r=nalexander
--HG--
extra : rebase_source : 700fad2fa9b8082efe403b9822f20a738e42fec3
2016-01-13 21:56:36 -08:00
Chris Manchester
59bdb886e9 Bug 1238320 - Part 1 (Linux): Download test binaries necessary to run xpcshell tests and mochitests in artifact builds. r=nalexander
--HG--
extra : rebase_source : 09d7045ad02d30c6f5651dfbac23b38a05a54ed2
2016-01-13 21:56:36 -08:00