Граф коммитов

1711 Коммитов

Автор SHA1 Сообщение Дата
Gijs Kruitbosch 47178e3a6c Bug 1282420 - fix artifact builds so they don't depend on mach being invoked in the topsrcdir, r=chmanchester
MozReview-Commit-ID: BjgxYVI2se0
2016-06-27 14:42:38 +01:00
Ted Mielczarek f04fd21cff bug 1280220 - find_program should append an exe extension to absolute paths on Windows. r=glandium
MozReview-Commit-ID: 2gaLnL5x2zR

--HG--
extra : rebase_source : 9f5941bbfa73b75c903a64a9be257d205236778d
2016-06-16 12:05:12 +01:00
Mike Shal b7110a8a71 Bug 1275111 - Move artifact download/install into its own tier; r=glandium
This also fixes the issue of processing the artifacts twice in some
situations (bug 1275673). Note that the artifact download no longer
happens when a specific target is passed to 'mach build'.


MozReview-Commit-ID: Ktys6u3r1kG
2016-06-01 13:48:53 -04:00
Chris Manchester 4821b30b36 Bug 1278700 - Add missing libraries to Mac artifact builds to avoid failing in the packager when doing an artifact build on automation. r=mshal
MozReview-Commit-ID: 7wv57TcdLUR
2016-06-17 00:58:36 -07:00
Mike Hommey a4b157940a Bug 1278415 - Make the buildconfig module use MozbuildObject.from_environment. r=gps
The buildconfig module predates MozbuildObject.from_environment, and
it's about time to start factoring things out such that we only have
one way to get config.status data. This is step 1: making the
buildconfig module use MozbuildObject.from_environment.

Eventually, we'll want to remove the buildconfig module uses everywhere.
2016-06-16 11:43:35 +09:00
Mike Hommey 721ada9f07 Bug 1278415 - Ensure MOZ_CURRENT_PROJECT is set when running make directly in objdir. r=gps
The topobjdir-finding logic in mozbuild relies on MOZ_CURRENT_PROJECT
being set, and it's currently only set when going through client.mk.

On automation, during universal builds, make check is invoked directly
in one of the objdirs, so MOZ_CURRENT_PROJECT is not set. We've had
other similar problems in the past. Ensuring MOZ_CURRENT_PROJECT is set
in the objdir itself should reduce the risk of other such issues in the
future.
2016-06-16 11:43:30 +09:00
Mike Hommey 8a3b88f341 Bug 1278415 - Also write a mozinfo for js standalone builds. r=gps
Historically, a mozinfo for js standalone build has not been necessary,
but with the move towards a) having things work with mach and b)
buildconfig using the MozbuildObject.from_environment in next patch,
mozinfo becomes necessary (it's required for
MozbuildObject.from_environment to find the directory is an objdir).

Interestingly, hazard builds do both a js standalone build and a desktop
Firefox build at the same time, both of which are done with MOZCONFIG
set in the environment... with the Firefox mozconfig. The result of now
writing a mozinfo for js standalone builds is that in that case, they
end up with a reference to the mozconfig, which the build system then
reads, and finds a MOZ_OBJDIR, which then doesn't match the js
standalone build objdir. So for those builds, reset MOZCONFIG.
2016-06-16 11:43:23 +09:00
Justin D'Arcangelo 26ebe8e651 Bug 1272102 - FlyWeb Android UI. r=sebastian
--HG--
extra : amend_source : b1bac8800988d31790a64a293403336375e5effd
2016-06-08 21:37:06 -04:00
Chris AtLee e1b0b79d4d Bug 1275998 - L10n repacks should use the same compression settings for omni.ja as en-US r=glandium
MozReview-Commit-ID: DwuERh5MjX7

--HG--
extra : rebase_source : f447a41ebe48ab075327e0c0f8372d72976b6333
2016-05-27 08:37:09 -04:00
Carsten "Tomcat" Book 733eeabb87 Backed out changeset 6134b92d1b08 (bug 1277483) 2016-06-07 11:46:16 +02:00
Ms2ger dcb03a5c62 Bug 1277483 - Another followup to fix bustage. 2016-06-07 11:00:31 +02:00
Chris Manchester 6e0414ca1a Bug 1277841 - Use defines and substs from the artifact mach command instead of importing buildconfig in artifacts.py r=glandium
MozReview-Commit-ID: 8fMtTWR93Bw

--HG--
extra : rebase_source : f7e4b2057fea8ecbbcfe15b52226f4a15865e855
2016-06-06 16:14:21 -07:00
Mike Hommey a9067e9211 Bug 1244446 - Run automation build steps before postflight_all. r=gps,r=ted
Killing the sccache background daemon is part of postflight_all, but in
the current setup, postflight_all happens at the end of a "normal" build,
but we run automation build steps after that.

What happens then is that more compilations happen (gtests), which start
sccache again, but there's nothing to kill sccache again once this is
all done.

Now that the OSX universal builds postflight is gone, it is not
necessary for postflight_all to happen before the automation build steps.
So ensure postflight_all scripts happen last.

The downside of this change is that this now prevents sccache.log from
being uploaded, but we should probably send processed data to the graph
server instead.
2016-06-07 07:41:22 +09:00
Carsten "Tomcat" Book c51c48ac35 Backed out changeset 1d2c46c8c7c7 (bug 1244446) 2016-06-06 14:28:44 +02:00
Mike Hommey 8fdf97ddfe Bug 1244446 - Run automation build steps before postflight_all. r=gps,r=ted
Killing the sccache background daemon is part of postflight_all, but in
the current setup, postflight_all happens at the end of a "normal" build,
but we run automation build steps after that.

What happens then is that more compilations happen (gtests), which start
sccache again, but there's nothing to kill sccache again once this is
all done.

Now that the OSX universal builds postflight is gone, it is not
necessary for postflight_all to happen before the automation build steps.
So ensure postflight_all scripts happen last.

The downside of this change is that this now prevents sccache.log from
being uploaded, but we should probably send processed data to the graph
server instead.
2016-06-06 14:18:39 +09:00
Chris Manchester 79fb27c7a1 Bug 1274090 - Attempt to convert str objects containing non-ascii characters in Python configure rather than failing outright. r=glandium,gps
MozReview-Commit-ID: CxFqFXS7Dh9

--HG--
extra : rebase_source : cd5136461756248335245d433b579dd06d266c97
2016-05-31 10:34:05 -07:00
Chris Manchester c373236c7a Bug 1276037 - Update artifact builds to be able to find Linux taskcluster builds. r=mshal
MozReview-Commit-ID: 7ERnMW9xIwC

--HG--
extra : rebase_source : bb850a4d9366b67bb74420fde8b6e2772824ee14
2016-05-26 18:11:19 -07:00
Mike Hommey fa78b01aa0 Bug 1275419 - Add support for the --option=+a,-b kind of options in python configure. r=chmanchester 2016-05-26 21:29:56 +09:00
Stephen Pohl 15ea9c51d6 Bug 1275622 - Artifact builds busted due to updater name change on OSX. r=cmanchester 2016-05-25 12:07:52 -07:00
Gregory Szorc 2d6fb1ed77 Bug 1275297 - Create Visual Studio project files by default on Windows; r=glandium
Now that the VisualStudio backend will no-op if nothing has changed, it
should be safe to always run this backend.

On first run, backend generation takes ~3.5s on my machine. On subsequent run,
it takes ~1.5s. Wall time for a no-op config.status is now ~15.7s. We could like
make the Visual Studio backend faster by not writing so many project files.
But this would require consolidating libraries in moz.build files. And that's
out of scope for this change.

We drop the check for MSVS_VERSION because it won't always be defined on
MinGW/GCC builds. We simply default to "2015" if it isn't set.

MozReview-Commit-ID: 5W38HMGmcuV

--HG--
extra : rebase_source : 302d76277058819c115f3c2518b8cb2067971950
extra : source : 408319d87eacb28848efeab0346eb815440adade
2016-05-24 08:47:24 -07:00
Gregory Szorc dba3191147 Bug 1275297 - Write VisualStudioVersion to solution file; r=chmanchester
There is probably a way to dynamically retrieve the version. But rather
than take the chance we'd query the wrong thing, let's just parse the
version that Visual Studio writes to the solution file when saving it and
use it.

With this change, generating the VisualStudio build backend should not change
any files unless the build config has changed. This means we can generate
Visual Studio files at will without causing Visual Studio to complain
about the solution and other files changing and needing reloading.

MozReview-Commit-ID: 1udZ72SLEzP

--HG--
extra : rebase_source : d15bff5b30a021dc1180e48fb7bb0d6c84871b69
2016-05-24 08:21:41 -07:00
Gregory Szorc ef99842bf6 Bug 1275297 - Write MinimumVisualStudioVersion to solution file; r=chmanchester
Visual Studio will write this variable to an ancient Visual Studio
version (2010 I believe) if we don't specify it. Explicitly write the
variable to the minimum Visual Studio version we support.

MozReview-Commit-ID: 8Y0im48OM2G

--HG--
extra : rebase_source : 7b1f4cfe778c6258dce068b2aec8b6acd8e85102
2016-05-24 08:14:06 -07:00
Gregory Szorc 96ada3b958 Bug 1275297 - Use proper header in solution file; r=chmanchester
Upon further examination, VS2013 and VS2015 share the same file format
version. They also write the internal version number in a comment, not
the user-facing production version.

MozReview-Commit-ID: 92HB0pEzeI6

--HG--
extra : rebase_source : ebf00ae704ccd44415f8d7054359c87287734926
2016-05-24 07:58:25 -07:00
Gregory Szorc fb053cc0d2 Bug 1274444 - Check for null console before attempting to flash it; r=glandium
GetConsoleWindow() can return NULL. Previously, we may have passed a NULL
console reference into FlashWindowEx(). On my machine (when running in a
console), passing NULL doesn't seem to cause an error. But since we have
a report of this function hanging, it is quite possible it can cause
hangs in other scenarios. Since a NULL console won't result in any
notification, let's not call FlashWindowEx() when no console is available.

MozReview-Commit-ID: LrKX8weUkzX

--HG--
extra : rebase_source : 6c3fc724dbc038f6b51bbdc14d985202c47074e8
2016-05-20 14:22:38 -07:00
Gregory Szorc 8cddc84662 Bug 1260299 - Remove "experimental" label of Visual Studio files; r=chmanchester
The label has been there for years. It isn't really experimental.
The Visual Studio solution still leaves a lot to be desired. But
let's not scare people away by calling it experimental.

MozReview-Commit-ID: 7UvsbsKNnWw

--HG--
extra : rebase_source : a7d3f824859629297a782a0883ebf78af1d8fa70
2016-05-19 21:56:28 -07:00
Gregory Szorc 9ad306489c Bug 1260299 - Use FileAvoidWrite when writing Visual Studio files; r=chmanchester
By using self._write_file() and FileAvoidWrite, we avoid writing files
unless they change. This means that Visual Studio won't want you to
reload the solution and projects whenever the backend is generated.
This means you can regenerate the backend all you want and chances are
it won't disrupt your Visual Studio experience.

Since self._write_file() creates parent directories for us, we were
able to remove this code.

If you run `mach build-backend --diff` with this commit, output will
change. For reasons I don't understand, we were producing XML with
e.g. \r\r\n sequences. This patch appears to restore \r\n. How
we got \r\r I don't know because I can't find anywhere in the code
where that can occur. But this commit does appear to restore sanity.

Also, it appears modern versions of Visual Studio (perhaps only VS2015)
doesn't write your project files. When I initially implemented Visual
Studio project generation several years ago, as soon as you loaded
the solution and hit "Save All" Visual Studio would re-save your files
using a slightly different formatting (it did some gnarly things with
XML indentation). VS2015 doesn't do this. So your files on disk should
be unmodified for longer, making Visual Studio a more viable development
environment. Yay.

MozReview-Commit-ID: 7CSk0dsLOli

--HG--
extra : rebase_source : 3cd04ba8ffed8fc8880de66b1f4fce1f6300b51c
2016-05-19 21:11:36 -07:00
Gregory Szorc cff488fdeb Bug 1260299 - Allow _write_file to pass mode argument to FileAvoidWrite; r=chmanchester
Currently, self._write_file() instantiates FileAvoidWrite instances
with the default mode of 'rU' which uses universal newlines (\n).

Visual Studio project files use CRLF newlines. We want to use
self._write_file() in the Visual Studio backend (which predates
self._write_file). Prepare for this by passing the mode argument
through.

MozReview-Commit-ID: LHCUf3IrpJ8

--HG--
extra : rebase_source : be08d8e043ef625f8f846c38446e1430e072a665
2016-05-19 21:03:07 -07:00
Gregory Szorc 75c3a5c27e Bug 1260299 - Generate Visual Studio project files corresponding to current toolchain; r=chmanchester
If we're running VS2013, we generate VS2013 files. If we're running VS2015,
we generate VS2015 files. If we don't have a Visual Studio version
defined, refuse to generate project files (hopefully this doesn't
happen in the real world but I'm sure someone will complain if it does).

MozReview-Commit-ID: 5GdsbGmWPLB

--HG--
extra : rebase_source : 1a50c0fa5b7980ad25fb3ed3c1ec2c95f16996b6
2016-05-19 20:08:46 -07:00
Gregory Szorc 38070c5c36 Bug 1260299 - Support generating Visual Studio 2015 project files; r=chmanchester
Pretty straightforward.

MozReview-Commit-ID: ENYy9i34zCP

--HG--
extra : rebase_source : e9775d03f786350951db7f1ffd978c58f67beef6
2016-05-19 20:03:27 -07:00
Gregory Szorc 464f0e83c0 Bug 1260299 - Remove references to unsupported Visual Studio versions; r=chmanchester
We only support building with VS2013 and VS2015. Remove references
to older versions in the Visual Studio build backend.

MozReview-Commit-ID: 6QTSylqLwLF

--HG--
extra : rebase_source : d654f0e415dd5c1bfa1258633e26d467bea5535a
2016-05-19 19:59:11 -07:00
Ehsan Akhgari ab999b8a97 Bug 1272976 - Don't import anything from the mozwebidlcodegen module globally; r=gps
This import makes out-of-tree builds of SpiderMonkey depend on
dom/bindings/mozwebidlcodegen needlessly.
2016-05-17 21:38:42 -04:00
Ehsan Akhgari 7ee16b69bc Bug 1272975 - Don't import anything from the reftest module globally; r=gps
These imports make an out-of-tree build of SpiderMonkey depend on
the reftest module, which means SpiderMonkey implicitly depends on
layout/tools/reftest.
2016-05-17 21:38:39 -04:00
Gregory Szorc ba58598e13 Bug 1272768 - Teach `mach resource-usage` to load arbitrary URLs; r=chmanchester
Firefox automation now uploads resource usage JSON files as
job artifacts (see bug 1272202). Now that the build system
writes the same data format and `mach resource-usage` can
read this data format, let's teach `mach resource-usage`
to load arbitrary URLs. This allows people to view system
resource usage for arbitrary jobs in automation.

Currently, you have to look at Treeherder to find the URL to
the build-resources.json artifact. Perhaps in the future
we can make finding the URL easier. Or we could integrate
source resource viewing into Treeherder itself (this is
probably preferred).

This commit continues the tradition of `mach resource-usage`
being a hacked up mess. Instead of loading the URL in
the browser, we download the URL from Python then serve it
from the HTTP server running as part of `mach resource-usage`.
This is somewhat horrible. But it was easiest to implement.
It also conveniently bypasses any cross origin request
restrictions the browser may impose. So it is useful.

MozReview-Commit-ID: IR1Cfs7SrRN

--HG--
extra : rebase_source : b33231d482ca891c1b3331f472009518bf57f8c3
2016-05-12 17:01:36 -07:00
Gregory Szorc bb011ff361 Bug 1272768 - Use mozsystemmonitor for writing JSON; r=chmanchester
We currently have our own system monitor serialization in
building.py. It predates as_dict() from mozsystemmonitor. Let's
use the "upstream" data format so we only have a single format
to consume.

This change required updating the in-tree resource viewer to
be compatible with the new data format.

This commit stops short of getting rid of the existing
data massaging code in building.py. Another day perhaps.

MozReview-Commit-ID: 1OJrSiyJjMX

--HG--
extra : rebase_source : 9782b2164d1735ed0872fe8c1637204d5b3b1313
2016-05-17 13:49:42 -07:00
Chris Manchester 3eb90d9dd1 Bug 1269513 - Implement PKG_CHECK_MODULES equivalent in Python configure. r=glandium
MozReview-Commit-ID: mhFMEG0UXz
2016-05-17 14:40:03 -07:00
Chris Manchester 2a763b7273 Bug 1269513 - Add a helper for check_output in Python configure. r=glandium
MozReview-Commit-ID: H3IX5HLyJeu
2016-05-17 14:40:03 -07:00
Chris Manchester 0a11236205 Bug 1269513 - Make queue_debug a no-op if called from within a queue_debug block. r=glandium
MozReview-Commit-ID: 2GO8fV8HseU
2016-05-17 14:40:03 -07:00
Wes Kocher c85d7b355d Backed out 2 changesets (bug 1272768) for breaking builds in mozharness
Backed out changeset 5dcc540bd8c8 (bug 1272768)
Backed out changeset 580cb0cd5a96 (bug 1272768)
2016-05-16 11:38:03 -07:00
Gregory Szorc d897b3b204 Bug 1272768 - Teach `mach resource-usage` to load arbitrary URLs; r=chmanchester
Firefox automation now uploads resource usage JSON files as
job artifacts (see bug 1272202). Now that the build system
writes the same data format and `mach resource-usage` can
read this data format, let's teach `mach resource-usage`
to load arbitrary URLs. This allows people to view system
resource usage for arbitrary jobs in automation.

Currently, you have to look at Treeherder to find the URL to
the build-resources.json artifact. Perhaps in the future
we can make finding the URL easier. Or we could integrate
source resource viewing into Treeherder itself (this is
probably preferred).

This commit continues the tradition of `mach resource-usage`
being a hacked up mess. Instead of loading the URL in
the browser, we download the URL from Python then serve it
from the HTTP server running as part of `mach resource-usage`.
This is somewhat horrible. But it was easiest to implement.
It also conveniently bypasses any cross origin request
restrictions the browser may impose. So it is useful.

MozReview-Commit-ID: IR1Cfs7SrRN

--HG--
extra : rebase_source : 91f5f807c19643ac4d1edb8f6652110813f7e53f
2016-05-12 17:01:36 -07:00
Gregory Szorc 5b37de35f1 Bug 1272768 - Use mozsystemmonitor for writing JSON; r=chmanchester
We currently have our own system monitor serialization in
building.py. It predates as_dict() from mozsystemmonitor. Let's
use the "upstream" data format so we only have a single format
to consume.

This change required updating the in-tree resource viewer to
be compatible with the new data format.

This commit stops short of getting rid of the existing
data massaging code in building.py. Another day perhaps.

MozReview-Commit-ID: 1OJrSiyJjMX

--HG--
extra : rebase_source : b7c7824b84110f118223dc483b03398855fe9965
2016-05-13 13:31:43 -07:00
Mark Hammond fde8284626 Bug 1272544 - artifact builds with git now only consider the last 500 revisions rather than all revisions for the last 500 commits. r=chmanchester
MozReview-Commit-ID: 21Y4S5t952d

--HG--
extra : rebase_source : c447adf697f9924d6738c15ccb8c0e170fed31d3
2016-05-13 15:27:27 +10:00
Ben Kelly 8ddb26fdbe Bug 1272748 Expose --enable-sm-promise config setting in mozinfo.json. r=mshal 2016-05-13 13:00:16 -07:00
Chris Manchester 2f6600bc7f Bug 1257326 - Provide reasons for implied options when the caller provides an immediate value. r=glandium
MozReview-Commit-ID: A8IDPuwPqiP
2016-05-12 11:55:58 -07:00
Chris Manchester a0e5625c9a Bug 1257326 - Add a parameter to restrict accepted origins for an option in python configure. r=glandium
MozReview-Commit-ID: 4Cme7fvl1fN
2016-05-12 11:55:58 -07:00
Chris Manchester 2bc5c65931 Bug 1257326 - Respect origins set by any caller of CommandLineHelper.add. r=glandium
Origins will be set for any caller of CommandLineHelper.add, but will only
be propagated if args are added to extra_args. This results in an incorrect
origin recorded for mozconfig injected arguments.

MozReview-Commit-ID: 9mJCaNHyd5C
2016-05-12 11:55:57 -07:00
Chris Manchester e00bb9ee54 Bug 1267454 - Move java toolchain checks to Python configure. r=glandium
MozReview-Commit-ID: KEDkmJJsaUx
2016-05-12 11:55:57 -07:00
Chris Manchester f99b0b2bf5 Bug 1267454 - Allow passing kwargs to the mocked check_output in configure tests. r=glandium
MozReview-Commit-ID: BH3nUUI9nwn
2016-05-12 11:55:57 -07:00
Chris Manchester a91638058c Bug 1267454 - Set up a mock-able import for os.environ in configure tests. r=glandium
MozReview-Commit-ID: AtkkLC5xEip
2016-05-12 11:55:57 -07:00
Chris Manchester 463051b415 Bug 1267454 - Add a parameter to find_program and check_prog to allow searching the given paths instead of $PATH. r=glandium
MozReview-Commit-ID: F3lke9Q5rRR
2016-05-12 11:55:57 -07:00
Mike Hommey e0898b3dc1 Bug 1270446 - Automatically add --target argument when unit test class has a TARGET attribute. r=chmanchester 2016-05-06 21:24:09 +09:00