Merge mozilla-central to autoland. a=merge on a CLOSED TREE

This commit is contained in:
Razvan Maries 2019-02-05 18:59:13 +02:00
Родитель 0b09448bc6 4b2bf1d443
Коммит f86459d5dc
79 изменённых файлов: 1463 добавлений и 2057 удалений

Просмотреть файл

@ -509,9 +509,6 @@ pref("browser.bookmarks.openInTabClosesMenu", true);
// Scripts & Windows prefs
pref("dom.disable_open_during_load", true);
pref("javascript.options.showInConsole", true);
#ifdef DEBUG
pref("general.warnOnAboutConfig", false);
#endif
// This is the pref to control the location bar, change this to true to
// force this - this makes the origin of popup windows more obvious to avoid
@ -1814,10 +1811,7 @@ pref("browser.discovery.sites", "addons.mozilla.org");
pref("browser.engagement.recent_visited_origins.expiry", 86400); // 24 * 60 * 60 (24 hours in seconds)
// Show the warning page for the new about config. Will replace general.warnOnAboutConfig.
#ifdef NIGHTLY_BUILD
pref("browser.aboutConfig.showWarning", true);
#endif
#if defined(XP_WIN) && defined(MOZ_LAUNCHER_PROCESS)
// Launcher process is disabled by default, will be selectively enabled via SHIELD

Просмотреть файл

@ -13,6 +13,10 @@ ChromeUtils.defineModuleGetter(this, "ActorManagerParent",
var isDevtools = SimpleTest.harnessParameters.subsuite == "devtools";
// This list should contain only path prefixes. It is meant to stop the test
// from reporting things that *are* referenced, but for which the test can't
// find any reference because the URIs are constructed programatically.
// If you need to whitelist specific files, please use the 'whitelist' object.
var gExceptionPaths = [
"chrome://browser/content/defaultthemes/",
"resource://app/defaults/settings/blocklists/",
@ -41,11 +45,6 @@ var gExceptionPaths = [
// Exclude all search-plugins because they aren't referenced by filename
"resource://search-plugins/",
// Previous version of "about:config" kept for risk mitigation as a hidden
// page accessed using a direct chrome URL, will be removed in the future.
"chrome://global/content/config.js",
"chrome://global/content/config.xul",
];
// These are not part of the omni.ja file, so we find them only when running
@ -55,6 +54,9 @@ if (AppConstants.platform == "macosx") {
gExceptionPaths.push("resource://gre/res/touchbar/");
}
// Each whitelist entry should have a comment indicating which file is
// referencing the whitelisted file in a way that the test can't detect, or a
// bug number to remove or use the file if it is indeed currently unreferenced.
var whitelist = [
// browser/extensions/pdfjs/content/PdfStreamConverter.jsm
{file: "chrome://pdf.js/locale/chrome.properties"},
@ -175,10 +177,10 @@ var whitelist = [
{file: "chrome://devtools/skin/images/aboutdebugging-firefox-release.svg",
isFromDevTools: true},
{file: "chrome://devtools/skin/images/next.svg", isFromDevTools: true},
// Feature gates are available but not used yet - Bug 1479127
{file: "resource://gre-resources/featuregates/FeatureGate.jsm"},
{file: "resource://gre-resources/featuregates/FeatureGateImplementation.jsm"},
{file: "resource://gre-resources/featuregates/feature_definitions.json"},
// Feature gates are available but not used yet - Bug 1479127
{file: "resource://gre-resources/featuregates/FeatureGate.jsm"},
{file: "resource://gre-resources/featuregates/FeatureGateImplementation.jsm"},
{file: "resource://gre-resources/featuregates/feature_definitions.json"},
];
whitelist = new Set(whitelist.filter(item =>

Просмотреть файл

@ -35,7 +35,7 @@ body.config-warning {
min-width: 644px;
}
#search {
#about-config-search {
box-sizing: border-box;
width: 100%;
background-image: url("chrome://global/skin/icons/search-textbox.svg");

Просмотреть файл

@ -41,5 +41,16 @@
data-l10n-id="about-config-warning-button"></button>
</div>
</div>
<template id="main">
<div id="search-container">
<!-- Use a unique ID to prevent showing autocomplete results from other
browser pages with similarly named fields. -->
<input type="text" id="about-config-search"
data-l10n-id="about-config-search">
</div>
<table id="prefs"></table>
</template>
</body>
</html>

Просмотреть файл

@ -314,7 +314,7 @@ if (!Preferences.get("browser.aboutConfig.showWarning")) {
// the value of the textbox has been restored from previous sessions.
document.addEventListener("DOMContentLoaded", loadPrefs, { once: true });
window.addEventListener("load", () => {
if (document.getElementById("search").value) {
if (document.getElementById("about-config-search").value) {
filterPrefs();
}
}, { once: true });
@ -330,20 +330,13 @@ function loadPrefs() {
document.body.className = "config-background";
[...document.styleSheets].find(s => s.title == "infop").disabled = true;
let { content } = document.getElementById("main");
document.body.textContent = "";
let searchContainer = document.createElement("div");
searchContainer.id = "search-container";
let search = document.createElement("input");
search.type = "text";
search.id = "search";
document.l10n.setAttributes(search, "about-config-search");
searchContainer.appendChild(search);
document.body.appendChild(searchContainer);
search.focus();
document.body.appendChild(content);
let prefs = document.createElement("table");
prefs.id = "prefs";
document.body.appendChild(prefs);
let search = document.getElementById("about-config-search");
let prefs = document.getElementById("prefs");
search.focus();
for (let name of Services.prefs.getChildList("")) {
new PrefRow(name);
@ -398,7 +391,7 @@ function filterPrefs() {
}
gDeletedPrefs.clear();
let searchName = document.getElementById("search").value.trim();
let searchName = document.getElementById("about-config-search").value.trim();
gFilterString = searchName.toLowerCase();
let prefArray = [...gExistingPrefs.values()];
if (gFilterString) {

Просмотреть файл

@ -111,7 +111,7 @@ class AboutConfigTest {
}
get searchInput() {
return this.document.getElementById("search");
return this.document.getElementById("about-config-search");
}
get prefsTable() {

Просмотреть файл

@ -31,6 +31,7 @@ with Files('controlcenter/**'):
DIRS += [
'about',
'aboutconfig',
'attribution',
'contextualidentity',
'customizableui',
@ -61,7 +62,6 @@ DIRS += ['build']
if CONFIG['NIGHTLY_BUILD']:
DIRS += [
'aboutconfig',
'payments',
]

Просмотреть файл

@ -61,7 +61,7 @@ add_task(async function test_set_tabstate_and_duplicate() {
"the tab's state was correctly restored");
// add text data
await setInputValue(tab.linkedBrowser, {id: "search", value: value3});
await setInputValue(tab.linkedBrowser, {id: "about-config-search", value: value3});
// duplicate the tab
let tab2 = ss.duplicateTab(window, tab);
@ -71,7 +71,7 @@ add_task(async function test_set_tabstate_and_duplicate() {
ok(ss.getCustomTabValue(tab2, key2) == value2 &&
tab2.linkedBrowser.currentURI.spec == URL,
"correctly duplicated the tab's state");
let textbox = await getInputValue(tab2.linkedBrowser, {id: "search"});
let textbox = await getInputValue(tab2.linkedBrowser, {id: "about-config-search"});
is(textbox, value3, "also duplicated text data");
// clean up

Просмотреть файл

@ -46,7 +46,8 @@ try:
"/NoLogo",
"/Target", binary_path,
"/SymPath", symbol_path,
"/Checks", "ATLVersionCheck",
# ATLVersionCheck triggers a crash in msdia120: bug 1525113
"/SkippedChecks", "ATLVersionCheck",
"/Checks", "ATLVulnCheck",
# We do not ship in the Windows Store
"/SkippedChecks", "AppContainerCheck",
@ -68,7 +69,8 @@ try:
"/Checks", "RSA32Check",
"/Checks", "SafeSEHCheck",
"/Checks", "SharedSectionCheck",
"/Checks", "VB6Check",
# VB6Check triggers a crash in msdia120: bug 1525113
"/SkippedChecks", "VB6Check",
"/Checks", "WXCheck"
], stdout=subprocess.PIPE, stderr=subprocess.PIPE)

Просмотреть файл

@ -72,7 +72,7 @@ static const RedirEntry kRedirMap[] = {
{"checkerboard", "chrome://global/content/aboutCheckerboard.xhtml",
nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
nsIAboutModule::ALLOW_SCRIPT},
#if !defined(NIGHTLY_BUILD) || !defined(MOZ_BUILD_APP_IS_BROWSER)
#ifndef MOZ_BUILD_APP_IS_BROWSER
{"config", "chrome://global/content/config.xul", 0},
#endif
#ifdef MOZ_CRASHREPORTER

Просмотреть файл

@ -29,7 +29,7 @@ about_pages = [
'webrtc',
]
if not defined('NIGHTLY_BUILD') or buildconfig.substs['MOZ_BUILD_APP'] != 'browser':
if buildconfig.substs['MOZ_BUILD_APP'] != 'browser':
about_pages.append('config')
if defined('MOZ_CRASHREPORTER'):
about_pages.append('crashes')

Просмотреть файл

@ -7,6 +7,9 @@
with Files('**'):
BUG_COMPONENT = ('Core', 'Document Navigation')
if CONFIG['MOZ_BUILD_APP'] == 'browser':
DEFINES['MOZ_BUILD_APP_IS_BROWSER'] = True
DIRS += [
'base',
'shistory',

Просмотреть файл

@ -1246,7 +1246,6 @@ Document::Document(const char* aContentType)
mDidDocumentOpen(false),
mHasDisplayDocument(false),
mFontFaceSetDirty(true),
mGetUserFontSetCalled(false),
mDidFireDOMContentLoaded(true),
mHasScrollLinkedEffect(false),
mFrameRequestCallbacksScheduled(false),
@ -11601,33 +11600,7 @@ nsAutoSyncOperation::~nsAutoSyncOperation() {
}
}
gfxUserFontSet* Document::GetUserFontSet(bool aFlushUserFontSet) {
// We want to initialize the user font set lazily the first time the
// user asks for it, rather than building it too early and forcing
// rule cascade creation. Thus we try to enforce the invariant that
// we *never* build the user font set until the first call to
// GetUserFontSet. However, once it's been requested, we can't wait
// for somebody to call GetUserFontSet in order to rebuild it (see
// comments below in MarkUserFontSetDirty for why).
#ifdef DEBUG
bool userFontSetGottenBefore = mGetUserFontSetCalled;
#endif
// Set mGetUserFontSetCalled up front, so that FlushUserFontSet will actually
// flush.
mGetUserFontSetCalled = true;
if (mFontFaceSetDirty && aFlushUserFontSet) {
// If this assertion fails, and there have actually been changes to
// @font-face rules, then we will call StyleChangeReflow in
// FlushUserFontSet. If we're in the middle of reflow,
// that's a bad thing to do, and the caller was responsible for
// flushing first. If we're not (e.g., in frame construction), it's
// ok.
NS_ASSERTION(!userFontSetGottenBefore || !GetShell() ||
!GetShell()->IsReflowLocked(),
"FlushUserFontSet should have been called first");
FlushUserFontSet();
}
gfxUserFontSet* Document::GetUserFontSet() {
if (!mFontFaceSet) {
return nullptr;
}
@ -11636,12 +11609,6 @@ gfxUserFontSet* Document::GetUserFontSet(bool aFlushUserFontSet) {
}
void Document::FlushUserFontSet() {
if (!mGetUserFontSetCalled) {
return; // No one cares about this font set yet, but we want to be careful
// to not unset our mFontFaceSetDirty bit, so when someone really
// does we'll create it.
}
if (!mFontFaceSetDirty) {
return;
}
@ -11678,22 +11645,20 @@ void Document::FlushUserFontSet() {
}
void Document::MarkUserFontSetDirty() {
if (!mGetUserFontSetCalled) {
// We want to lazily build the user font set the first time it's
// requested (so we don't force creation of rule cascades too
// early), so don't do anything now.
if (mFontFaceSetDirty) {
return;
}
mFontFaceSetDirty = true;
if (nsIPresShell* shell = GetShell()) {
shell->EnsureStyleFlush();
}
}
FontFaceSet* Document::Fonts() {
if (!mFontFaceSet) {
nsCOMPtr<nsPIDOMWindowInner> window = do_QueryInterface(GetScopeObject());
mFontFaceSet = new FontFaceSet(window, this);
GetUserFontSet(); // this will cause the user font set to be
// created/updated
FlushUserFontSet();
}
return mFontFaceSet;
}

Просмотреть файл

@ -3339,7 +3339,7 @@ class Document : public nsINode,
}
}
gfxUserFontSet* GetUserFontSet(bool aFlushUserFontSet = true);
gfxUserFontSet* GetUserFontSet();
void FlushUserFontSet();
void MarkUserFontSetDirty();
mozilla::dom::FontFaceSet* GetFonts() { return mFontFaceSet; }
@ -4065,9 +4065,6 @@ class Document : public nsINode,
// Is the current mFontFaceSet valid?
bool mFontFaceSetDirty : 1;
// Has GetUserFontSet() been called?
bool mGetUserFontSetCalled : 1;
// True if we have fired the DOMContentLoaded event, or don't plan to fire one
// (e.g. we're not being parsed at all).
bool mDidFireDOMContentLoaded : 1;

Просмотреть файл

@ -3486,6 +3486,8 @@ bool CanvasRenderingContext2D::SetFontInternal(const nsAString& aFont,
resizedFont.size =
(fontStyle->mSize * c->AppUnitsPerDevPixel()) / AppUnitsPerCSSPixel();
c->Document()->FlushUserFontSet();
nsFontMetrics::Params params;
params.language = fontStyle->mLanguage;
params.explicitLanguage = fontStyle->mExplicitLanguage;
@ -4026,6 +4028,7 @@ nsresult CanvasRenderingContext2D::DrawOrMeasureText(
nsPresContext* presContext = presShell->GetPresContext();
// ensure user font set is up to date
presContext->Document()->FlushUserFontSet();
currentFontStyle->SetUserFontSet(presContext->GetUserFontSet());
if (currentFontStyle->GetStyle()->size == 0.0F) {

Просмотреть файл

@ -1524,6 +1524,7 @@ class WebGLContext : public nsICanvasRenderingContextInternal,
GLenum LastColorAttachmentEnum() const {
return LOCAL_GL_COLOR_ATTACHMENT0 + mGLMaxColorAttachments - 1;
}
const auto& GLMaxDrawBuffers() const { return mGLMaxDrawBuffers; }
const decltype(mOptions)& Options() const { return mOptions; }

Просмотреть файл

@ -311,6 +311,51 @@ const webgl::CachedDrawFetchLimits* ValidateDraw(WebGLContext* const webgl,
// -
const auto& fragOutputs = linkInfo->fragOutputs;
const auto fnValidateFragOutputType =
[&](const uint8_t loc, const webgl::TextureBaseType dstBaseType) {
const auto itr = fragOutputs.find(loc);
if (MOZ_UNLIKELY(itr == fragOutputs.end())) {
webgl->ErrorInvalidOperation(
"Program has no frag output at location %u, but"
" destination draw buffer has an attached"
" image.",
uint32_t(loc));
return false;
}
const auto& info = itr->second;
const auto& srcBaseType = info.baseType;
if (MOZ_UNLIKELY(dstBaseType != srcBaseType)) {
const auto& srcStr = ToString(srcBaseType);
const auto& dstStr = ToString(dstBaseType);
webgl->ErrorInvalidOperation(
"Program frag output at location %u is type %s,"
" but destination draw buffer is type %s.",
uint32_t(loc), srcStr, dstStr);
return false;
}
return true;
};
if (!webgl->mRasterizerDiscardEnabled) {
if (fb) {
for (const auto& attach : fb->ColorDrawBuffers()) {
const auto i =
uint8_t(attach->mAttachmentPoint - LOCAL_GL_COLOR_ATTACHMENT0);
const auto& imageInfo = attach->GetImageInfo();
if (!imageInfo) continue;
const auto& dstBaseType = imageInfo->mFormat->format->baseType;
if (!fnValidateFragOutputType(i, dstBaseType)) return nullptr;
}
} else {
if (!fnValidateFragOutputType(0, webgl::TextureBaseType::Float))
return nullptr;
}
}
// -
const auto fetchLimits = linkInfo->GetDrawFetchLimits();
if (!fetchLimits) return nullptr;

Просмотреть файл

@ -15,6 +15,7 @@
#include "WebGLBuffer.h"
#include "WebGLContext.h"
#include "WebGLShader.h"
#include "WebGLShaderValidator.h"
#include "WebGLTransformFeedback.h"
#include "WebGLUniformLocation.h"
#include "WebGLValidateStrings.h"
@ -161,6 +162,38 @@ webgl::UniformInfo::UniformInfo(WebGLActiveInfo* activeInfo)
//////////
static webgl::TextureBaseType FragOutputBaseType(const GLenum type) {
switch (type) {
case LOCAL_GL_FLOAT:
case LOCAL_GL_FLOAT_VEC2:
case LOCAL_GL_FLOAT_VEC3:
case LOCAL_GL_FLOAT_VEC4:
return webgl::TextureBaseType::Float;
case LOCAL_GL_INT:
case LOCAL_GL_INT_VEC2:
case LOCAL_GL_INT_VEC3:
case LOCAL_GL_INT_VEC4:
return webgl::TextureBaseType::Int;
case LOCAL_GL_UNSIGNED_INT:
case LOCAL_GL_UNSIGNED_INT_VEC2:
case LOCAL_GL_UNSIGNED_INT_VEC3:
case LOCAL_GL_UNSIGNED_INT_VEC4:
return webgl::TextureBaseType::UInt;
default:
break;
}
const auto& str = EnumString(type);
gfxCriticalError() << "Unhandled enum for FragOutputBaseType: "
<< str.c_str();
return webgl::TextureBaseType::Float;
}
// -
//#define DUMP_SHADERVAR_MAPPINGS
static RefPtr<const webgl::LinkedProgramInfo> QueryProgramInfo(
@ -438,7 +471,66 @@ static RefPtr<const webgl::LinkedProgramInfo> QueryProgramInfo(
// Frag outputs
prog->EnumerateFragOutputs(info->fragDataMap);
{
const auto& fragShader = prog->FragShader();
const auto& handle = fragShader->Validator()->Handle();
const auto version = sh::GetShaderVersion(handle);
const auto fnAddInfo = [&](const webgl::FragOutputInfo& x) {
info->fragOutputs.insert({x.loc, x});
};
if (version == 300) {
const auto& fragOutputs = sh::GetOutputVariables(handle);
if (fragOutputs) {
for (const auto& cur : *fragOutputs) {
auto loc = cur.location;
if (loc == -1) loc = 0;
const auto info = webgl::FragOutputInfo{
uint8_t(loc), nsCString(cur.name.c_str()),
nsCString(cur.mappedName.c_str()), FragOutputBaseType(cur.type)};
if (!cur.isArray()) {
fnAddInfo(info);
continue;
}
MOZ_ASSERT(cur.arraySizes.size() == 1);
for (uint32_t i = 0; i < cur.arraySizes[0]; ++i) {
const auto indexStr = nsPrintfCString("[%u]", i);
auto userName = info.userName;
userName.Append(indexStr);
auto mappedName = info.mappedName;
mappedName.Append(indexStr);
const auto indexedInfo = webgl::FragOutputInfo{
uint8_t(info.loc + i), userName, mappedName, info.baseType};
fnAddInfo(indexedInfo);
}
}
}
} else {
// ANGLE's translator doesn't tell us about non-user frag outputs. :(
const auto& translatedSource = fragShader->TranslatedSource();
uint32_t drawBuffers = 1;
if (translatedSource.Find("(gl_FragData[1]") != -1 ||
translatedSource.Find("(webgl_FragData[1]") != -1) {
// The matching with the leading '(' prevents cleverly-named user vars
// breaking this. Since ANGLE initializes all outputs, if this is an MRT
// shader, FragData[1] will be present. FragData[0] is valid for non-MRT
// shaders.
drawBuffers = webgl->GLMaxDrawBuffers();
}
for (uint32_t i = 0; i < drawBuffers; ++i) {
const auto& name = nsPrintfCString("gl_FragData[%u]", i);
const auto info = webgl::FragOutputInfo{uint8_t(i), name, name,
webgl::TextureBaseType::Float};
fnAddInfo(info);
}
}
}
return info;
}
@ -749,15 +841,6 @@ GLint WebGLProgram::GetAttribLocation(const nsAString& userName_wide) const {
return GLint(info->mLoc);
}
static GLint GetFragDataByUserName(const WebGLProgram* prog,
const nsCString& userName) {
nsCString mappedName;
if (!prog->LinkInfo()->MapFragDataName(userName, &mappedName)) return -1;
return prog->mContext->gl->fGetFragDataLocation(prog->mGLName,
mappedName.BeginReading());
}
GLint WebGLProgram::GetFragDataLocation(const nsAString& userName_wide) const {
if (!ValidateGLSLVariableName(userName_wide, mContext)) return -1;
@ -767,25 +850,16 @@ GLint WebGLProgram::GetFragDataLocation(const nsAString& userName_wide) const {
}
const NS_LossyConvertUTF16toASCII userName(userName_wide);
#ifdef XP_MACOSX
const auto& gl = mContext->gl;
if (gl->WorkAroundDriverBugs()) {
// OSX doesn't return locs for indexed names, just the base names.
// Indicated by failure in:
// conformance2/programs/gl-get-frag-data-location.html
bool isArray;
size_t arrayIndex;
nsCString baseUserName;
if (!ParseName(userName, &baseUserName, &isArray, &arrayIndex)) return -1;
if (arrayIndex >= mContext->mGLMaxDrawBuffers) return -1;
const auto baseLoc = GetFragDataByUserName(this, baseUserName);
const auto loc = baseLoc + GLint(arrayIndex);
return loc;
auto userNameId0 = nsCString(userName);
userNameId0.AppendLiteral("[0]");
const auto& fragOutputs = LinkInfo()->fragOutputs;
for (const auto& pair : fragOutputs) {
const auto& info = pair.second;
if (info.userName == userName || info.userName == userNameId0) {
return info.loc;
}
}
#endif
return GetFragDataByUserName(this, userName);
return -1;
}
void WebGLProgram::GetProgramInfoLog(nsAString* const out) const {
@ -1544,13 +1618,6 @@ bool WebGLProgram::UnmapUniformBlockName(const nsCString& mappedName,
return true;
}
void WebGLProgram::EnumerateFragOutputs(
std::map<nsCString, const nsCString>& out_FragOutputs) const {
MOZ_ASSERT(mFragShader);
mFragShader->EnumerateFragOutputs(out_FragOutputs);
}
////////////////////////////////////////////////////////////////////////////////
bool IsBaseName(const nsCString& name) {
@ -1598,29 +1665,6 @@ bool webgl::LinkedProgramInfo::FindUniform(
return true;
}
bool webgl::LinkedProgramInfo::MapFragDataName(
const nsCString& userName, nsCString* const out_mappedName) const {
// FS outputs can be arrays, but not structures.
if (fragDataMap.empty()) {
// No mappings map from validation, so just forward it.
*out_mappedName = userName;
return true;
}
nsCString baseUserName;
bool isArray;
size_t arrayIndex;
if (!ParseName(userName, &baseUserName, &isArray, &arrayIndex)) return false;
const auto itr = fragDataMap.find(baseUserName);
if (itr == fragDataMap.end()) return false;
const auto& baseMappedName = itr->second;
AssembleName(baseMappedName, isArray, arrayIndex, out_mappedName);
return true;
}
////////////////////////////////////////////////////////////////////////////////
JSObject* WebGLProgram::WrapObject(JSContext* js,

Просмотреть файл

@ -77,6 +77,13 @@ struct UniformBlockInfo final {
mBinding(&webgl->mIndexedUniformBufferBindings[0]) {}
};
struct FragOutputInfo final {
const uint8_t loc;
const nsCString userName;
const nsCString mappedName;
const TextureBaseType baseType;
};
struct CachedDrawFetchLimits final {
uint64_t maxVerts;
uint64_t maxInstances;
@ -99,6 +106,7 @@ struct LinkedProgramInfo final : public RefCounted<LinkedProgramInfo>,
std::vector<UniformInfo*> uniforms; // Owns its contents.
std::vector<UniformBlockInfo*> uniformBlocks; // Owns its contents.
std::vector<RefPtr<WebGLActiveInfo>> transformFeedbackVaryings;
std::unordered_map<uint8_t, const FragOutputInfo> fragOutputs;
// Needed for draw call validation.
std::vector<UniformInfo*> uniformSamplers;
@ -109,11 +117,6 @@ struct LinkedProgramInfo final : public RefCounted<LinkedProgramInfo>,
//////
// The maps for the frag data names to the translated names.
std::map<nsCString, const nsCString> fragDataMap;
//////
mutable CacheWeakMap<const WebGLVertexArray*, CachedDrawFetchLimits>
mDrawFetchCache;
@ -129,8 +132,6 @@ struct LinkedProgramInfo final : public RefCounted<LinkedProgramInfo>,
bool FindUniform(const nsCString& userName, nsCString* const out_mappedName,
size_t* const out_arrayIndex,
UniformInfo** const out_info) const;
bool MapFragDataName(const nsCString& userName,
nsCString* const out_mappedName) const;
};
} // namespace webgl
@ -206,6 +207,8 @@ class WebGLProgram final : public nsWrapperCache,
return mMostRecentLinkInfo.get();
}
const auto& FragShader() const { return mFragShader; }
WebGLContext* GetParentObject() const { return mContext; }
virtual JSObject* WrapObject(JSContext* js,

Просмотреть файл

@ -346,16 +346,6 @@ bool WebGLShader::UnmapUniformBlockName(
return mValidator->UnmapUniformBlockName(baseMappedName, out_baseUserName);
}
void WebGLShader::EnumerateFragOutputs(
std::map<nsCString, const nsCString>& out_FragOutputs) const {
out_FragOutputs.clear();
if (!mValidator) {
return;
}
mValidator->EnumerateFragOutputs(out_FragOutputs);
}
void WebGLShader::MapTransformFeedbackVaryings(
const std::vector<nsString>& varyings,
std::vector<std::string>* out_mappedVaryings) const {

Просмотреть файл

@ -60,12 +60,11 @@ class WebGLShader final : public nsWrapperCache,
bool UnmapUniformBlockName(const nsACString& baseMappedName,
nsCString* const out_baseUserName) const;
void EnumerateFragOutputs(
std::map<nsCString, const nsCString>& out_FragOutputs) const;
bool IsCompiled() const {
return mTranslationSuccessful && mCompilationSuccessful;
}
const auto* Validator() const { return mValidator.get(); }
const auto& TranslatedSource() const { return mTranslatedSource; }
private:
void BindAttribLocation(GLuint prog, const nsCString& userName,

Просмотреть файл

@ -580,17 +580,5 @@ bool ShaderValidator::UnmapUniformBlockName(
return false;
}
void ShaderValidator::EnumerateFragOutputs(
std::map<nsCString, const nsCString>& out_FragOutputs) const {
const auto* fragOutputs = sh::GetOutputVariables(mHandle);
if (fragOutputs) {
for (const auto& fragOutput : *fragOutputs) {
out_FragOutputs.insert({nsCString(fragOutput.name.c_str()),
nsCString(fragOutput.mappedName.c_str())});
}
}
}
} // namespace webgl
} // namespace mozilla

Просмотреть файл

@ -6,11 +6,12 @@
#ifndef WEBGL_SHADER_VALIDATOR_H_
#define WEBGL_SHADER_VALIDATOR_H_
#include "GLSLANG/ShaderLang.h"
#include "GLDefs.h"
#include "nsString.h"
#include <string>
#include "GLDefs.h"
#include "GLSLANG/ShaderLang.h"
#include "nsString.h"
namespace mozilla {
namespace webgl {
@ -43,6 +44,7 @@ class ShaderValidator final {
bool CanLinkTo(const ShaderValidator* prev, nsCString* const out_log) const;
size_t CalcNumSamplerUniforms() const;
size_t NumAttributes() const;
const auto& Handle() const { return mHandle; }
bool FindAttribUserNameByMappedName(
const std::string& mappedName,
@ -65,9 +67,6 @@ class ShaderValidator final {
bool UnmapUniformBlockName(const nsACString& baseMappedName,
nsCString* const out_baseUserName) const;
void EnumerateFragOutputs(
std::map<nsCString, const nsCString>& out_FragOutputs) const;
bool ValidateTransformFeedback(
const std::vector<nsString>& userNames, uint32_t maxComponents,
nsCString* const out_errorText,

Просмотреть файл

@ -41,13 +41,12 @@ function asyncBlob() {
bytes[i] = IMAGE.charCodeAt(i);
}
let array = [];
for (let i = 0; i < 20000; ++i) {
array.push(new Uint8Array(bytes));
let blob = new Blob([new Uint8Array(bytes)], { type: "text/html"});
while (blob.size <= 1024*1024) {
blob = new Blob([blob, blob], { type: "text/html"});
}
let blob = new Blob(array, { type: "text/html"});
ok(blob.size > 1000000, "More than 1mb");
ok(blob.size > 1024 * 1024, "More than 1mb");
let bc = new BroadcastChannel('a');
bc.onmessage = e => {
@ -78,6 +77,7 @@ function next() {
test();
}
SimpleTest.requestLongerTimeout(3); // slow on Android
SimpleTest.waitForExplicitFinish();
next();
</script>

Просмотреть файл

@ -546,7 +546,7 @@ function runDrawTests() {
debug("test that gl_FragColor does not broadcast unless extension is enabled in fragment shader");
gl.bindFramebuffer(gl.FRAMEBUFFER, fb);
ext.drawBuffersWEBGL(bufs);
ext.drawBuffersWEBGL([gl.COLOR_ATTACHMENT0]); // While the WG debates whether how to handle this.
gl.useProgram(redProgram);
wtu.drawUnitQuad(gl);

Просмотреть файл

@ -358,7 +358,7 @@ function runDrawTests() {
// GLES3 spec section 3.9.2 Shader Outputs
debug("test that gl_FragColor only writes to color number zero");
gl.bindFramebuffer(gl.FRAMEBUFFER, fb);
gl.drawBuffers(bufs);
gl.drawBuffers([gl.COLOR_ATTACHMENT0]);
gl.useProgram(blueProgramESSL1);
wtu.drawUnitQuad(gl);
@ -370,7 +370,7 @@ function runDrawTests() {
// See GLSL ES Spec 3.00.4, Section 4.3.8.2, Output Layout Qualifiers.
debug("test that an OpenGL ES Shading Language 3.00 shader with a single output color defaults to color number zero");
gl.bindFramebuffer(gl.FRAMEBUFFER, fb);
gl.drawBuffers(bufs);
gl.drawBuffers([gl.COLOR_ATTACHMENT0]);
gl.useProgram(redProgram);
wtu.drawUnitQuad(gl);

Просмотреть файл

@ -5349,7 +5349,6 @@ subsuite = webgl2-core
subsuite = webgl2-core
[generated/test_2_conformance2__rendering__rendering-sampling-feedback-loop.html]
subsuite = webgl2-core
fail-if = 1
[generated/test_2_conformance2__rendering__rgb-format-support.html]
subsuite = webgl2-core
[generated/test_2_conformance2__rendering__texture-switch-performance.html]

Просмотреть файл

@ -160,9 +160,6 @@ fail-if = 1
[generated/test_conformance__extensions__webgl-draw-buffers-feedback-loop.html]
# Bad test.
fail-if = 1
[generated/test_2_conformance2__rendering__rendering-sampling-feedback-loop.html]
# Bad test.
fail-if = 1
########################################################################
# Complicated

Просмотреть файл

@ -756,23 +756,6 @@ bool BackgroundChildImpl::DeallocPServiceWorkerRegistrationChild(
return dom::DeallocServiceWorkerRegistrationChild(aActor);
}
bool BackgroundChildImpl::GetMessageSchedulerGroups(
const Message& aMsg, SchedulerGroupSet& aGroups) {
if (aMsg.type() == layout::PVsync::MessageType::Msg_Notify__ID) {
MOZ_ASSERT(NS_IsMainThread());
aGroups.Clear();
if (dom::TabChild::HasVisibleTabs()) {
for (auto iter = dom::TabChild::GetVisibleTabs().ConstIter();
!iter.Done(); iter.Next()) {
aGroups.Put(iter.Get()->GetKey()->TabGroup());
}
}
return true;
}
return false;
}
dom::PEndpointForReportChild* BackgroundChildImpl::AllocPEndpointForReportChild(
const nsString& aGroupName, const PrincipalInfo& aPrincipalInfo) {
return new dom::EndpointForReportChild();

Просмотреть файл

@ -261,9 +261,6 @@ class BackgroundChildImpl : public PBackgroundChild {
virtual bool DeallocPHttpBackgroundChannelChild(
PHttpBackgroundChannelChild* aActor) override;
bool GetMessageSchedulerGroups(const Message& aMsg,
SchedulerGroupSet& aGroups) override;
virtual PMIDIPortChild* AllocPMIDIPortChild(
const MIDIPortInfo& aPortInfo, const bool& aSysexEnabled) override;
virtual bool DeallocPMIDIPortChild(PMIDIPortChild*) override;

Просмотреть файл

@ -2042,16 +2042,6 @@ MessageChannel::MessageTask::GetPriority(uint32_t* aPriority) {
return NS_OK;
}
bool MessageChannel::MessageTask::GetAffectedSchedulerGroups(
SchedulerGroupSet& aGroups) {
if (!mChannel) {
return false;
}
mChannel->AssertWorkerThread();
return mChannel->mListener->GetMessageSchedulerGroups(mMessage, aGroups);
}
void MessageChannel::DispatchMessage(Message&& aMsg) {
AssertWorkerThread();
mMonitor->AssertCurrentThreadOwns();

Просмотреть файл

@ -22,7 +22,6 @@
#endif // defined(OS_WIN)
#include "mozilla/ipc/Transport.h"
#include "MessageLink.h"
#include "nsILabelableRunnable.h"
#include "nsThreadUtils.h"
#include <deque>
@ -560,8 +559,7 @@ class MessageChannel : HasResultCodes, MessageLoop::DestructionObserver {
private:
class MessageTask : public CancelableRunnable,
public LinkedListElement<RefPtr<MessageTask>>,
public nsIRunnablePriority,
public nsILabelableRunnable {
public nsIRunnablePriority {
public:
explicit MessageTask(MessageChannel* aChannel, Message&& aMessage);
@ -578,8 +576,6 @@ class MessageChannel : HasResultCodes, MessageLoop::DestructionObserver {
Message& Msg() { return mMessage; }
const Message& Msg() const { return mMessage; }
bool GetAffectedSchedulerGroups(SchedulerGroupSet& aGroups) override;
private:
MessageTask() = delete;
MessageTask(const MessageTask&) = delete;

Просмотреть файл

@ -34,7 +34,6 @@
#include "mozilla/UniquePtr.h"
#include "MainThreadUtils.h"
#include "nsICrashReporter.h"
#include "nsILabelableRunnable.h"
#if defined(ANDROID) && defined(DEBUG)
# include <android/log.h>
@ -451,8 +450,6 @@ class IToplevelProtocol : public IProtocol {
MessageChannel mChannel;
};
using SchedulerGroupSet = nsILabelableRunnable::SchedulerGroupSet;
void SetTransport(UniquePtr<Transport> aTrans) { mTrans = std::move(aTrans); }
Transport* GetTransport() const { return mTrans.get(); }
@ -556,15 +553,6 @@ class IToplevelProtocol : public IProtocol {
virtual void ProcessRemoteNativeEventsInInterruptCall() {}
// Override this method in top-level protocols to change the SchedulerGroups
// that a message might affect. This should be used only as a last resort
// when it's difficult to determine an EventTarget ahead of time. See the
// comment in nsILabelableRunnable.h for more information.
virtual bool GetMessageSchedulerGroups(const Message& aMsg,
SchedulerGroupSet& aGroups) {
return false;
}
virtual void OnChannelReceivedMessage(const Message& aMsg) {}
bool IsMainThreadProtocol() const { return mIsMainThreadProtocol; }

Просмотреть файл

@ -1157,9 +1157,7 @@ void PresShell::Destroy() {
}
}
if (mPresContext) {
const bool mayFlushUserFontSet = false;
gfxUserFontSet* fs = mPresContext->GetUserFontSet(mayFlushUserFontSet);
if (fs) {
if (gfxUserFontSet* fs = mPresContext->GetUserFontSet()) {
uint32_t fontCount;
uint64_t fontSize;
fs->GetLoadStatistics(fontCount, fontSize);

Просмотреть файл

@ -9583,8 +9583,7 @@ static nsRect ComputeHTMLReferenceRect(nsIFrame* aFrame,
/* static */
already_AddRefed<nsFontMetrics> nsLayoutUtils::GetMetricsFor(
nsPresContext* aPresContext, bool aIsVertical,
const nsStyleFont* aStyleFont, nscoord aFontSize, bool aUseUserFontSet,
FlushUserFontSet aFlushUserFontSet) {
const nsStyleFont* aStyleFont, nscoord aFontSize, bool aUseUserFontSet) {
nsFont font = aStyleFont->mFont;
font.size = aFontSize;
gfxFont::Orientation orientation =
@ -9593,10 +9592,8 @@ already_AddRefed<nsFontMetrics> nsLayoutUtils::GetMetricsFor(
params.language = aStyleFont->mLanguage;
params.explicitLanguage = aStyleFont->mExplicitLanguage;
params.orientation = orientation;
params.userFontSet = aUseUserFontSet
? aPresContext->GetUserFontSet(aFlushUserFontSet ==
FlushUserFontSet::Yes)
: nullptr;
params.userFontSet =
aUseUserFontSet ? aPresContext->GetUserFontSet() : nullptr;
params.textPerf = aPresContext->GetTextPerfMetrics();
return aPresContext->DeviceContext()->GetMetricsFor(font, params);
}

Просмотреть файл

@ -2945,15 +2945,11 @@ class nsLayoutUtils {
// from preferences.
static uint8_t ControlCharVisibilityDefault();
enum class FlushUserFontSet {
Yes,
No,
};
// Callers are responsible to ensure the user-font-set is up-to-date if
// aUseUserFontSet is true.
static already_AddRefed<nsFontMetrics> GetMetricsFor(
nsPresContext* aPresContext, bool aIsVertical,
const nsStyleFont* aStyleFont, nscoord aFontSize, bool aUseUserFontSet,
FlushUserFontSet aFlushUserFontSet);
const nsStyleFont* aStyleFont, nscoord aFontSize, bool aUseUserFontSet);
/**
* Appropriately add the correct font if we are using DocumentFonts or

Просмотреть файл

@ -1864,8 +1864,8 @@ bool nsPresContext::HasAuthorSpecifiedRules(const nsIFrame* aFrame,
aRuleTypeMask, UseDocumentColors());
}
gfxUserFontSet* nsPresContext::GetUserFontSet(bool aFlushUserFontSet) {
return mDocument->GetUserFontSet(aFlushUserFontSet);
gfxUserFontSet* nsPresContext::GetUserFontSet() {
return mDocument->GetUserFontSet();
}
void nsPresContext::UserFontSetUpdated(gfxUserFontEntry* aUpdatedFont) {

Просмотреть файл

@ -901,7 +901,7 @@ class nsPresContext : public nsISupports,
bool SuppressingResizeReflow() const { return mSuppressResizeReflow; }
gfxUserFontSet* GetUserFontSet(bool aFlushUserFontSet = true);
gfxUserFontSet* GetUserFontSet();
// Should be called whenever the set of fonts available in the user
// font set changes (e.g., because a new font loads, or because the

Просмотреть файл

@ -2052,8 +2052,7 @@ GeckoFontMetrics Gecko_GetFontMetrics(RawGeckoPresContextBorrowed aPresContext,
nsPresContext* presContext = const_cast<nsPresContext*>(aPresContext);
presContext->SetUsesExChUnits(true);
RefPtr<nsFontMetrics> fm = nsLayoutUtils::GetMetricsFor(
presContext, aIsVertical, aFont, aFontSize, aUseUserFontSet,
nsLayoutUtils::FlushUserFontSet::No);
presContext, aIsVertical, aFont, aFontSize, aUseUserFontSet);
ret.mXSize = fm->XHeight();
gfxFloat zeroWidth = fm->GetThebesFontGroup()

Просмотреть файл

@ -351,9 +351,7 @@ void ServoStyleSet::SetAuthorStyleDisabled(bool aStyleDisabled) {
already_AddRefed<ComputedStyle> ServoStyleSet::ResolveStyleFor(
Element* aElement, LazyComputeBehavior aMayCompute) {
if (aMayCompute == LazyComputeBehavior::Allow) {
PreTraverseSync();
return ResolveStyleLazilyInternal(aElement,
CSSPseudoElementType::NotPseudo);
return ResolveStyleLazily(aElement, CSSPseudoElementType::NotPseudo);
}
return ResolveServoStyle(*aElement);
@ -378,6 +376,12 @@ void ServoStyleSet::PreTraverseSync() {
// is necessary to avoid a data race when updating the cache.
mozilla::Unused << mDocument->GetRootElement();
// FIXME(emilio): This shouldn't be needed in theory, the call to the same
// function in PresShell should do the work, but as it turns out we
// ProcessPendingRestyles() twice, and runnables from frames just constructed
// can end up doing editing stuff, which adds stylesheets etc...
mDocument->FlushUserFontSet();
ResolveMappedAttrDeclarationBlocks();
nsMediaFeatures::InitSystemMetrics();
@ -536,7 +540,6 @@ already_AddRefed<ComputedStyle> ServoStyleSet::ResolveStyleLazily(
Element* aElement, CSSPseudoElementType aPseudoType,
StyleRuleInclusion aRuleInclusion) {
PreTraverseSync();
return ResolveStyleLazilyInternal(aElement, aPseudoType, aRuleInclusion);
}

Просмотреть файл

@ -5,4 +5,4 @@ Makefile.in build files for the Mozilla build system.
The audioipc-2 git repository is: https://github.com/djg/audioipc-2.git
The git commit ID used was 572d6a6a16501cde726dcc09604a0cbc895d93e3 (2018-10-23 16:43:12 +1300)
The git commit ID used was c2148b95128f5e54ef1d18e5e457a2fa45e7ac43 (2019-02-05 15:18:22 +1300)

Просмотреть файл

@ -33,6 +33,7 @@ mod async;
mod cmsg;
pub mod codec;
pub mod core;
#[allow(deprecated)]
pub mod errors;
pub mod fd_passing;
pub mod frame;

Просмотреть файл

@ -229,7 +229,9 @@ pub enum ClientMessage {
#[derive(Debug, Deserialize, Serialize)]
pub enum CallbackReq {
Data(isize, usize),
Data { nframes: isize,
input_frame_size: usize,
output_frame_size: usize },
State(ffi::cubeb_state),
}

Просмотреть файл

@ -69,11 +69,12 @@ impl rpc::Server for CallbackServer {
fn process(&mut self, req: Self::Request) -> Self::Future {
match req {
CallbackReq::Data(nframes, frame_size) => {
CallbackReq::Data { nframes, input_frame_size, output_frame_size } => {
trace!(
"stream_thread: Data Callback: nframes={} frame_size={}",
"stream_thread: Data Callback: nframes={} input_fs={} output_fs={}",
nframes,
frame_size
input_frame_size,
output_frame_size,
);
// Clone values that need to be moved into the cpu pool thread.
@ -92,14 +93,14 @@ impl rpc::Server for CallbackServer {
// TODO: This is proof-of-concept. Make it better.
let input_ptr: *const u8 = match input_shm {
Some(shm) => shm
.get_slice(nframes as usize * frame_size)
.get_slice(nframes as usize * input_frame_size)
.unwrap()
.as_ptr(),
None => ptr::null(),
};
let output_ptr: *mut u8 = match output_shm {
Some(ref mut shm) => shm
.get_mut_slice(nframes as usize * frame_size)
.get_mut_slice(nframes as usize * output_frame_size)
.unwrap()
.as_mut_ptr(),
None => ptr::null_mut(),

Просмотреть файл

@ -34,6 +34,7 @@ use tokio_uds::UnixStream;
mod server;
#[allow(deprecated)]
pub mod errors {
error_chain! {
links {

Просмотреть файл

@ -82,35 +82,25 @@ struct ServerStreamCallbacks {
}
impl ServerStreamCallbacks {
fn data_callback(&mut self, input: &[u8], output: &mut [u8]) -> isize {
trace!("Stream data callback: {} {}", input.len(), output.len());
fn data_callback(&mut self, input: &[u8], output: &mut [u8], nframes: isize) -> isize {
trace!("Stream data callback: {} {} {}", nframes, input.len(), output.len());
// FFI wrapper (data_cb_c) converted buffers to [u8] slices but len is frames *not* bytes.
// Convert slices to correct length now we have {input,output}_frame_size available.
let real_input = unsafe {
let nbytes = input.len() * self.input_frame_size as usize;
slice::from_raw_parts(input.as_ptr(), nbytes)
};
let real_output = unsafe {
let nbytes = output.len() * self.output_frame_size as usize;
slice::from_raw_parts_mut(output.as_mut_ptr(), nbytes)
};
self.input_shm.write(real_input).unwrap();
self.input_shm.write(input).unwrap();
let r = self
.rpc
.call(CallbackReq::Data(
output.len() as isize,
self.output_frame_size as usize,
)).wait();
.call(CallbackReq::Data {
nframes: nframes,
input_frame_size: self.input_frame_size as usize,
output_frame_size: self.output_frame_size as usize,
}).wait();
match r {
Ok(CallbackResp::Data(frames)) => {
if frames >= 0 {
let nbytes = frames as usize * self.output_frame_size as usize;
trace!("Reslice output to {}", nbytes);
self.output_shm.read(&mut real_output[..nbytes]).unwrap();
self.output_shm.read(&mut output[..nbytes]).unwrap();
}
frames
}
@ -436,14 +426,16 @@ unsafe extern "C" fn data_cb_c(
let input = if input_buffer.is_null() {
&[]
} else {
slice::from_raw_parts(input_buffer as *const u8, nframes as usize)
let nbytes = nframes * cbs.input_frame_size as c_long;
slice::from_raw_parts(input_buffer as *const u8, nbytes as usize)
};
let output: &mut [u8] = if output_buffer.is_null() {
&mut []
} else {
slice::from_raw_parts_mut(output_buffer as *mut u8, nframes as usize)
let nbytes = nframes * cbs.output_frame_size as c_long;
slice::from_raw_parts_mut(output_buffer as *mut u8, nbytes as usize)
};
cbs.data_callback(input, output) as c_long
cbs.data_callback(input, output, nframes as isize) as c_long
});
ok.unwrap_or(0)
}

Просмотреть файл

@ -23,7 +23,9 @@ pref("general.useragent.site_specific_overrides", true);
pref("general.config.obscure_value", 13); // for MCD .cfg files
#ifndef MOZ_BUILD_APP_IS_BROWSER
pref("general.warnOnAboutConfig", true);
#endif
// maximum number of dated backups to keep at any time
pref("browser.bookmarks.max_backups", 5);

Просмотреть файл

@ -49,6 +49,9 @@ if CONFIG['NIGHTLY_BUILD']:
DEFINES['ENABLE_WASM_REFTYPES'] = True
DEFINES['ENABLE_WASM_GC'] = True
if CONFIG['MOZ_BUILD_APP'] == 'browser':
DEFINES['MOZ_BUILD_APP_IS_BROWSER'] = True
FINAL_TARGET_PP_FILES += [
'greprefs.js',
]

Просмотреть файл

@ -441,9 +441,13 @@ include(tup_include)
option(env='WATCHMAN', nargs=1, help='Path to the watchman program')
@depends('WATCHMAN')
@depends(host, 'WATCHMAN')
@checking('for watchman', callback=lambda w: w.path if w else 'not found')
def watchman(prog):
def watchman(host, prog):
# On Windows, `watchman` is only supported on 64-bit hosts.
if host.os == 'WINNT' and host.cpu != 'x86_64':
return
if not prog:
prog = find_program('watchman')

Просмотреть файл

@ -938,6 +938,7 @@ class RunProgram(MachCommandBase):
all(p not in params for p in ['-profile', '--profile', '-P'])
if no_profile_option_given and not noprofile:
prefs = {
'browser.aboutConfig.showWarning': False,
'browser.shell.checkDefaultBrowser': False,
'general.warnOnAboutConfig': False,
}

Просмотреть файл

@ -0,0 +1,66 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
job-defaults:
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
docker-image: {in-tree: android-build}
max-run-time: 1800
linux64-android-sdk-linux-repack:
description: "Android SDK (Linux) repack toolchain build"
treeherder:
symbol: TL(android-sdk-linux)
worker:
artifacts:
- name: project/gecko/android-sdk
path: /builds/worker/project/gecko/android-sdk/
type: directory
run:
script: repack-android-sdk-linux.sh
resources:
- 'python/mozboot/**/*android*'
toolchain-artifact: project/gecko/android-sdk/android-sdk-linux.tar.xz
toolchain-alias: android-sdk-linux
linux64-android-ndk-linux-repack:
description: "Android NDK (Linux) repack toolchain build"
treeherder:
symbol: TL(android-ndk-linux)
worker:
artifacts:
- name: project/gecko/android-ndk
path: /builds/worker/project/gecko/android-ndk/
type: directory
run:
script: repack-android-ndk-linux.sh
resources:
- 'python/mozboot/**/*android*'
toolchain-artifact: project/gecko/android-ndk/android-ndk.tar.xz
toolchain-alias: android-ndk-linux
linux64-android-gradle-dependencies:
description: "Android Gradle dependencies toolchain task"
treeherder:
symbol: TL(gradle-dependencies)
worker:
env:
GRADLE_USER_HOME: "/builds/worker/workspace/build/src/mobile/android/gradle/dotgradle-online"
run:
script: android-gradle-dependencies.sh
sparse-profile: null
resources:
- 'taskcluster/scripts/misc/tooltool-download.sh'
- 'taskcluster/scripts/misc/android-gradle-dependencies/**'
- '*.gradle'
- 'mobile/android/**/*.gradle'
- 'mobile/android/config/mozconfigs/android-api-16-gradle-dependencies/**'
- 'mobile/android/config/mozconfigs/common*'
- 'mobile/android/gradle.configure'
toolchain-artifact: public/build/android-gradle-dependencies.tar.xz
toolchain-alias: android-gradle-dependencies
toolchains:
# Aliases aren't allowed for toolchains depending on toolchains.
- linux64-android-sdk-linux-repack
- linux64-node

Просмотреть файл

@ -0,0 +1,55 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
job-defaults:
description: "cbindgen toolchain build"
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
max-run-time: 3600
run:
script: build-cbindgen.sh
resources:
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-artifact: public/build/cbindgen.tar.xz
linux64-cbindgen:
treeherder:
symbol: TL(cbindgen)
worker:
max-run-time: 1800
run:
arguments: ['x86_64-unknown-linux-gnu']
toolchains:
- linux64-rust-1.28
macosx64-cbindgen:
treeherder:
symbol: TM(cbindgen)
worker:
env:
TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-clang.manifest"
run-on-projects:
- trunk
- try
run:
arguments: ['x86_64-apple-darwin']
tooltool-downloads: internal
toolchains:
- linux64-cctools-port
- linux64-clang-7
- linux64-llvm-dsymutil
- linux64-rust-macos-1.31
win64-cbindgen:
treeherder:
symbol: TW64(cbindgen)
worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
worker:
env:
TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/sccache-build.manifest"
run:
arguments: ['x86_64-pc-windows-msvc']
toolchain-artifact: public/build/cbindgen.tar.bz2
toolchains:
- win64-rust-1.28

Просмотреть файл

@ -0,0 +1,40 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
job-defaults:
description: "cctools-port toolchain build"
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
max-run-time: 1800
run:
resources:
- 'taskcluster/scripts/misc/tooltool-download.sh'
linux64-cctools-port:
treeherder:
symbol: TL(cctools)
run:
script: build-cctools-port.sh
toolchain-artifact: public/build/cctools.tar.xz
toolchains:
- linux64-clang-7
macosx64-cctools-port:
description: "cctools-port toolchain build"
treeherder:
symbol: TM(cctools)
worker:
env:
TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-clang.manifest"
run-on-projects:
- trunk
- try
run:
script: build-cctools-port-macosx.sh
tooltool-downloads: internal
toolchain-artifact: public/build/cctools.tar.bz2
toolchains:
- linux64-cctools-port
- linux64-clang-7
- linux64-node

Просмотреть файл

@ -0,0 +1,97 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
job-defaults:
description: "Clang-tidy build"
index:
product: static-analysis
worker-type: aws-provisioner-v1/gecko-{level}-b-linux-large
worker:
max-run-time: 3600
run:
toolchain-artifact: public/build/clang-tidy.tar.xz
resources:
- 'build/clang-plugin/**/*.cpp'
- 'build/clang-plugin/**/*.h'
- 'build/clang-plugin/*.inc'
- 'build/clang-plugin/*.py'
- 'build/clang-plugin/moz.build'
- 'build/clang-plugin/Makefile.in'
- 'build/build-clang/build-clang.py'
run-on-projects:
- trunk
- try
linux64-clang-tidy:
index:
job-name: linux64-clang-tidy
treeherder:
symbol: TL(clang-tidy)
run:
script: build-clang-tidy-linux.sh
resources:
- 'build/build-clang/clang-tidy-linux64.json'
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchains:
- linux64-gcc-4.9
macosx64-clang-tidy:
index:
job-name: macosx64-clang-tidy
treeherder:
symbol: TM(clang-tidy)
worker-type: aws-provisioner-v1/gecko-{level}-b-linux-large
worker:
env:
TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-clang.manifest"
run:
using: toolchain-script
script: build-clang-tidy-macosx.sh
tooltool-downloads: internal
resources:
- 'build/build-clang/clang-tidy-macosx64.json'
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchains:
- linux64-cctools-port
- linux64-clang-7
- linux64-gcc-4.9
- linux64-node
win32-clang-tidy:
description: "Clang-tidy toolchain build"
index:
job-name: win32-clang-tidy
treeherder:
symbol: TW32(clang-tidy)
tier: 2
worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
worker:
max-run-time: 7200
env:
TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win32/build-clang-cl.manifest"
run:
script: build-clang-tidy32-windows.sh
resources:
- 'build/build-clang/clang-tidy-win32.json'
- 'taskcluster/scripts/misc/build-clang-windows-helper32.sh'
toolchain-artifact: public/build/clang-tidy.tar.bz2
win64-clang-tidy:
description: "Clang-tidy toolchain build"
index:
job-name: win64-clang-tidy
treeherder:
symbol: TW64(clang-tidy)
tier: 2
worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
worker:
max-run-time: 7200
env:
TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win32/build-clang-cl.manifest"
run:
script: build-clang-tidy64-windows.sh
resources:
- 'build/build-clang/clang-tidy-win64.json'
- 'taskcluster/scripts/misc/build-clang-windows-helper64.sh'
toolchain-artifact: public/build/clang-tidy.tar.bz2

Просмотреть файл

@ -0,0 +1,152 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
job-defaults:
worker-type: aws-provisioner-v1/gecko-{level}-b-linux-xlarge
worker:
max-run-time: 7200
run:
resources:
- 'build/build-clang/build-clang.py'
linux64-clang-3.9:
description: "Clang 3.9 toolchain build"
treeherder:
symbol: TL(clang3.9)
worker-type: aws-provisioner-v1/gecko-{level}-b-linux-large
run:
script: build-clang-3.9-linux.sh
resources:
- 'build/build-clang/clang-3.9-linux64.json'
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-artifact: public/build/clang.tar.xz
toolchains:
- linux64-gcc-4.9
linux64-clang-7:
description: "Clang 7 toolchain build"
treeherder:
symbol: TL(clang7)
run:
using: toolchain-script
script: build-clang-7-linux.sh
resources:
- 'build/build-clang/build-clang.py'
- 'build/build-clang/clang-7-linux64.json'
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-alias: linux64-clang
toolchain-artifact: public/build/clang.tar.xz
toolchains:
- linux64-gcc-4.9
linux64-clang-trunk-mingw-x86:
description: "MinGW-Clang Trunk x86 toolchain build"
treeherder:
symbol: TMW(clang-x86)
run:
script: build-clang-trunk-mingw.sh
arguments: [
'x86'
]
resources:
- 'build/build-clang/clang-trunk-mingw.json'
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-artifact: public/build/clangmingw.tar.xz
toolchains:
- linux64-gcc-4.9
linux64-clang-trunk-mingw-x64:
description: "MinGW-Clang Trunk x64 toolchain build"
treeherder:
symbol: TMW(clang-x64)
tier: 2
run:
script: build-clang-trunk-mingw.sh
arguments: [
'x64'
]
resources:
- 'build/build-clang/clang-trunk-mingw.json'
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-artifact: public/build/clangmingw.tar.xz
toolchains:
- linux64-gcc-4.9
linux64-clang-7-android-cross:
description: "Clang 7 toolchain build"
treeherder:
symbol: TL(clang7-android)
run:
using: toolchain-script
script: build-clang-7-android.sh
resources:
- 'build/build-clang/clang-7-android.json'
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-alias: linux64-clang-android-cross
toolchain-artifact: public/build/clang.tar.xz
toolchains:
- linux64-gcc-4.9
- linux64-android-ndk-linux-repack
linux64-clang-7-macosx-cross:
description: "Clang 7 toolchain build with MacOS Compiler RT libs"
treeherder:
symbol: TL(clang7-macosx-cross)
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
max-run-time: 3600
env:
TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-clang.manifest"
run:
script: build-clang-7-linux-macosx-cross.sh
resources:
- 'build/build-clang/clang-7-macosx64.json'
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-alias: linux64-clang-macosx-cross
toolchain-artifact: public/build/clang.tar.xz
tooltool-downloads: internal
toolchains:
- linux64-cctools-port
- linux64-clang-7
- linux64-gcc-4.9
macosx64-clang:
description: "Clang toolchain build"
treeherder:
symbol: TM(clang)
worker-type: aws-provisioner-v1/gecko-{level}-b-linux-large
worker:
max-run-time: 3600
env:
TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-clang.manifest"
run-on-projects:
- trunk
- try
run:
script: build-clang-macosx.sh
tooltool-downloads: internal
resources:
- 'build/build-clang/clang-7-macosx64.json'
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-artifact: public/build/clang.tar.xz
toolchains:
- linux64-cctools-port
- linux64-clang-7
- linux64-gcc-4.9
- linux64-node
win64-clang-cl:
description: "Clang-cl toolchain build"
treeherder:
symbol: TW64(clang-cl)
worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
worker:
env:
TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win32/build-clang-cl.manifest"
run:
script: build-clang64-windows.sh
resources:
- 'build/build-clang/clang-win64.json'
- 'taskcluster/scripts/misc/build-clang-windows-helper64.sh'
toolchain-artifact: public/build/clang.tar.bz2

Просмотреть файл

@ -0,0 +1,79 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
job-defaults:
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
max-run-time: 3600
run:
resources:
- 'build/unix/build-gcc/build-gcc.sh'
toolchain-artifact: public/build/gcc.tar.xz
linux64-gcc-4.9:
description: "GCC 4.9 toolchain build"
treeherder:
symbol: TL(gcc4.9)
run:
script: build-gcc-4.9-linux.sh
fetches:
fetch:
- binutils-2.25.1
- cloog-0.18.1
- gcc-4.9.4
- gmp-5.1.3
- isl-0.12.2
- mpc-0.8.2
- mpfr-3.1.5
linux64-gcc-6:
description: "GCC 6 toolchain build"
treeherder:
symbol: TL(gcc6)
run:
script: build-gcc-6-linux.sh
toolchain-alias: linux64-gcc
fetches:
fetch:
- binutils-2.28.1
- gcc-6.4.0
- gmp-5.1.3
- isl-0.15
- mpc-0.8.2
- mpfr-3.1.5
linux64-gcc-7:
description: "GCC 7 toolchain build"
treeherder:
symbol: TL(gcc7)
run:
script: build-gcc-7-linux.sh
fetches:
fetch:
- binutils-2.28.1
- gcc-7.3.0
- gmp-6.1.0
- isl-0.16.1
- mpc-1.0.3
- mpfr-3.1.4
linux64-gcc-sixgill:
description: "sixgill GCC plugin build"
treeherder:
symbol: TL(sixgill)
run:
script: build-gcc-sixgill-plugin-linux.sh
resources:
- 'taskcluster/scripts/misc/build-gcc-sixgill-plugin-linux.sh'
toolchain-artifact: public/build/sixgill.tar.xz
toolchains:
- linux64-gcc-6
fetches:
fetch:
- binutils-2.28.1
- isl-0.15
- gcc-6.4.0
- gmp-5.1.3
- mpc-0.8.2
- mpfr-3.1.5

Просмотреть файл

@ -0,0 +1,52 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
job-defaults:
description: "gn toolchain build"
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
max-run-time: 1800
run-on-projects:
- trunk
- try
run:
tooltool-downloads: public
resources:
- 'taskcluster/scripts/misc/tooltool-download.sh'
- 'taskcluster/scripts/misc/build-gn-common.sh'
toolchain-artifact: public/build/gn.tar.xz
linux64-gn:
treeherder:
symbol: TL(gn)
run:
script: build-gn-linux.sh
toolchains:
- linux64-gcc-4.9
macosx64-gn:
treeherder:
symbol: TM(gn)
worker:
env:
TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-clang.manifest"
run:
script: build-gn-macosx.sh
tooltool-downloads: internal
toolchains:
- linux64-cctools-port
- linux64-clang-7
- linux64-node
win32-gn:
treeherder:
symbol: TW32(gn)
worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
worker:
max-run-time: 3600
env:
TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win32/gn-build.manifest"
run:
script: build-gn-win32.sh
toolchain-artifact: public/build/gn.tar.bz2

Просмотреть файл

@ -0,0 +1,44 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
job-defaults:
description: "grcov toolchain build"
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
max-run-time: 1800
run:
script: build-grcov.sh
resources:
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-artifact: public/build/grcov.tar.xz
linux64-grcov:
treeherder:
symbol: TL(grcov)
toolchains:
- linux64-rust-1.28
- linux64-clang-7
macosx64-grcov:
treeherder:
symbol: TM(grcov)
run-on-projects:
- trunk
- try
toolchains:
- linux64-rust-1.28
- linux64-clang-7
win64-grcov:
treeherder:
symbol: TW64(grcov)
worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
worker:
env:
TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/sccache-build.manifest"
run:
toolchain-artifact: public/build/grcov.tar.bz2
toolchains:
- win64-rust-1.28
- win64-clang-cl

Просмотреть файл

@ -15,9 +15,27 @@ transforms:
- taskgraph.transforms.task:transforms
job-defaults:
treeherder:
kind: build
platform: toolchains/opt
tier: 1
run-on-projects: []
run:
using: toolchain-script
jobs-from:
- linux.yml
- macosx.yml
- windows.yml
- android.yml
- cbindgen.yml
- cctools-port.yml
- clang-tidy.yml
- clang.yml
- gcc.yml
- gn.yml
- grcov.yml
- mingw.yml
- minidump_stackwalk.yml
- misc.yml
- node.yml
- rust.yml
- rust-size.yml
- sccache.yml

Просмотреть файл

@ -1,975 +0,0 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
job-defaults:
worker:
docker-image: {in-tree: toolchain-build}
linux64-clang-3.9:
description: "Clang 3.9 toolchain build"
treeherder:
kind: build
platform: toolchains/opt
symbol: TL(clang3.9)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux-large
worker:
max-run-time: 7200
run:
using: toolchain-script
script: build-clang-3.9-linux.sh
resources:
- 'build/build-clang/build-clang.py'
- 'build/build-clang/clang-3.9-linux64.json'
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-artifact: public/build/clang.tar.xz
toolchains:
- linux64-gcc-4.9
linux64-clang-7:
description: "Clang 7 toolchain build"
treeherder:
kind: build
platform: toolchains/opt
symbol: TL(clang7)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux-xlarge
worker:
max-run-time: 7200
run:
using: toolchain-script
script: build-clang-7-linux.sh
resources:
- 'build/build-clang/build-clang.py'
- 'build/build-clang/clang-7-linux64.json'
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-alias: linux64-clang
toolchain-artifact: public/build/clang.tar.xz
toolchains:
- linux64-gcc-4.9
linux64-clang-trunk-mingw-x86:
description: "MinGW-Clang Trunk x86 toolchain build"
treeherder:
kind: build
platform: toolchains/opt
symbol: TMW(clang-x86)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux-xlarge
worker:
max-run-time: 7200
run:
using: toolchain-script
script: build-clang-trunk-mingw.sh
arguments: [
'x86'
]
resources:
- 'build/build-clang/build-clang.py'
- 'build/build-clang/clang-trunk-mingw.json'
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-artifact: public/build/clangmingw.tar.xz
toolchains:
- linux64-gcc-4.9
linux64-clang-trunk-mingw-x64:
description: "MinGW-Clang Trunk x64 toolchain build"
treeherder:
kind: build
platform: toolchains/opt
symbol: TMW(clang-x64)
tier: 2
worker-type: aws-provisioner-v1/gecko-{level}-b-linux-xlarge
worker:
max-run-time: 7200
run:
using: toolchain-script
script: build-clang-trunk-mingw.sh
arguments: [
'x64'
]
resources:
- 'build/build-clang/build-clang.py'
- 'build/build-clang/clang-trunk-mingw.json'
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-artifact: public/build/clangmingw.tar.xz
toolchains:
- linux64-gcc-4.9
linux64-clang-7-android-cross:
description: "Clang 7 toolchain build"
treeherder:
kind: build
platform: toolchains/opt
symbol: TL(clang7-android)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux-xlarge
worker:
max-run-time: 7200
run:
using: toolchain-script
script: build-clang-7-android.sh
resources:
- 'build/build-clang/build-clang.py'
- 'build/build-clang/clang-7-android.json'
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-alias: linux64-clang-android-cross
toolchain-artifact: public/build/clang.tar.xz
toolchains:
- linux64-gcc-4.9
- linux64-android-ndk-linux-repack
linux64-clang-7-macosx-cross:
description: "Clang 7 toolchain build with MacOS Compiler RT libs"
treeherder:
kind: build
platform: toolchains/opt
symbol: TL(clang7-macosx-cross)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
max-run-time: 3600
env:
TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-clang.manifest"
run:
using: toolchain-script
script: build-clang-7-linux-macosx-cross.sh
resources:
- 'build/build-clang/build-clang.py'
- 'build/build-clang/clang-7-macosx64.json'
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-alias: linux64-clang-macosx-cross
toolchain-artifact: public/build/clang.tar.xz
tooltool-downloads: internal
toolchains:
- linux64-cctools-port
- linux64-clang-7
- linux64-gcc-4.9
linux64-clang-tidy:
description: "Clang-tidy build"
index:
product: static-analysis
job-name: linux64-clang-tidy
treeherder:
kind: build
platform: toolchains/opt
symbol: TL(clang-tidy)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux-large
worker:
max-run-time: 3600
run:
using: toolchain-script
script: build-clang-tidy-linux.sh
resources:
- 'build/clang-plugin/**/*.cpp'
- 'build/clang-plugin/**/*.h'
- 'build/clang-plugin/*.inc'
- 'build/clang-plugin/*.py'
- 'build/clang-plugin/moz.build'
- 'build/clang-plugin/Makefile.in'
- 'build/build-clang/build-clang.py'
- 'build/build-clang/clang-tidy-linux64.json'
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-artifact: public/build/clang-tidy.tar.xz
run-on-projects:
- trunk
- try
toolchains:
- linux64-gcc-4.9
linux64-infer:
description: "infer build"
index:
product: static-analysis
job-name: linux64-infer
treeherder:
kind: build
platform: toolchains/opt
symbol: TL(infer)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
docker-image: {in-tree: static-analysis-build}
max-run-time: 3600
run:
using: toolchain-script
script: build-infer-linux.sh
resources:
- 'build/build-infer/build-infer.py'
- 'build/build-infer/infer-linux64.json'
toolchain-artifact: public/build/infer.tar.xz
linux64-gcc-4.9:
description: "GCC 4.9 toolchain build"
treeherder:
kind: build
platform: toolchains/opt
symbol: TL(gcc4.9)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
max-run-time: 3600
run:
using: toolchain-script
script: build-gcc-4.9-linux.sh
resources:
- 'build/unix/build-gcc/build-gcc.sh'
toolchain-artifact: public/build/gcc.tar.xz
fetches:
fetch:
- binutils-2.25.1
- cloog-0.18.1
- gcc-4.9.4
- gmp-5.1.3
- isl-0.12.2
- mpc-0.8.2
- mpfr-3.1.5
linux64-gcc-6:
description: "GCC 6 toolchain build"
treeherder:
kind: build
platform: toolchains/opt
symbol: TL(gcc6)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
max-run-time: 3600
run:
using: toolchain-script
script: build-gcc-6-linux.sh
resources:
- 'build/unix/build-gcc/build-gcc.sh'
toolchain-alias: linux64-gcc
toolchain-artifact: public/build/gcc.tar.xz
fetches:
fetch:
- binutils-2.28.1
- gcc-6.4.0
- gmp-5.1.3
- isl-0.15
- mpc-0.8.2
- mpfr-3.1.5
linux64-gcc-7:
description: "GCC 7 toolchain build"
treeherder:
kind: build
platform: toolchains/opt
symbol: TL(gcc7)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
max-run-time: 3600
run:
using: toolchain-script
script: build-gcc-7-linux.sh
resources:
- 'build/unix/build-gcc/build-gcc.sh'
toolchain-artifact: public/build/gcc.tar.xz
fetches:
fetch:
- binutils-2.28.1
- gcc-7.3.0
- gmp-6.1.0
- isl-0.16.1
- mpc-1.0.3
- mpfr-3.1.4
linux64-gcc-sixgill:
description: "sixgill GCC plugin build"
treeherder:
kind: build
platform: toolchains/opt
symbol: TL(sixgill)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
max-run-time: 3600
run:
using: toolchain-script
script: build-gcc-sixgill-plugin-linux.sh
resources:
- 'build/unix/build-gcc/build-gcc.sh'
- 'taskcluster/scripts/misc/build-gcc-sixgill-plugin-linux.sh'
toolchain-artifact: public/build/sixgill.tar.xz
toolchains:
- linux64-gcc-6
fetches:
fetch:
- binutils-2.28.1
- isl-0.15
- gcc-6.4.0
- gmp-5.1.3
- mpc-0.8.2
- mpfr-3.1.5
linux64-llvm-dsymutil:
description: "llvm-dsymutil toolchain build"
treeherder:
kind: build
platform: toolchains/opt
symbol: TL(dsymutil)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
max-run-time: 1800
run:
using: toolchain-script
script: build-llvm-dsymutil.sh
toolchain-artifact: public/build/llvm-dsymutil.tar.xz
toolchains:
- linux64-gcc-4.9
linux64-binutils:
description: "Binutils toolchain build"
treeherder:
kind: build
platform: toolchains/opt
symbol: TL(binutil)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
max-run-time: 3600
run:
using: toolchain-script
script: build-binutils-linux.sh
resources:
- 'build/unix/build-binutils/build-binutils.sh'
toolchain-artifact: public/build/binutils.tar.xz
fetches:
fetch:
- binutils-2.31.1
linux64-cctools-port:
description: "cctools-port toolchain build"
treeherder:
kind: build
platform: toolchains/opt
symbol: TL(cctools)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
max-run-time: 1800
run:
using: toolchain-script
script: build-cctools-port.sh
resources:
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-artifact: public/build/cctools.tar.xz
toolchains:
- linux64-clang-7
linux64-hfsplus:
description: "hfsplus toolchain build"
treeherder:
kind: build
platform: toolchains/opt
symbol: TL(hfs+)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
max-run-time: 1800
run:
using: toolchain-script
script: build-hfsplus-linux.sh
resources:
- 'build/unix/build-hfsplus/build-hfsplus.sh'
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-artifact: public/build/hfsplus-tools.tar.xz
toolchains:
- linux64-clang-7
linux64-libdmg:
description: "libdmg-hfsplus toolchain build"
treeherder:
kind: build
platform: toolchains/opt
symbol: TL(libdmg-hfs+)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
max-run-time: 1800
run:
using: toolchain-script
script: build-libdmg-hfsplus.sh
toolchain-artifact: public/build/dmg.tar.xz
linux64-node:
description: "Node repack toolchain build"
treeherder:
kind: build
platform: toolchains/opt
symbol: TL(node)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
docker-image: {in-tree: toolchain-build}
max-run-time: 1800
run:
using: toolchain-script
script: repack-node.sh
arguments: ['linux64']
toolchain-artifact: public/build/node.tar.xz
linux64-android-sdk-linux-repack:
description: "Android SDK (Linux) repack toolchain build"
treeherder:
kind: build
platform: toolchains/opt
symbol: TL(android-sdk-linux)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
docker-image: {in-tree: android-build}
max-run-time: 1800
artifacts:
- name: project/gecko/android-sdk
path: /builds/worker/project/gecko/android-sdk/
type: directory
run:
using: toolchain-script
script: repack-android-sdk-linux.sh
resources:
- 'python/mozboot/**/*android*'
toolchain-artifact: project/gecko/android-sdk/android-sdk-linux.tar.xz
toolchain-alias: android-sdk-linux
linux64-android-ndk-linux-repack:
description: "Android NDK (Linux) repack toolchain build"
treeherder:
kind: build
platform: toolchains/opt
symbol: TL(android-ndk-linux)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
docker-image: {in-tree: android-build}
max-run-time: 1800
artifacts:
- name: project/gecko/android-ndk
path: /builds/worker/project/gecko/android-ndk/
type: directory
run:
using: toolchain-script
script: repack-android-ndk-linux.sh
resources:
- 'python/mozboot/**/*android*'
toolchain-artifact: project/gecko/android-ndk/android-ndk.tar.xz
toolchain-alias: android-ndk-linux
linux64-android-gradle-dependencies:
description: "Android Gradle dependencies toolchain task"
treeherder:
kind: build
platform: toolchains/opt
symbol: TL(gradle-dependencies)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
docker-image: {in-tree: android-build}
env:
GRADLE_USER_HOME: "/builds/worker/workspace/build/src/mobile/android/gradle/dotgradle-online"
max-run-time: 1800
run:
using: toolchain-script
script: android-gradle-dependencies.sh
sparse-profile: null
resources:
- 'taskcluster/scripts/misc/tooltool-download.sh'
- 'taskcluster/scripts/misc/android-gradle-dependencies/**'
- '*.gradle'
- 'mobile/android/**/*.gradle'
- 'mobile/android/config/mozconfigs/android-api-16-gradle-dependencies/**'
- 'mobile/android/config/mozconfigs/common*'
- 'mobile/android/gradle.configure'
toolchain-artifact: public/build/android-gradle-dependencies.tar.xz
toolchain-alias: android-gradle-dependencies
toolchains:
# Aliases aren't allowed for toolchains depending on toolchains.
- linux64-android-sdk-linux-repack
- linux64-node
linux64-rust-1.28:
description: "rust repack"
treeherder:
kind: build
platform: toolchains/opt
symbol: TL(rust-1.28)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
max-run-time: 7200
env:
UPLOAD_DIR: artifacts
run:
using: toolchain-script
script: repack_rust.py
arguments: [
'--channel', '1.28.0',
'--host', 'x86_64-unknown-linux-gnu',
'--target', 'x86_64-unknown-linux-gnu',
'--target', 'i686-unknown-linux-gnu',
]
toolchain-artifact: public/build/rustc.tar.xz
linux64-rust-1.31:
description: "rust repack"
treeherder:
kind: build
platform: toolchains/opt
symbol: TL(rust-1.31)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
max-run-time: 7200
env:
UPLOAD_DIR: artifacts
run:
using: toolchain-script
script: repack_rust.py
arguments: [
'--channel', '1.31.0',
'--host', 'x86_64-unknown-linux-gnu',
'--target', 'x86_64-unknown-linux-gnu',
'--target', 'i686-unknown-linux-gnu',
]
toolchain-artifact: public/build/rustc.tar.xz
linux64-rust-1.32:
description: "rust repack"
treeherder:
kind: build
platform: toolchains/opt
symbol: TL(rust)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
max-run-time: 7200
env:
UPLOAD_DIR: artifacts
run:
using: toolchain-script
script: repack_rust.py
arguments: [
'--channel', '1.32.0',
'--host', 'x86_64-unknown-linux-gnu',
'--target', 'x86_64-unknown-linux-gnu',
'--target', 'i686-unknown-linux-gnu',
]
toolchain-alias: linux64-rust
toolchain-artifact: public/build/rustc.tar.xz
linux64-rust-nightly:
description: "rust nightly repack"
treeherder:
kind: build
platform: toolchains/opt
symbol: TL(rust-nightly)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
max-run-time: 7200
env:
UPLOAD_DIR: artifacts
run:
using: toolchain-script
script: repack_rust.py
arguments: [
'--channel', 'nightly-2018-10-05',
'--host', 'x86_64-unknown-linux-gnu',
'--target', 'x86_64-unknown-linux-gnu',
'--target', 'i686-unknown-linux-gnu',
]
toolchain-artifact: public/build/rustc.tar.xz
linux64-rust-macos-1.31:
description: "rust repack with macos-cross support"
treeherder:
kind: build
platform: toolchains/opt
symbol: TL(rust-macos-1.31)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
max-run-time: 7200
env:
UPLOAD_DIR: artifacts
run:
using: toolchain-script
script: repack_rust.py
arguments: [
'--channel', '1.31.0',
'--host', 'x86_64-unknown-linux-gnu',
'--target', 'x86_64-unknown-linux-gnu',
'--target', 'x86_64-apple-darwin',
]
toolchain-artifact: public/build/rustc.tar.xz
linux64-rust-macos-1.32:
description: "rust repack with macos-cross support"
treeherder:
kind: build
platform: toolchains/opt
symbol: TL(rust-macos)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
max-run-time: 7200
env:
UPLOAD_DIR: artifacts
run:
using: toolchain-script
script: repack_rust.py
arguments: [
'--channel', '1.32.0',
'--host', 'x86_64-unknown-linux-gnu',
'--target', 'x86_64-unknown-linux-gnu',
'--target', 'x86_64-apple-darwin',
]
toolchain-alias: linux64-rust-macos
toolchain-artifact: public/build/rustc.tar.xz
linux64-rust-nightly-macos:
description: "rust nightly repack with macos-cross support"
treeherder:
kind: build
platform: toolchains/opt
symbol: TL(rust-nightly-macos)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
max-run-time: 7200
env:
UPLOAD_DIR: artifacts
run:
using: toolchain-script
script: repack_rust.py
arguments: [
'--channel', 'nightly-2018-10-05',
'--host', 'x86_64-unknown-linux-gnu',
'--target', 'x86_64-unknown-linux-gnu',
'--target', 'x86_64-apple-darwin',
]
toolchain-artifact: public/build/rustc.tar.xz
linux64-rust-android-1.32:
description: "rust repack with android-cross support"
treeherder:
kind: build
platform: toolchains/opt
symbol: TL(rust-android)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
max-run-time: 7200
env:
UPLOAD_DIR: artifacts
run:
using: toolchain-script
script: repack_rust.py
arguments: [
'--channel', '1.32.0',
'--host', 'x86_64-unknown-linux-gnu',
'--target', 'x86_64-unknown-linux-gnu',
'--target', 'armv7-linux-androideabi',
'--target', 'aarch64-linux-android',
'--target', 'i686-linux-android',
'--target', 'x86_64-linux-android',
]
toolchain-alias: linux64-rust-android
toolchain-artifact: public/build/rustc.tar.xz
linux64-sccache:
description: "sccache toolchain build"
treeherder:
kind: build
platform: toolchains/opt
symbol: TL(sccache)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
max-run-time: 1800
run:
using: toolchain-script
script: build-sccache.sh
resources:
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-artifact: public/build/sccache2.tar.xz
toolchains:
- linux64-rust-1.28
- linux64-binutils
linux64-cbindgen:
description: "cbindgen toolchain build"
treeherder:
kind: build
platform: toolchains/opt
symbol: TL(cbindgen)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
max-run-time: 1800
run:
using: toolchain-script
script: build-cbindgen.sh
arguments: ['x86_64-unknown-linux-gnu']
resources:
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-artifact: public/build/cbindgen.tar.xz
toolchains:
- linux64-rust-1.28
linux64-rust-size:
description: "rust-size toolchain build"
treeherder:
kind: build
platform: toolchains/opt
symbol: TL(rust-size)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
max-run-time: 1800
run:
using: toolchain-script
script: build-rust-size.sh
resources:
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-artifact: public/build/rust-size.tar.xz
toolchains:
- linux64-rust-1.28
linux64-grcov:
description: "grcov toolchain build"
treeherder:
kind: build
platform: toolchains/opt
symbol: TL(grcov)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
max-run-time: 1800
run:
using: toolchain-script
script: build-grcov.sh
resources:
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-artifact: public/build/grcov.tar.xz
toolchains:
- linux64-rust-1.28
- linux64-clang-7
linux64-gn:
description: "gn toolchain build"
treeherder:
kind: build
platform: toolchains/opt
symbol: TL(gn)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
max-run-time: 1800
run:
using: toolchain-script
script: build-gn-linux.sh
tooltool-downloads: public
resources:
- 'taskcluster/scripts/misc/tooltool-download.sh'
- 'taskcluster/scripts/misc/build-gn-common.sh'
toolchain-artifact: public/build/gn.tar.xz
run-on-projects:
- trunk
- try
toolchains:
- linux64-gcc-4.9
linux64-tup:
description: "tup toolchain build"
treeherder:
kind: build
platform: toolchains/opt
symbol: TL(tup)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
max-run-time: 3600
run:
using: toolchain-script
script: build-tup-linux.sh
resources:
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-artifact: public/build/tup.tar.xz
run-on-projects:
- trunk
- try
toolchains:
- linux64-gcc-4.9
linux64-upx:
description: "UPX build for MinGW32 Cross Compile"
treeherder:
kind: build
platform: toolchains/opt
symbol: TMW(upx)
tier: 2
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
docker-image: {in-tree: mingw32-build}
max-run-time: 3600
run:
using: toolchain-script
script: build-upx.sh
toolchain-artifact: public/build/upx.tar.xz
linux64-wine:
description: "Wine build for MinGW32 Cross Compile"
treeherder:
kind: build
platform: toolchains/opt
symbol: TMW(wine)
tier: 2
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
docker-image: {in-tree: mingw32-build}
max-run-time: 10800
run:
using: toolchain-script
script: build-wine.sh
toolchain-artifact: public/build/wine.tar.xz
linux64-mingw32-gcc:
description: "GCC toolchain build for MinGW32 Cross Compile"
treeherder:
kind: build
platform: toolchains/opt
symbol: TMW(mingw32-gcc)
tier: 2
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
docker-image: {in-tree: mingw32-build}
max-run-time: 10800
run:
using: toolchain-script
script: build-gcc-mingw32.sh
resources:
- 'build/unix/build-gcc/build-gcc.sh'
toolchain-artifact: public/build/mingw32.tar.xz
fetches:
fetch:
- binutils-2.27
- gcc-6.4.0
- gmp-5.1.3
- isl-0.15
- mpc-0.8.2
- mpfr-3.1.5
linux64-mingw32-nsis:
description: "NSIS build for MinGW32 Cross Compile"
treeherder:
kind: build
platform: toolchains/opt
symbol: TMW(mingw32-nsis)
tier: 2
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
docker-image: {in-tree: mingw32-build}
max-run-time: 3600
run:
using: toolchain-script
script: build-mingw32-nsis.sh
resources:
- 'build/unix/build-gcc/build-gcc.sh'
- 'taskcluster/scripts/misc/build-gcc-mingw32.sh'
toolchain-artifact: public/build/nsis.tar.xz
toolchains:
- linux64-mingw32-gcc
linux64-mingw-fxc2-x86:
description: "fxc2.exe x86 build for MinGW Cross Compile"
treeherder:
kind: build
platform: toolchains/opt
symbol: TMW(mingw-fxc2-x86)
tier: 2
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
docker-image: {in-tree: mingw32-build}
max-run-time: 1800
run:
using: toolchain-script
script: build-mingw-fxc2-x86.sh
resources:
- 'build/build-clang/build-clang.py'
- 'build/build-clang/clang-trunk-mingw.json'
- 'taskcluster/scripts/misc/build-clang-trunk-mingw.sh'
toolchain-artifact: public/build/fxc2.tar.xz
toolchains:
- linux64-clang-trunk-mingw-x86
linux64-custom-v8:
description: "Custom v8 build"
treeherder:
kind: build
platform: toolchains/opt
symbol: TL(custom-v8)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
docker-image: {in-tree: custom-v8}
max-run-time: 3600
run:
using: toolchain-script
script: build-custom-v8.sh
arguments: [
d8.zip,
is_debug=false,
target_cpu="x64"
]
toolchain-artifact: public/build/d8.zip
wrench-deps:
description: "Downloads all the crates needed for building wrench"
treeherder:
kind: build
platform: toolchains/opt
symbol: WR(wrench-deps)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
docker-image: {in-tree: webrender}
max-run-time: 1800
run:
using: toolchain-script
script: wrench-deps-vendoring.sh
sparse-profile: null # need all of gfx/wr checked out for this script
resources:
- 'gfx/wr/Cargo.lock'
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-artifact: public/build/wrench-deps.tar.bz2
toolchains:
- linux64-rust-1.32 # whatever m-c is built with
linux64-minidump-stackwalk:
description: "minidump_stackwalk toolchain build"
treeherder:
kind: build
platform: toolchains/opt
symbol: TL(stackwalk)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
max-run-time: 1800
run:
using: toolchain-script
script: build-minidump-stackwalk.sh
sparse-profile: null
resources:
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-artifact: public/build/minidump_stackwalk.tar.xz
toolchains:
- linux64-clang-7
- linux64-binutils
- linux64-rust-1.31

Просмотреть файл

@ -1,211 +0,0 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
job-defaults:
worker:
docker-image: {in-tree: toolchain-build}
run-on-projects:
- trunk
- try
macosx64-clang:
description: "Clang toolchain build"
treeherder:
kind: build
platform: toolchains/opt
symbol: TM(clang)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux-large
worker:
max-run-time: 3600
env:
TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-clang.manifest"
run:
using: toolchain-script
script: build-clang-macosx.sh
tooltool-downloads: internal
resources:
- 'build/build-clang/build-clang.py'
- 'build/build-clang/clang-7-macosx64.json'
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-artifact: public/build/clang.tar.xz
toolchains:
- linux64-cctools-port
- linux64-clang-7
- linux64-gcc-4.9
- linux64-node
macosx64-clang-tidy:
description: "Clang-tidy build"
index:
product: static-analysis
job-name: macosx64-clang-tidy
treeherder:
kind: build
platform: toolchains/opt
symbol: TM(clang-tidy)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux-large
worker:
max-run-time: 3600
env:
TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-clang.manifest"
run:
using: toolchain-script
script: build-clang-tidy-macosx.sh
tooltool-downloads: internal
resources:
- 'build/clang-plugin/**/*.cpp'
- 'build/clang-plugin/**/*.h'
- 'build/clang-plugin/*.inc'
- 'build/clang-plugin/*.py'
- 'build/clang-plugin/moz.build'
- 'build/clang-plugin/Makefile.in'
- 'build/build-clang/build-clang.py'
- 'build/build-clang/clang-tidy-macosx64.json'
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-artifact: public/build/clang-tidy.tar.xz
toolchains:
- linux64-cctools-port
- linux64-clang-7
- linux64-gcc-4.9
- linux64-node
macosx64-cctools-port:
description: "cctools-port toolchain build"
treeherder:
kind: build
platform: toolchains/opt
symbol: TM(cctools)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
max-run-time: 1800
env:
TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-clang.manifest"
run:
using: toolchain-script
script: build-cctools-port-macosx.sh
tooltool-downloads: internal
resources:
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-artifact: public/build/cctools.tar.bz2
toolchains:
- linux64-cctools-port
- linux64-clang-7
- linux64-node
macosx64-gn:
description: "gn toolchain build"
treeherder:
kind: build
platform: toolchains/opt
symbol: TM(gn)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
max-run-time: 1800
env:
TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-clang.manifest"
run:
using: toolchain-script
script: build-gn-macosx.sh
tooltool-downloads: internal
resources:
- 'taskcluster/scripts/misc/tooltool-download.sh'
- 'taskcluster/scripts/misc/build-gn-common.sh'
toolchain-artifact: public/build/gn.tar.xz
toolchains:
- linux64-cctools-port
- linux64-clang-7
- linux64-node
macosx64-node:
description: "Node repack toolchain build"
treeherder:
kind: build
platform: toolchains/opt
symbol: TM(node)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
docker-image: {in-tree: toolchain-build}
max-run-time: 1800
run:
using: toolchain-script
script: repack-node.sh
arguments: ['macosx64']
toolchain-artifact: public/build/node.tar.xz
macosx64-grcov:
description: "grcov toolchain build"
treeherder:
kind: build
platform: toolchains/opt
symbol: TM(grcov)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
max-run-time: 1800
run:
using: toolchain-script
script: build-grcov.sh
resources:
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-artifact: public/build/grcov.tar.xz
toolchains:
- linux64-rust-1.28
- linux64-clang-7
macosx64-cbindgen:
description: "cbindgen toolchain build"
treeherder:
kind: build
platform: toolchains/opt
symbol: TM(cbindgen)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
max-run-time: 3600
env:
TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-clang.manifest"
run:
using: toolchain-script
script: build-cbindgen.sh
arguments: ['x86_64-apple-darwin']
tooltool-downloads: internal
resources:
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-artifact: public/build/cbindgen.tar.xz
toolchains:
- linux64-cctools-port
- linux64-clang-7
- linux64-llvm-dsymutil
- linux64-rust-macos-1.31
macosx64-minidump-stackwalk:
description: "minidump_stackwalk toolchain build"
treeherder:
kind: build
platform: toolchains/opt
symbol: TM(stackwalk)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
max-run-time: 1800
env:
TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-clang.manifest"
run:
using: toolchain-script
script: build-minidump-stackwalk.sh
sparse-profile: null
arguments: ['macosx64']
tooltool-downloads: internal
resources:
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-artifact: public/build/minidump_stackwalk.tar.xz
toolchains:
- linux64-cctools-port
- linux64-clang-7
- linux64-rust-macos-1.31

Просмотреть файл

@ -0,0 +1,79 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
job-defaults:
treeherder:
tier: 2
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
docker-image: {in-tree: mingw32-build}
max-run-time: 3600
linux64-upx:
description: "UPX build for MinGW32 Cross Compile"
treeherder:
symbol: TMW(upx)
run:
script: build-upx.sh
toolchain-artifact: public/build/upx.tar.xz
linux64-wine:
description: "Wine build for MinGW32 Cross Compile"
treeherder:
symbol: TMW(wine)
worker:
max-run-time: 10800
run:
script: build-wine.sh
toolchain-artifact: public/build/wine.tar.xz
linux64-mingw32-gcc:
description: "GCC toolchain build for MinGW32 Cross Compile"
treeherder:
symbol: TMW(mingw32-gcc)
worker:
max-run-time: 10800
run:
script: build-gcc-mingw32.sh
resources:
- 'build/unix/build-gcc/build-gcc.sh'
toolchain-artifact: public/build/mingw32.tar.xz
fetches:
fetch:
- binutils-2.27
- gcc-6.4.0
- gmp-5.1.3
- isl-0.15
- mpc-0.8.2
- mpfr-3.1.5
linux64-mingw32-nsis:
description: "NSIS build for MinGW32 Cross Compile"
treeherder:
symbol: TMW(mingw32-nsis)
run:
script: build-mingw32-nsis.sh
resources:
- 'build/unix/build-gcc/build-gcc.sh'
- 'taskcluster/scripts/misc/build-gcc-mingw32.sh'
toolchain-artifact: public/build/nsis.tar.xz
toolchains:
- linux64-mingw32-gcc
linux64-mingw-fxc2-x86:
description: "fxc2.exe x86 build for MinGW Cross Compile"
treeherder:
symbol: TMW(mingw-fxc2-x86)
worker:
max-run-time: 1800
run:
using: toolchain-script
script: build-mingw-fxc2-x86.sh
resources:
- 'build/build-clang/build-clang.py'
- 'build/build-clang/clang-trunk-mingw.json'
- 'taskcluster/scripts/misc/build-clang-trunk-mingw.sh'
toolchain-artifact: public/build/fxc2.tar.xz
toolchains:
- linux64-clang-trunk-mingw-x86

Просмотреть файл

@ -0,0 +1,51 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
job-defaults:
description: "minidump_stackwalk toolchain build"
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
max-run-time: 1800
run:
script: build-minidump-stackwalk.sh
sparse-profile: null
resources:
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-artifact: public/build/minidump_stackwalk.tar.xz
run-on-projects:
- trunk
- try
linux64-minidump-stackwalk:
treeherder:
symbol: TL(stackwalk)
toolchains:
- linux64-clang-7
- linux64-binutils
- linux64-rust-1.31
macosx64-minidump-stackwalk:
treeherder:
symbol: TM(stackwalk)
worker:
env:
TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-clang.manifest"
run:
arguments: ['macosx64']
tooltool-downloads: internal
toolchains:
- linux64-cctools-port
- linux64-clang-7
- linux64-rust-macos-1.31
win32-minidump-stackwalk:
treeherder:
symbol: TW32(stackwalk)
worker:
docker-image: {in-tree: mingw32-build}
run:
arguments: ['mingw32']
toolchains:
- linux64-clang-trunk-mingw-x86
- mingw32-rust-1.31

Просмотреть файл

@ -0,0 +1,120 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
job-defaults:
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
max-run-time: 1800
linux64-infer:
description: "infer build"
index:
product: static-analysis
job-name: linux64-infer
treeherder:
symbol: TL(infer)
worker:
docker-image: {in-tree: static-analysis-build}
max-run-time: 3600
run:
script: build-infer-linux.sh
resources:
- 'build/build-infer/build-infer.py'
- 'build/build-infer/infer-linux64.json'
toolchain-artifact: public/build/infer.tar.xz
linux64-llvm-dsymutil:
description: "llvm-dsymutil toolchain build"
treeherder:
symbol: TL(dsymutil)
run:
script: build-llvm-dsymutil.sh
toolchain-artifact: public/build/llvm-dsymutil.tar.xz
toolchains:
- linux64-gcc-4.9
linux64-binutils:
description: "Binutils toolchain build"
treeherder:
symbol: TL(binutil)
worker:
max-run-time: 3600
run:
script: build-binutils-linux.sh
resources:
- 'build/unix/build-binutils/build-binutils.sh'
toolchain-artifact: public/build/binutils.tar.xz
fetches:
fetch:
- binutils-2.31.1
linux64-hfsplus:
description: "hfsplus toolchain build"
treeherder:
symbol: TL(hfs+)
run:
script: build-hfsplus-linux.sh
resources:
- 'build/unix/build-hfsplus/build-hfsplus.sh'
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-artifact: public/build/hfsplus-tools.tar.xz
toolchains:
- linux64-clang-7
linux64-libdmg:
description: "libdmg-hfsplus toolchain build"
treeherder:
symbol: TL(libdmg-hfs+)
run:
script: build-libdmg-hfsplus.sh
toolchain-artifact: public/build/dmg.tar.xz
linux64-tup:
description: "tup toolchain build"
treeherder:
symbol: TL(tup)
worker:
max-run-time: 3600
run:
script: build-tup-linux.sh
resources:
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-artifact: public/build/tup.tar.xz
run-on-projects:
- trunk
- try
toolchains:
- linux64-gcc-4.9
linux64-custom-v8:
description: "Custom v8 build"
treeherder:
symbol: TL(custom-v8)
worker:
docker-image: {in-tree: custom-v8}
max-run-time: 3600
run:
script: build-custom-v8.sh
arguments: [
d8.zip,
is_debug=false,
target_cpu="x64"
]
toolchain-artifact: public/build/d8.zip
wrench-deps:
description: "Downloads all the crates needed for building wrench"
treeherder:
symbol: WR(wrench-deps)
worker:
docker-image: {in-tree: webrender}
run:
script: wrench-deps-vendoring.sh
sparse-profile: null # need all of gfx/wr checked out for this script
resources:
- 'gfx/wr/Cargo.lock'
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-artifact: public/build/wrench-deps.tar.bz2
toolchains:
- linux64-rust-1.32 # whatever m-c is built with

Просмотреть файл

@ -0,0 +1,36 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
job-defaults:
description: "Node repack toolchain build"
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
max-run-time: 1800
run:
script: repack-node.sh
toolchain-artifact: public/build/node.tar.xz
linux64-node:
treeherder:
symbol: TL(node)
run:
arguments: ['linux64']
macosx64-node:
treeherder:
symbol: TM(node)
worker:
max-run-time: 1800
run-on-projects:
- trunk
- try
run:
arguments: ['macosx64']
win64-node:
treeherder:
symbol: TW64(node)
run:
arguments: ['win64']
toolchain-artifact: public/build/node.tar.bz2

Просмотреть файл

@ -0,0 +1,33 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
job-defaults:
description: "rust-size toolchain build"
worker:
max-run-time: 1800
run:
script: build-rust-size.sh
resources:
- 'taskcluster/scripts/misc/tooltool-download.sh'
linux64-rust-size:
treeherder:
symbol: TL(rust-size)
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
run:
toolchain-artifact: public/build/rust-size.tar.xz
toolchains:
- linux64-rust-1.28
win64-rust-size:
treeherder:
symbol: TW64(rust-size)
worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
worker:
env:
TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/sccache-build.manifest"
run:
toolchain-artifact: public/build/rust-size.tar.bz2
toolchains:
- win64-rust-1.28

Просмотреть файл

@ -0,0 +1,192 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
job-defaults:
description: "rust repack"
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
max-run-time: 7200
env:
UPLOAD_DIR: artifacts
run:
script: repack_rust.py
toolchain-artifact: public/build/rustc.tar.xz
linux64-rust-1.28:
treeherder:
symbol: TL(rust-1.28)
run:
arguments: [
'--channel', '1.28.0',
'--host', 'x86_64-unknown-linux-gnu',
'--target', 'x86_64-unknown-linux-gnu',
'--target', 'i686-unknown-linux-gnu',
]
linux64-rust-1.31:
treeherder:
symbol: TL(rust-1.31)
run:
arguments: [
'--channel', '1.31.0',
'--host', 'x86_64-unknown-linux-gnu',
'--target', 'x86_64-unknown-linux-gnu',
'--target', 'i686-unknown-linux-gnu',
]
linux64-rust-1.32:
treeherder:
symbol: TL(rust)
run:
arguments: [
'--channel', '1.32.0',
'--host', 'x86_64-unknown-linux-gnu',
'--target', 'x86_64-unknown-linux-gnu',
'--target', 'i686-unknown-linux-gnu',
]
toolchain-alias: linux64-rust
linux64-rust-nightly:
description: "rust nightly repack"
treeherder:
symbol: TL(rust-nightly)
run:
arguments: [
'--channel', 'nightly-2018-10-05',
'--host', 'x86_64-unknown-linux-gnu',
'--target', 'x86_64-unknown-linux-gnu',
'--target', 'i686-unknown-linux-gnu',
]
linux64-rust-macos-1.31:
description: "rust repack with macos-cross support"
treeherder:
symbol: TL(rust-macos-1.31)
run:
arguments: [
'--channel', '1.31.0',
'--host', 'x86_64-unknown-linux-gnu',
'--target', 'x86_64-unknown-linux-gnu',
'--target', 'x86_64-apple-darwin',
]
linux64-rust-macos-1.32:
description: "rust repack with macos-cross support"
treeherder:
symbol: TL(rust-macos)
run:
arguments: [
'--channel', '1.32.0',
'--host', 'x86_64-unknown-linux-gnu',
'--target', 'x86_64-unknown-linux-gnu',
'--target', 'x86_64-apple-darwin',
]
toolchain-alias: linux64-rust-macos
linux64-rust-nightly-macos:
description: "rust nightly repack with macos-cross support"
treeherder:
symbol: TL(rust-nightly-macos)
run:
arguments: [
'--channel', 'nightly-2018-10-05',
'--host', 'x86_64-unknown-linux-gnu',
'--target', 'x86_64-unknown-linux-gnu',
'--target', 'x86_64-apple-darwin',
]
linux64-rust-android-1.32:
description: "rust repack with android-cross support"
treeherder:
symbol: TL(rust-android)
run:
arguments: [
'--channel', '1.32.0',
'--host', 'x86_64-unknown-linux-gnu',
'--target', 'x86_64-unknown-linux-gnu',
'--target', 'armv7-linux-androideabi',
'--target', 'aarch64-linux-android',
'--target', 'i686-linux-android',
'--target', 'x86_64-linux-android',
]
toolchain-alias: linux64-rust-android
win64-rust-1.28:
treeherder:
symbol: TW64(rust-1.28)
run:
arguments: [
'--channel', '1.28.0',
'--host', 'x86_64-pc-windows-msvc',
'--target', 'x86_64-pc-windows-msvc',
'--target', 'i686-pc-windows-msvc',
]
toolchain-artifact: public/build/rustc.tar.bz2
win64-rust-1.32:
treeherder:
symbol: TW64(rust)
run:
arguments: [
'--channel', '1.32.0',
'--host', 'x86_64-pc-windows-msvc',
'--target', 'x86_64-pc-windows-msvc',
'--target', 'i686-pc-windows-msvc',
]
toolchain-alias: win64-rust
toolchain-artifact: public/build/rustc.tar.bz2
win64-rust-nightly:
description: "rust nightly repack"
treeherder:
symbol: TW64(rust-nightly)
run:
arguments: [
'--channel', 'nightly-2018-10-05',
'--host', 'x86_64-pc-windows-msvc',
'--target', 'x86_64-pc-windows-msvc',
'--target', 'i686-pc-windows-msvc',
]
toolchain-artifact: public/build/rustc.tar.bz2
win64-aarch64-rust:
description: "rust repack with aarch64 support"
treeherder:
symbol: TW64(rust-aarch64)
run:
arguments: [
'--channel', '1.32.0',
'--host', 'x86_64-pc-windows-msvc',
'--target', 'x86_64-pc-windows-msvc',
'--target', 'aarch64-pc-windows-msvc',
'--target', 'i686-pc-windows-msvc',
]
toolchain-artifact: public/build/rustc.tar.bz2
mingw32-rust-1.31:
treeherder:
symbol: TMW(rust-1.31)
run:
arguments: [
'--channel', '1.31.0',
'--host', 'x86_64-unknown-linux-gnu',
'--target', 'i686-unknown-linux-gnu',
'--target', 'i686-pc-windows-gnu',
'--target', 'x86_64-pc-windows-gnu',
'--target', 'x86_64-unknown-linux-gnu',
]
mingw32-rust-1.32:
treeherder:
symbol: TMW(rust)
run:
arguments: [
'--channel', '1.32.0',
'--host', 'x86_64-unknown-linux-gnu',
'--target', 'i686-unknown-linux-gnu',
'--target', 'i686-pc-windows-gnu',
'--target', 'x86_64-pc-windows-gnu',
'--target', 'x86_64-unknown-linux-gnu',
]
toolchain-alias: mingw32-rust

Просмотреть файл

@ -0,0 +1,38 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
job-defaults:
description: "sccache toolchain build"
treeherder:
symbol: TL(sccache)
run:
using: toolchain-script
script: build-sccache.sh
resources:
- 'taskcluster/scripts/misc/tooltool-download.sh'
linux64-sccache:
treeherder:
symbol: TL(sccache)
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
max-run-time: 1800
run:
toolchain-artifact: public/build/sccache2.tar.xz
toolchains:
- linux64-rust-1.28
- linux64-binutils
win64-sccache:
treeherder:
symbol: TW64(sccache)
worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
worker:
max-run-time: 3600
env:
TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/sccache-build.manifest"
run:
toolchain-artifact: public/build/sccache2.tar.bz2
toolchains:
- win64-rust-1.28

Просмотреть файл

@ -1,387 +0,0 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
win64-clang-cl:
description: "Clang-cl toolchain build"
treeherder:
kind: build
platform: toolchains/opt
symbol: TW64(clang-cl)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
worker:
max-run-time: 7200
env:
TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win32/build-clang-cl.manifest"
run:
using: toolchain-script
script: build-clang64-windows.sh
resources:
- 'build/build-clang/build-clang.py'
- 'build/build-clang/clang-win64.json'
- 'taskcluster/scripts/misc/build-clang-windows-helper64.sh'
toolchain-artifact: public/build/clang.tar.bz2
win32-clang-tidy:
description: "Clang-tidy toolchain build"
index:
product: static-analysis
job-name: win32-clang-tidy
treeherder:
kind: build
platform: toolchains/opt
symbol: TW32(clang-tidy)
tier: 2
worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
worker:
max-run-time: 7200
env:
TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win32/build-clang-cl.manifest"
run:
using: toolchain-script
script: build-clang-tidy32-windows.sh
resources:
- 'build/clang-plugin/**/*.cpp'
- 'build/clang-plugin/**/*.h'
- 'build/clang-plugin/*.inc'
- 'build/clang-plugin/*.py'
- 'build/clang-plugin/moz.build'
- 'build/clang-plugin/Makefile.in'
- 'build/build-clang/build-clang.py'
- 'build/build-clang/clang-tidy-win32.json'
- 'taskcluster/scripts/misc/build-clang-windows-helper32.sh'
toolchain-artifact: public/build/clang-tidy.tar.bz2
run-on-projects:
- trunk
- try
win64-clang-tidy:
description: "Clang-tidy toolchain build"
index:
product: static-analysis
job-name: win64-clang-tidy
treeherder:
kind: build
platform: toolchains/opt
symbol: TW64(clang-tidy)
tier: 2
worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
worker:
max-run-time: 7200
env:
TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win32/build-clang-cl.manifest"
run:
using: toolchain-script
script: build-clang-tidy64-windows.sh
resources:
- 'build/clang-plugin/**/*.cpp'
- 'build/clang-plugin/**/*.h'
- 'build/clang-plugin/*.inc'
- 'build/clang-plugin/*.py'
- 'build/clang-plugin/moz.build'
- 'build/clang-plugin/Makefile.in'
- 'build/build-clang/build-clang.py'
- 'build/build-clang/clang-tidy-win32.json'
- 'taskcluster/scripts/misc/build-clang-windows-helper64.sh'
toolchain-artifact: public/build/clang-tidy.tar.bz2
win64-rust-1.28:
description: "rust repack"
treeherder:
kind: build
platform: toolchains/opt
symbol: TW64(rust-1.28)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
docker-image: {in-tree: toolchain-build}
max-run-time: 7200
env:
UPLOAD_DIR: artifacts
run:
using: toolchain-script
script: repack_rust.py
arguments: [
'--channel', '1.28.0',
'--host', 'x86_64-pc-windows-msvc',
'--target', 'x86_64-pc-windows-msvc',
'--target', 'i686-pc-windows-msvc',
]
toolchain-artifact: public/build/rustc.tar.bz2
win64-rust-1.32:
description: "rust repack"
treeherder:
kind: build
platform: toolchains/opt
symbol: TW64(rust)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
docker-image: {in-tree: toolchain-build}
max-run-time: 7200
env:
UPLOAD_DIR: artifacts
run:
using: toolchain-script
script: repack_rust.py
arguments: [
'--channel', '1.32.0',
'--host', 'x86_64-pc-windows-msvc',
'--target', 'x86_64-pc-windows-msvc',
'--target', 'i686-pc-windows-msvc',
]
toolchain-alias: win64-rust
toolchain-artifact: public/build/rustc.tar.bz2
win64-rust-nightly:
description: "rust nightly repack"
treeherder:
kind: build
platform: toolchains/opt
symbol: TW64(rust-nightly)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
docker-image: {in-tree: toolchain-build}
max-run-time: 7200
env:
UPLOAD_DIR: artifacts
run:
using: toolchain-script
script: repack_rust.py
arguments: [
'--channel', 'nightly-2018-10-05',
'--host', 'x86_64-pc-windows-msvc',
'--target', 'x86_64-pc-windows-msvc',
'--target', 'i686-pc-windows-msvc',
]
toolchain-artifact: public/build/rustc.tar.bz2
win64-aarch64-rust:
description: "rust repack with aarch64 support"
treeherder:
kind: build
platform: toolchains/opt
symbol: TW64(rust-aarch64)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
docker-image: {in-tree: toolchain-build}
max-run-time: 7200
env:
UPLOAD_DIR: artifacts
run:
using: toolchain-script
script: repack_rust.py
arguments: [
'--channel', '1.32.0',
'--host', 'x86_64-pc-windows-msvc',
'--target', 'x86_64-pc-windows-msvc',
'--target', 'aarch64-pc-windows-msvc',
'--target', 'i686-pc-windows-msvc',
]
toolchain-artifact: public/build/rustc.tar.bz2
win64-node:
description: "Node repack toolchain build"
treeherder:
kind: build
platform: toolchains/opt
symbol: TW64(node)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
docker-image: {in-tree: toolchain-build}
max-run-time: 1800
run:
using: toolchain-script
script: repack-node.sh
arguments: ['win64']
toolchain-artifact: public/build/node.tar.bz2
mingw32-rust-1.31:
description: "rust repack"
treeherder:
kind: build
platform: toolchains/opt
symbol: TMW(rust-1.31)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
docker-image: {in-tree: toolchain-build}
max-run-time: 7200
env:
UPLOAD_DIR: artifacts
run:
using: toolchain-script
script: repack_rust.py
arguments: [
'--channel', '1.31.0',
'--host', 'x86_64-unknown-linux-gnu',
'--target', 'i686-unknown-linux-gnu',
'--target', 'i686-pc-windows-gnu',
'--target', 'x86_64-pc-windows-gnu',
'--target', 'x86_64-unknown-linux-gnu',
]
toolchain-artifact: public/build/rustc.tar.xz
mingw32-rust-1.32:
description: "rust repack"
treeherder:
kind: build
platform: toolchains/opt
symbol: TMW(rust)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
docker-image: {in-tree: toolchain-build}
max-run-time: 7200
env:
UPLOAD_DIR: artifacts
run:
using: toolchain-script
script: repack_rust.py
arguments: [
'--channel', '1.32.0',
'--host', 'x86_64-unknown-linux-gnu',
'--target', 'i686-unknown-linux-gnu',
'--target', 'i686-pc-windows-gnu',
'--target', 'x86_64-pc-windows-gnu',
'--target', 'x86_64-unknown-linux-gnu',
]
toolchain-alias: mingw32-rust
toolchain-artifact: public/build/rustc.tar.xz
win64-sccache:
description: "sccache toolchain build"
treeherder:
kind: build
platform: toolchains/opt
symbol: TW64(sccache)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
worker:
max-run-time: 3600
env:
TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/sccache-build.manifest"
run:
using: toolchain-script
script: build-sccache.sh
resources:
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-artifact: public/build/sccache2.tar.bz2
toolchains:
- win64-rust-1.28
win64-cbindgen:
description: "cbindgen toolchain build"
treeherder:
kind: build
platform: toolchains/opt
symbol: TW64(cbindgen)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
worker:
max-run-time: 3600
env:
TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/sccache-build.manifest"
run:
using: toolchain-script
script: build-cbindgen.sh
arguments: ['x86_64-pc-windows-msvc']
resources:
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-artifact: public/build/cbindgen.tar.bz2
toolchains:
- win64-rust-1.28
win64-rust-size:
description: "rust-size toolchain build"
treeherder:
kind: build
platform: toolchains/opt
symbol: TW64(rust-size)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
worker:
max-run-time: 1800
env:
TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/sccache-build.manifest"
run:
using: toolchain-script
script: build-rust-size.sh
resources:
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-artifact: public/build/rust-size.tar.bz2
toolchains:
- win64-rust-1.28
win64-grcov:
description: "grcov toolchain build"
treeherder:
kind: build
platform: toolchains/opt
symbol: TW64(grcov)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
worker:
max-run-time: 1800
env:
TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/sccache-build.manifest"
run:
using: toolchain-script
script: build-grcov.sh
resources:
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-artifact: public/build/grcov.tar.bz2
toolchains:
- win64-rust-1.28
- win64-clang-cl
win32-gn:
description: "gn toolchain build"
treeherder:
kind: build
platform: toolchains/opt
symbol: TW32(gn)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
worker:
max-run-time: 3600
env:
TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win32/gn-build.manifest"
run:
using: toolchain-script
script: build-gn-win32.sh
resources:
- 'taskcluster/scripts/misc/tooltool-download.sh'
- 'taskcluster/scripts/misc/build-gn-common.sh'
toolchain-artifact: public/build/gn.tar.bz2
run-on-projects:
- trunk
- try
win32-minidump-stackwalk:
description: "minidump_stackwalk toolchain build"
treeherder:
kind: build
platform: toolchains/opt
symbol: TW32(stackwalk)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
docker-image: {in-tree: mingw32-build}
max-run-time: 1800
run:
using: toolchain-script
script: build-minidump-stackwalk.sh
sparse-profile: null
arguments: ['mingw32']
resources:
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-artifact: public/build/minidump_stackwalk.tar.xz
toolchains:
- linux64-clang-trunk-mingw-x86
- mingw32-rust-1.31

Просмотреть файл

@ -114,6 +114,9 @@ def docker_worker_toolchain(config, job, taskdesc):
worker = taskdesc['worker']
worker['chain-of-trust'] = True
# If the task doesn't have a docker-image, set a default
worker.setdefault('docker-image', {'in-tree': 'toolchain-build'})
# Allow the job to specify where artifacts come from, but add
# public/build if it's not there already.
artifacts = worker.setdefault('artifacts', [])

Просмотреть файл

@ -125,7 +125,7 @@ def test_ini_keep_case(compare_generated):
"""
# write the .ini file
_ini = """[DEFAULT]
general.warnOnAboutConfig = False
network.dns.disableIPv6 = True
"""
try:
fd, name = tempfile.mkstemp(suffix='.ini', text=True)
@ -134,7 +134,7 @@ general.warnOnAboutConfig = False
commandline = ["--preferences", name]
# test the [DEFAULT] section
_prefs = {'general.warnOnAboutConfig': 'False'}
_prefs = {'network.dns.disableIPv6': 'True'}
compare_generated(_prefs, commandline)
finally:

Просмотреть файл

@ -36,6 +36,7 @@ add_task(async function preferred_API() {
return image.href;
});
let filePickerPromise = waitForFilePicker();
saveImageURL(url, "image.jpg", null, true, false, null, null, null, null,
false, gBrowser.contentPrincipal);
await ContentTask.spawn(gBrowser.selectedBrowser, null, async () => {
@ -49,8 +50,7 @@ add_task(async function preferred_API() {
Ci.nsIClassOfService.Throttleable);
}
});
await waitForFilePicker();
await filePickerPromise;
});
});
@ -89,7 +89,8 @@ add_task(async function deprecated_API() {
Ci.nsIClassOfService.Throttleable);
}
});
let filePickerPromise = waitForFilePicker();
saveImageURL(url, "image.jpg", null, true, false, null, doc, null, null);
await waitForFilePicker();
await filePickerPromise;
});
});

Просмотреть файл

@ -83,16 +83,16 @@ MozElements.MozAutocompleteRichlistitem = class MozAutocompleteRichlistitem exte
if (!this.__inheritedAttributeMap) {
this.__inheritedAttributeMap = new Map([
[ this.querySelector(".ac-type-icon"), [ "selected", "current", "type" ] ],
[ this.querySelector(".ac-site-icon"), [ "src=image", "selected", "type" ] ],
[ this.querySelector(".ac-title"), [ "selected" ] ],
[ this.querySelector(".ac-title-text"), [ "selected" ] ],
[ this.querySelector(".ac-tags"), [ "selected" ] ],
[ this.querySelector(".ac-tags-text"), [ "selected" ] ],
[ this.querySelector(".ac-separator"), [ "selected", "actiontype", "type" ] ],
[ this.querySelector(".ac-url"), [ "selected", "actiontype" ] ],
[ this.querySelector(".ac-url-text"), [ "selected" ] ],
[ this.querySelector(".ac-action"), [ "selected", "actiontype" ] ],
[ this.querySelector(".ac-action-text"), [ "selected" ] ],
[ this.querySelector(".ac-site-icon"), [ "src=image", "selected", "type" ] ],
[ this.querySelector(".ac-title"), [ "selected" ] ],
[ this.querySelector(".ac-title-text"), [ "selected" ] ],
[ this.querySelector(".ac-tags"), [ "selected" ] ],
[ this.querySelector(".ac-tags-text"), [ "selected" ] ],
[ this.querySelector(".ac-separator"), [ "selected", "actiontype", "type" ] ],
[ this.querySelector(".ac-url"), [ "selected", "actiontype" ] ],
[ this.querySelector(".ac-url-text"), [ "selected" ] ],
[ this.querySelector(".ac-action"), [ "selected", "actiontype" ] ],
[ this.querySelector(".ac-action-text"), [ "selected" ] ],
]);
}
return this.__inheritedAttributeMap;
@ -128,7 +128,7 @@ MozElements.MozAutocompleteRichlistitem = class MozAutocompleteRichlistitem exte
</description>
</hbox>
<hbox class="ac-separator" align="center">
<description class="ac-separator-text"></description>
<description class="ac-separator-text" value="—"></description>
</hbox>
<hbox class="ac-url" align="center">
<description class="ac-text-overflow-container">
@ -984,7 +984,7 @@ class MozAutocompleteRichlistitemInsecureWarning extends MozElements.MozAutocomp
</description>
</hbox>
<hbox class="ac-separator" align="center">
<description class="ac-separator-text"></description>
<description class="ac-separator-text" value="—"></description>
</hbox>
<hbox class="ac-url" align="center">
<description class="ac-text-overflow-container">

Просмотреть файл

@ -640,8 +640,8 @@ void nsDocLoader::DocLoaderIsEmpty(bool aFlushLayout) {
// since the reflow is what starts font loads.
mozilla::FlushType flushType = mozilla::FlushType::Style;
// Be safe in case this presshell is in teardown now
nsPresContext* presContext = doc->GetPresContext();
if (presContext && presContext->GetUserFontSet()) {
doc->FlushUserFontSet();
if (doc->GetUserFontSet()) {
flushType = mozilla::FlushType::Layout;
}
mDontFlushLayout = mIsFlushingLayout = true;

Просмотреть файл

@ -267,13 +267,6 @@ SchedulerGroup::Runnable::Runnable(already_AddRefed<nsIRunnable>&& aRunnable,
mGroup(aGroup),
mDocGroup(aDocGroup) {}
bool SchedulerGroup::Runnable::GetAffectedSchedulerGroups(
SchedulerGroupSet& aGroups) {
aGroups.Clear();
aGroups.Put(Group());
return true;
}
dom::DocGroup* SchedulerGroup::Runnable::DocGroup() const { return mDocGroup; }
#ifdef MOZ_COLLECTING_RUNNABLE_TELEMETRY
@ -314,5 +307,5 @@ SchedulerGroup::Runnable::GetPriority(uint32_t* aPriority) {
}
NS_IMPL_ISUPPORTS_INHERITED(SchedulerGroup::Runnable, mozilla::Runnable,
nsIRunnablePriority, nsILabelableRunnable,
nsIRunnablePriority,
SchedulerGroup::Runnable)

Просмотреть файл

@ -15,7 +15,6 @@
#include "mozilla/ThreadLocal.h"
#include "mozilla/TimeStamp.h"
#include "nsCOMPtr.h"
#include "nsILabelableRunnable.h"
#include "nsISupportsImpl.h"
#include "nsThreadUtils.h"
@ -98,14 +97,11 @@ class SchedulerGroup : public LinkedListElement<SchedulerGroup> {
}
class Runnable final : public mozilla::Runnable,
public nsIRunnablePriority,
public nsILabelableRunnable {
public nsIRunnablePriority {
public:
Runnable(already_AddRefed<nsIRunnable>&& aRunnable, SchedulerGroup* aGroup,
dom::DocGroup* aDocGroup);
bool GetAffectedSchedulerGroups(SchedulerGroupSet& aGroups) override;
SchedulerGroup* Group() const { return mGroup; }
dom::DocGroup* DocGroup() const;

Просмотреть файл

@ -30,7 +30,6 @@ EXPORTS += [
'MainThreadUtils.h',
'nsICancelableRunnable.h',
'nsIIdleRunnable.h',
'nsILabelableRunnable.h',
'nsMemoryPressure.h',
'nsProcess.h',
'nsProxyRelease.h',
@ -89,7 +88,6 @@ UNIFIED_SOURCES += [
'LazyIdleThread.cpp',
'MainThreadIdlePeriod.cpp',
'nsEnvironment.cpp',
'nsILabelableRunnable.cpp',
'nsMemoryPressure.cpp',
'nsProcessCommon.cpp',
'nsProxyRelease.cpp',

Просмотреть файл

@ -1,79 +0,0 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsILabelableRunnable.h"
#include "mozilla/SchedulerGroup.h"
bool nsILabelableRunnable::IsReadyToRun() {
SchedulerGroupSet groups;
if (!GetAffectedSchedulerGroups(groups)) {
// it can not be labeled right now.
return false;
}
if (groups.mSingle) {
MOZ_ASSERT(groups.mMulti.isNothing());
return !groups.mSingle->IsRunning();
}
if (groups.mMulti.isSome()) {
MOZ_ASSERT(!groups.mSingle);
for (auto iter = groups.mMulti.ref().ConstIter(); !iter.Done();
iter.Next()) {
if (iter.Get()->GetKey()->IsRunning()) {
return false;
}
}
return true;
}
// No affected groups if we are here. Then, it's ready to run.
return true;
}
void nsILabelableRunnable::SchedulerGroupSet::Put(
mozilla::SchedulerGroup* aGroup) {
if (mSingle) {
MOZ_ASSERT(mMulti.isNothing());
mMulti.emplace();
auto& multi = mMulti.ref();
multi.PutEntry(mSingle);
multi.PutEntry(aGroup);
mSingle = nullptr;
return;
}
if (mMulti.isSome()) {
MOZ_ASSERT(!mSingle);
mMulti.ref().PutEntry(aGroup);
return;
}
mSingle = aGroup;
}
void nsILabelableRunnable::SchedulerGroupSet::Clear() {
mSingle = nullptr;
mMulti.reset();
}
void nsILabelableRunnable::SchedulerGroupSet::SetIsRunning(bool aIsRunning) {
if (mSingle) {
MOZ_ASSERT(mMulti.isNothing());
mSingle->SetIsRunning(aIsRunning);
return;
}
if (mMulti.isSome()) {
MOZ_ASSERT(!mSingle);
for (auto iter = mMulti.ref().ConstIter(); !iter.Done(); iter.Next()) {
MOZ_ASSERT(iter.Get()->GetKey()->IsRunning() != aIsRunning);
iter.Get()->GetKey()->SetIsRunning(aIsRunning);
}
return;
}
}

Просмотреть файл

@ -1,74 +0,0 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef nsILabelableRunnable_h
#define nsILabelableRunnable_h
#include "mozilla/Maybe.h"
#include "mozilla/UniquePtr.h"
#include "nsHashKeys.h"
#include "nsISupports.h"
#include "nsTHashtable.h"
namespace mozilla {
class SchedulerGroup;
}
#define NS_ILABELABLERUNNABLE_IID \
{ \
0x40da1ea1, 0x0b81, 0x4249, { \
0x96, 0x46, 0x61, 0x92, 0x23, 0x39, 0xc3, 0xe8 \
} \
}
// In some cases, it is not possible to assign a SchedulerGroup to a runnable
// when it is dispatched. For example, the vsync runnable affects whichever tabs
// happen to be in the foreground when the vsync runs. The nsILabelableRunnable
// interfaces makes it possible to query a runnable to see what SchedulerGroups
// it could belong to if it ran right now. For vsyncs, for example, this would
// return whichever tabs are foreground at the moment.
//
// This interface should be used very sparingly. In general, it is far
// preferable to label a runnable when it is dispatched since that gives the
// scheduler more flexibility and will improve performance.
//
// To use this interface, QI a runnable to nsILabelableRunnable and then call
// GetAffectedSchedulerGroups.
class nsILabelableRunnable : public nsISupports {
public:
NS_DECLARE_STATIC_IID_ACCESSOR(NS_ILABELABLERUNNABLE_IID);
class SchedulerGroupSet {
friend class nsILabelableRunnable;
using MultipleSchedulerGroups =
nsTHashtable<nsRefPtrHashKey<mozilla::SchedulerGroup>>;
RefPtr<mozilla::SchedulerGroup> mSingle;
mozilla::Maybe<MultipleSchedulerGroups> mMulti;
public:
void Put(mozilla::SchedulerGroup* aGroup);
void Clear();
void SetIsRunning(bool aIsRunning);
};
// Returns true if the runnable can be labeled right now. In this case,
// aGroups will contain the set of SchedulerGroups that can be affected by the
// runnable. If this returns false, no assumptions can be made about which
// SchedulerGroups are affected by the runnable.
virtual bool GetAffectedSchedulerGroups(SchedulerGroupSet& aGroups) = 0;
// Returns true if the runnable can be labeled right now and none of its
// affected scheduler groups is running.
bool IsReadyToRun();
};
NS_DEFINE_STATIC_IID_ACCESSOR(nsILabelableRunnable, NS_ILABELABLERUNNABLE_IID);
#endif // nsILabelableRunnable_h