import changes from `dev' branch of rmottola/Arctic-Fox:

- Bug 1218999 - Update mtimes when building a GENERATED_FILES target, even when contents don't change. r=glandium (53e8658ae)
- partial of Bug 927388 - Produce and upload GeckoView AAR during packaging. (5b9f2edb1)
- Bug 927388 - Follow-up: fix bustage on a CLOSED TREE. (5deab1ae5)
- part of Bug 1174757 - Pre: Don't archive geckoview resources when not necessary (41da631ef)
- goanna->gecko (d2f6f223e)
- goanna->gecko (af5de4b01)
- reapply Bug 927388 - Produce and upload GeckoView AAR (2f33b51b4)
- Bug 1189459 - Allow generating geckoview AAR files when MOZ_APP_NAME is not 'fennec'. r=gps (dad480948)
- Bug 1181965. Remove uses of mozRequestAnimationFrame from dom and parser tests. r=bkelly (ed3c653ce)
This commit is contained in:
2021-06-30 09:44:01 +08:00
parent 604a6d61ce
commit 9ca9d9aa74
93 changed files with 770 additions and 625 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
<!DOCTYPE html>
<script>
window.mozRequestAnimationFrame(null);
window.requestAnimationFrame(null);
</script>
+2 -2
View File
@@ -1,5 +1,5 @@
<!DOCTYPE html>
<script>
mozCancelRequestAnimationFrame(mozRequestAnimationFrame(function() {}));
mozRequestAnimationFrame(function() {});
cancelRequestAnimationFrame(requestAnimationFrame(function() {}));
requestAnimationFrame(function() {});
</script>
+2 -2
View File
@@ -1751,10 +1751,10 @@ private:
void EnableStyleSheetsForSetInternal(const nsAString& aSheetSet,
bool aUpdateCSSLoader);
// Revoke any pending notifications due to mozRequestAnimationFrame calls
// Revoke any pending notifications due to requestAnimationFrame calls
void RevokeAnimationFrameNotifications();
// Reschedule any notifications we need to handle
// mozRequestAnimationFrame, if it's OK to do so.
// requestAnimationFrame, if it's OK to do so.
void MaybeRescheduleAnimationFrameNotifications();
// These are not implemented and not supported.
+4 -4
View File
@@ -22,7 +22,7 @@ SimpleTest.waitForExplicitFinish();
var counter = 3;
var called = false;
var handle1 = window.mozRequestAnimationFrame(function() {
var handle1 = window.requestAnimationFrame(function() {
called = true;
});
ok(handle1 > 0, "Should get back a nonzero handle");
@@ -33,11 +33,11 @@ function checker() {
is(called, false, "Canceled callback should not have been called");
SimpleTest.finish();
} else {
window.mozRequestAnimationFrame(checker);
window.requestAnimationFrame(checker);
}
}
window.mozRequestAnimationFrame(checker);
window.mozCancelAnimationFrame(handle1);
window.requestAnimationFrame(checker);
window.cancelAnimationFrame(handle1);
</script>
</pre>
+1 -1
View File
@@ -27,7 +27,7 @@ function f() {
}
}
window.mozRequestAnimationFrame(f);
window.requestAnimationFrame(f);
var xhr = new XMLHttpRequest();
xhr.open("GET", "file_bug675121.sjs", false);
xhrInProgress = true;
+18 -18
View File
@@ -12,34 +12,34 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=
/** Test for Bug **/
SimpleTest.waitForExplicitFinish();
var unprefixedRan = false;
var prefixedRan = false;
function unprefixed(time) {
is(prefixedRan, true, "We were called second");
unprefixedRan = true;
var firstRan = false;
var secondRan = false;
function second(time) {
is(firstRan, true, "We were called second");
secondRan = true;
ok(Math.abs(time - performance.now()) < 3600000,
"An hour really shouldn't have passed here");
ok(Math.abs(time - Date.now()) > 3600000,
"More than an hour should have passed since 1970");
}
function prefixed(time) {
is(unprefixedRan, false, "Prefixed was called first");
prefixedRan = true;
ok(Math.abs(time - Date.now()) < 3600000,
"Our time should be comparable to Date.now()");
ok(Math.abs(time - performance.now()) > 3600000,
"Our time should not be comparable to performance.now()");
function first(time) {
is(secondRan, false, "second() was called first");
firstRan = true;
ok(Math.abs(time - performance.now()) < 3600000,
"An hour really shouldn't have passed here either");
ok(Math.abs(time - Date.now()) > 3600000,
"More than an hour should have passed since 1970 here either");
}
function prefixed2() {
ok(prefixedRan, "We should be after the other prefixed call");
ok(unprefixedRan, "We should be after the unprefixed call");
function third() {
ok(firstRan, "We should be after the first call");
ok(secondRan, "We should be after the second call");
SimpleTest.finish();
}
window.onload = function() {
window.mozRequestAnimationFrame(prefixed);
window.requestAnimationFrame(unprefixed);
window.mozRequestAnimationFrame(prefixed2);
window.requestAnimationFrame(first);
window.requestAnimationFrame(second);
window.requestAnimationFrame(third);
}
</script>
@@ -622,7 +622,7 @@ const KineticPanning = {
v.y * Math.exp(-t / c) * -c + a.y * t * t + v.y * c);
}
let startTime = content.mozAnimationStartTime;
let startTime = content.performance.now();
let elapsedTime = 0, targetedTime = 0, averageTime = 0;
let velocity = this._velocity;
@@ -667,9 +667,9 @@ const KineticPanning = {
return;
}
content.mozRequestAnimationFrame(callback);
content.requestAnimationFrame(callback);
}).bind(this);
content.mozRequestAnimationFrame(callback);
content.requestAnimationFrame(callback);
}
};
+1 -1
View File
@@ -62,7 +62,7 @@ function initGL(canvas) {
}
function rAF(func) {
var raf = window.requestAnimationFrame || window.mozRequestAnimationFrame;
var raf = window.requestAnimationFrame;
raf(func);
}
+2 -2
View File
@@ -55,10 +55,10 @@ function runTest() {
scrollDown15PxWithPixelScrolling(scrollbox);
// wait for the next refresh driver run
win.mozRequestAnimationFrame(function() {
win.requestAnimationFrame(function() {
// actually, wait for the next one before checking results, since
// scrolling might not be flushed until after this code has run
win.mozRequestAnimationFrame(function() {
win.requestAnimationFrame(function() {
is(scrollbox.scrollTop, scrollTopBefore + 15,
"Pixel scrolling should have finished after one refresh driver iteration. " +
"We shouldn't be scrolling smoothly, even though the pref is set.");
+2 -2
View File
@@ -35,7 +35,7 @@ function start() {
canvas = document.getElementById("two");
paintCanvas();
mozRequestAnimationFrame(moveSomething);
requestAnimationFrame(moveSomething);
}
function paintCanvas() {
@@ -52,7 +52,7 @@ function moveSomething() {
return finish();
}
mozRequestAnimationFrame(moveSomething);
requestAnimationFrame(moveSomething);
}
function finish() {
@@ -1082,7 +1082,7 @@
<p>Euro sign: €</p>
<script>
window.onload = function() {
window.mozRequestAnimationFrame(function() {
window.requestAnimationFrame(function() {
parent.document.documentElement.removeAttribute("class");
});
}
+1 -1
View File
@@ -150,7 +150,7 @@ another thing;"""
hoverclass: options.hoverclass
}
// fix for goanna engine
// fix for gecko engine
Element.cleanWhitespace(element);
"""
expected = r"""var options_for_droppable={overlap:options.overlap,containment:options.containment,tree:options.tree,hoverclass:options.hoverclass,onHover:Sortable.onHover}
@@ -67,6 +67,15 @@ def main(argv):
mk.dump(dep_file)
# The script succeeded, so reset |ret| to indicate that.
ret = None
# Even when our file's contents haven't changed, we want to update
# the file's mtime so make knows this target isn't still older than
# whatever prerequisite caused it to be built this time around.
try:
os.utime(args.output_file, None)
except:
print('Error processing file "{0}"'.format(args.output_file),
file=sys.stderr)
traceback.print_exc()
except IOError as e:
print('Error opening file "{0}"'.format(e.filename), file=sys.stderr)
traceback.print_exc()
@@ -13,14 +13,18 @@ from __future__ import absolute_import, print_function
import argparse
import hashlib
import os
import shutil
import sys
import zipfile
from mozbuild import util
from mozpack.copier import Jarrer
from mozpack.files import (
File,
FileFinder,
JarFinder,
)
from mozpack.mozjar import JarReader
MAVEN_POM_TEMPLATE = r'''
<?xml version="1.0" encoding="UTF-8"?>
@@ -31,9 +35,21 @@ MAVEN_POM_TEMPLATE = r'''
<artifactId>{artifactId}</artifactId>
<version>{version}</version>
<packaging>{packaging}</packaging>
<dependencies>
{dependencies}
</dependencies>
</project>
'''.lstrip()
MAVEN_POM_DEPENDENCY_TEMPLATE = r'''
<dependency>
<groupId>{groupId}</groupId>
<artifactId>{artifactId}</artifactId>
<version>{version}</version>
<type>{packaging}</type>
</dependency>
'''.lstrip()
IVY_XML_TEMPLATE = r'''
<?xml version="1.0" encoding="UTF-8"?>
<ivy-module version="2.0">
@@ -42,18 +58,48 @@ IVY_XML_TEMPLATE = r'''
<publications>
<artifact name="{name}" type="{type}" ext="{ext}"/>
</publications>
<dependencies/>
<dependencies>
{dependencies}
</dependencies>
</ivy-module>
'''.lstrip()
def package_goannalibs_aar(topsrcdir, distdir, output_file):
IVY_XML_DEPENDENCY_TEMPLATE = r'''
<dependency org="{organisation}" name="{name}" rev="{revision}" />
'''.lstrip()
def _zipdir(path, output_file):
zip = zipfile.ZipFile(output_file, "w")
for root, dirs, files in os.walk(path, topdown=True):
archive_root = root.replace(path, '')
for file in files:
zip.write(os.path.join(root, file), os.path.join(archive_root, file))
def _generate_geckoview_classes_jar(distdir, base_path):
base_folder = FileFinder(base_path, ignore=['gecko-R.jar'])
# Unzip all jar files into $(DISTDIR)/geckoview_aar_classes.
geckoview_aar_classes_path = os.path.join(distdir, 'geckoview_aar_classes')
shutil.rmtree(geckoview_aar_classes_path, ignore_errors=True)
util.ensureParentDir(geckoview_aar_classes_path)
for p, f in base_folder.find('*.jar'):
with zipfile.ZipFile(f.path) as zf:
zf.extractall(geckoview_aar_classes_path)
# Rezip them into a single classes.jar file.
classes_jar_path = os.path.join(distdir, 'classes.jar')
_zipdir(geckoview_aar_classes_path, classes_jar_path)
return File(classes_jar_path)
def package_geckolibs_aar(topsrcdir, distdir, appname, output_file):
jarrer = Jarrer(optimize=False)
srcdir = os.path.join(topsrcdir, 'mobile', 'android', 'goannaview_library', 'goannalibs')
srcdir = os.path.join(topsrcdir, 'mobile', 'android', 'geckoview_library', 'geckolibs')
jarrer.add('AndroidManifest.xml', File(os.path.join(srcdir, 'AndroidManifest.xml')))
jarrer.add('classes.jar', File(os.path.join(srcdir, 'classes.jar')))
jni = FileFinder(os.path.join(distdir, 'fennec', 'lib'))
jni = FileFinder(os.path.join(distdir, appname, 'lib'))
for p, f in jni.find('**/*.so'):
jarrer.add(os.path.join('jni', p), f)
@@ -64,19 +110,47 @@ def package_goannalibs_aar(topsrcdir, distdir, output_file):
jarrer.add(os.path.join('assets', p), f)
# This neatly ignores omni.ja.
assets = FileFinder(os.path.join(distdir, 'fennec', 'assets'))
assets = FileFinder(os.path.join(distdir, appname, 'assets'))
for p, f in assets.find('**/*.so'):
jarrer.add(os.path.join('assets', p), f)
jarrer.copy(output_file)
return 0
def package_geckoview_aar(topsrcdir, distdir, appname, output_file):
jarrer = Jarrer(optimize=False)
app_path = os.path.join(distdir, appname)
assets = FileFinder(os.path.join(app_path, 'assets'), ignore=['*.so'])
for p, f in assets.find('omni.ja'):
jarrer.add(os.path.join('assets', p), f)
# The folder that contains Fennec's JAR files and resources.
base_path = os.path.join(distdir, '..', 'mobile', 'android', 'base')
# The resource set is packaged during Fennec's build.
resjar = JarReader(os.path.join(base_path, 'geckoview_resources.zip'))
for p, f in JarFinder(base_path, resjar).find('*'):
jarrer.add(os.path.join('res', p), f)
# Package the contents of all Fennec JAR files into classes.jar.
classes_jar_file = _generate_geckoview_classes_jar(distdir, base_path)
jarrer.add('classes.jar', classes_jar_file)
# Add R.txt.
jarrer.add('R.txt', File(os.path.join(base_path, 'R.txt')))
# Finally add AndroidManifest.xml.
srcdir = os.path.join(topsrcdir, 'mobile', 'android', 'geckoview_library', 'geckoview')
jarrer.add('AndroidManifest.xml', File(os.path.join(srcdir, 'AndroidManifest.xml')))
jarrer.copy(output_file)
return 0
def main(args):
parser = argparse.ArgumentParser()
parser.add_argument(dest='dir',
metavar='DIR',
help='Path to write goannalibs Android ARchive and metadata to.')
help='Path to write Android ARchives and metadata to.')
parser.add_argument('--verbose', '-v', default=False, action='store_true',
help='be verbose')
parser.add_argument('--revision',
@@ -85,35 +159,86 @@ def main(args):
help='Top source directory.')
parser.add_argument('--distdir',
help='Distribution directory (usually $OBJDIR/dist).')
parser.add_argument('--appname',
help='Application name (usually $MOZ_APP_NAME, like "fennec").')
args = parser.parse_args(args)
# An Ivy 'publication' date must be given in the form yyyyMMddHHmmss, and Mozilla buildids are in this format.
if len(args.revision) != 14:
raise ValueError('Revision must be in yyyyMMddHHmmss format: %s' % args.revision)
paths_to_hash = []
aar = os.path.join(args.dir, 'goannalibs-{revision}.aar').format(revision=args.revision)
paths_to_hash.append(aar)
package_goannalibs_aar(args.topsrcdir, args.distdir, aar)
groupId='org.mozilla'
packaging_type='aar'
gecklibs_aar = os.path.join(args.dir, 'geckolibs-{revision}.aar').format(revision=args.revision)
paths_to_hash.append(gecklibs_aar)
geckoview_aar = os.path.join(args.dir, 'geckoview-{revision}.aar').format(revision=args.revision)
paths_to_hash.append(geckoview_aar)
pom = os.path.join(args.dir, 'goannalibs-{revision}.pom').format(revision=args.revision)
paths_to_hash.append(pom)
with open(pom, 'wt') as f:
f.write(MAVEN_POM_TEMPLATE.format(
groupId='org.mozilla',
artifactId='goannalibs',
package_geckolibs_aar(args.topsrcdir, args.distdir, args.appname, gecklibs_aar)
package_geckoview_aar(args.topsrcdir, args.distdir, args.appname, geckoview_aar)
geckolibs_pom_path = os.path.join(args.dir, 'geckolibs-{revision}.pom').format(revision=args.revision)
paths_to_hash.append(geckolibs_pom_path)
geckolibs_pom = MAVEN_POM_TEMPLATE.format(
groupId=groupId,
artifactId='geckolibs',
version=args.revision,
packaging='aar',
))
packaging=packaging_type,
dependencies=''
)
ivy = os.path.join(args.dir, 'ivy-goannalibs-{revision}.xml').format(revision=args.revision)
paths_to_hash.append(ivy)
with open(ivy, 'wt') as f:
with open(geckolibs_pom_path, 'wt') as f:
f.write(geckolibs_pom)
geckoview_pom_path = os.path.join(args.dir, 'geckoview-{revision}.pom').format(revision=args.revision)
paths_to_hash.append(geckoview_pom_path)
geckoview_pom = MAVEN_POM_TEMPLATE.format(
groupId=groupId,
artifactId='geckoview',
version=args.revision,
packaging=packaging_type,
dependencies=MAVEN_POM_DEPENDENCY_TEMPLATE.format(
groupId=groupId,
artifactId='geckolibs',
version=args.revision,
packaging=packaging_type
)
)
with open(geckoview_pom_path, 'wt') as f:
f.write(geckoview_pom)
geckolibs_ivy_path = os.path.join(args.dir, 'ivy-geckolibs-{revision}.xml').format(revision=args.revision)
paths_to_hash.append(geckolibs_ivy_path)
with open(geckolibs_ivy_path, 'wt') as f:
f.write(IVY_XML_TEMPLATE.format(
organisation='org.mozilla',
module='goannalibs',
organisation=groupId,
module='geckolibs',
revision=args.revision,
publication=args.revision, # A white lie.
name='goannalibs',
type='aar',
ext='aar',
name='geckolibs',
type=packaging_type,
ext=packaging_type,
dependencies=''
))
geckoview_ivy_path = os.path.join(args.dir, 'ivy-geckoview-{revision}.xml').format(revision=args.revision)
paths_to_hash.append(geckoview_ivy_path)
with open(geckoview_ivy_path, 'wt') as f:
f.write(IVY_XML_TEMPLATE.format(
organisation=groupId,
module='geckoview',
revision=args.revision,
publication=args.revision, # A white lie.
name='geckoview',
type=packaging_type,
ext=packaging_type,
dependencies=IVY_XML_DEPENDENCY_TEMPLATE.format(
organisation=groupId,
name='geckolibs',
revision=args.revision)
))
for p in paths_to_hash:
@@ -82,7 +82,7 @@ class AndroidEclipseBackend(CommonBackend):
def _Element_for_classpathentry(self, cpe):
"""Turn a ClassPathEntry into an XML Element, like one of:
<classpathentry including="**/*.java" kind="src" path="preprocessed"/>
<classpathentry including="**/*.java" excluding="org/mozilla/goanna/Excluded.java|org/mozilla/goanna/SecondExcluded.java" kind="src" path="src"/>
<classpathentry including="**/*.java" excluding="org/mozilla/gecko/Excluded.java|org/mozilla/gecko/SecondExcluded.java" kind="src" path="src"/>
<classpathentry including="**/*.java" kind="src" path="thirdparty">
<attributes>
<attribute name="ignore_optional_problems" value="true"/>
@@ -116,7 +116,7 @@ class AndroidEclipseBackend(CommonBackend):
def _Element_for_extra_jar(self, name):
"""Turn a referenced JAR name into an XML Element, like:
<classpathentry exported="true" kind="lib" path="/Users/nalexander/Mozilla/goanna-dev/build/mobile/robocop/robotium-solo-4.3.1.jar"/>
<classpathentry exported="true" kind="lib" path="/Users/nalexander/Mozilla/gecko-dev/build/mobile/robocop/robotium-solo-4.3.1.jar"/>
"""
e = ET.Element('classpathentry')
e.set('kind', 'lib')
@@ -126,7 +126,7 @@ class AndroidEclipseBackend(CommonBackend):
def _Element_for_filtered_resources(self, filtered_resources):
"""Turn a list of filtered resource arguments like
['1.0-projectRelativePath-matches-false-false-*org/mozilla/goanna/resources/**']
['1.0-projectRelativePath-matches-false-false-*org/mozilla/gecko/resources/**']
into an XML Element, like:
<filteredResources>
<filter>
@@ -135,7 +135,7 @@ class AndroidEclipseBackend(CommonBackend):
<type>30</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-projectRelativePath-matches-false-false-*org/mozilla/goanna/resources/**</arguments>
<arguments>1.0-projectRelativePath-matches-false-false-*org/mozilla/gecko/resources/**</arguments>
</matcher>
</filter>
</filteredResources>
@@ -178,8 +178,8 @@ class CppEclipseBackend(CommonBackend):
exe_path = os.path.join(exe_path, self._appname + self._bin_suffix)
if self.environment.substs['MOZ_WIDGET_TOOLKIT'] != 'gonk':
main_goanna_launch = os.path.join(launch_dir, 'goanna.launch')
with open(main_goanna_launch, 'wb') as fh:
main_gecko_launch = os.path.join(launch_dir, 'gecko.launch')
with open(main_gecko_launch, 'wb') as fh:
launch = GECKO_LAUNCH_CONFIG_TEMPLATE
launch = launch.replace('@LAUNCH_PROGRAM@', exe_path)
launch = launch.replace('@LAUNCH_ARGS@', '-P -no-remote')
@@ -461,7 +461,7 @@ GECKO_LAUNCH_CONFIG_TEMPLATE = """<?xml version="1.0" encoding="UTF-8" standalon
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value=""/>
<booleanAttribute key="org.eclipse.cdt.launch.use_terminal" value="true"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/goanna"/>
<listEntry value="/gecko"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
<listEntry value="4"/>
@@ -497,7 +497,7 @@ B2GFLASH_LAUNCH_CONFIG_TEMPLATE = """<?xml version="1.0" encoding="UTF-8" standa
<stringAttribute key="org.eclipse.cdt.launch.WORKING_DIRECTORY" value="@OBJDIR@"/>
<booleanAttribute key="org.eclipse.cdt.launch.use_terminal" value="true"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/goanna"/>
<listEntry value="/gecko"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
<listEntry value="4"/>
@@ -19,17 +19,17 @@ browser.contentHandlers.types.0.uri=http://www.bloglines.com/login?r=/sub/%s
# profile database. Note that "new" is defined as "has a different URL"; this
# means that it's not possible to update the name of existing handler, so
# don't make any spelling errors here.
goanna.handlerService.defaultHandlersVersion=3
gecko.handlerService.defaultHandlersVersion=3
# The default set of protocol handlers for webcal:
goanna.handlerService.schemes.webcal.0.name=30 Boxes
goanna.handlerService.schemes.webcal.0.uriTemplate=https://30boxes.com/external/widget?refer=ff&url=%s
gecko.handlerService.schemes.webcal.0.name=30 Boxes
gecko.handlerService.schemes.webcal.0.uriTemplate=https://30boxes.com/external/widget?refer=ff&url=%s
# The default set of protocol handlers for mailto:
goanna.handlerService.schemes.mailto.0.name=Yahoo! 邮件
goanna.handlerService.schemes.mailto.0.uriTemplate=https://compose.mail.yahoo.com/?To=%s
goanna.handlerService.schemes.mailto.1.name=Gmail
goanna.handlerService.schemes.mailto.1.uriTemplate=https://mail.google.com/mail/?extsrc=mailto&url=%s
gecko.handlerService.schemes.mailto.0.name=Yahoo! 邮件
gecko.handlerService.schemes.mailto.0.uriTemplate=https://compose.mail.yahoo.com/?To=%s
gecko.handlerService.schemes.mailto.1.name=Gmail
gecko.handlerService.schemes.mailto.1.uriTemplate=https://mail.google.com/mail/?extsrc=mailto&url=%s
# This is the default set of web based feed handlers shown in the reader
# selection UI
@@ -107,10 +107,10 @@ ALL_TESTS_JSON = b'''
"dir_relpath": "mobile/android/tests/background/junit3/src/common",
"file_relpath": "mobile/android/tests/background/junit3/src/common/TestAndroidLogWriters.java",
"flavor": "instrumentation",
"here": "/Users/nalexander/Mozilla/goanna-dev/mobile/android/tests/background/junit3",
"manifest": "/Users/nalexander/Mozilla/goanna-dev/mobile/android/tests/background/junit3/instrumentation.ini",
"here": "/Users/nalexander/Mozilla/gecko-dev/mobile/android/tests/background/junit3",
"manifest": "/Users/nalexander/Mozilla/gecko-dev/mobile/android/tests/background/junit3/instrumentation.ini",
"name": "src/common/TestAndroidLogWriters.java",
"path": "/Users/nalexander/Mozilla/goanna-dev/mobile/android/tests/background/junit3/src/common/TestAndroidLogWriters.java",
"path": "/Users/nalexander/Mozilla/gecko-dev/mobile/android/tests/background/junit3/src/common/TestAndroidLogWriters.java",
"relpath": "src/common/TestAndroidLogWriters.java",
"subsuite": "background"
}
@@ -120,10 +120,10 @@ ALL_TESTS_JSON = b'''
"dir_relpath": "mobile/android/tests/browser/junit3/src",
"file_relpath": "mobile/android/tests/browser/junit3/src/TestDistribution.java",
"flavor": "instrumentation",
"here": "/Users/nalexander/Mozilla/goanna-dev/mobile/android/tests/browser/junit3",
"manifest": "/Users/nalexander/Mozilla/goanna-dev/mobile/android/tests/browser/junit3/instrumentation.ini",
"here": "/Users/nalexander/Mozilla/gecko-dev/mobile/android/tests/browser/junit3",
"manifest": "/Users/nalexander/Mozilla/gecko-dev/mobile/android/tests/browser/junit3/instrumentation.ini",
"name": "src/TestDistribution.java",
"path": "/Users/nalexander/Mozilla/goanna-dev/mobile/android/tests/browser/junit3/src/TestDistribution.java",
"path": "/Users/nalexander/Mozilla/gecko-dev/mobile/android/tests/browser/junit3/src/TestDistribution.java",
"relpath": "src/TestDistribution.java",
"subsuite": "browser"
}
@@ -310,7 +310,7 @@ SandboxBroker::SetSecurityLevelForGMPlugin()
// Add the policy for the client side of the crash server pipe.
result = mPolicy->AddRule(sandbox::TargetPolicy::SUBSYS_FILES,
sandbox::TargetPolicy::FILES_ALLOW_ANY,
L"\\??\\pipe\\goanna-crash-server-pipe.*");
L"\\??\\pipe\\gecko-crash-server-pipe.*");
ret = ret && (sandbox::SBOX_ALL_OK == result);
#ifdef DEBUG
+2 -2
View File
@@ -12,7 +12,7 @@ config = {
"--testvars=%(testvars)s",
"--profile=%(profile)s",
"--symbols-path=%(symbols_path)s",
"--goanna-log=%(goanna_log)s",
"--gecko-log=%(gecko_log)s",
"--xml-output=%(xml_output)s",
"--html-output=%(html_output)s",
"--log-raw=%(raw_log_file)s",
@@ -83,4 +83,4 @@ config = {
"testsdir": ""
}
}
}
}
@@ -33,7 +33,7 @@ class GeckoInstance(object):
"startup.homepage_welcome_url": "about:blank"}
def __init__(self, host, port, bin, profile=None, app_args=None, symbols_path=None,
goanna_log=None, prefs=None):
gecko_log=None, prefs=None):
self.marionette_host = host
self.marionette_port = port
self.bin = bin
@@ -50,7 +50,7 @@ class GeckoInstance(object):
self.app_args = app_args or []
self.runner = None
self.symbols_path = symbols_path
self.goanna_log = goanna_log
self.gecko_log = gecko_log
def start(self):
profile_args = {"preferences": deepcopy(self.required_prefs)}
@@ -79,17 +79,17 @@ class GeckoInstance(object):
'processOutputLine': [NullOutput()],
}
if self.goanna_log == '-':
if self.gecko_log == '-':
process_args['stream'] = sys.stdout
else:
if self.goanna_log is None:
self.goanna_log = 'goanna.log'
elif os.path.isdir(self.goanna_log):
fname = "goanna-%d.log" % time.time()
self.goanna_log = os.path.join(self.goanna_log, fname)
if self.gecko_log is None:
self.gecko_log = 'gecko.log'
elif os.path.isdir(self.gecko_log):
fname = "gecko-%d.log" % time.time()
self.gecko_log = os.path.join(self.gecko_log, fname)
self.goanna_log = os.path.realpath(self.goanna_log)
if os.access(self.goanna_log, os.F_OK):
self.gecko_log = os.path.realpath(self.gecko_log)
if os.access(self.gecko_log, os.F_OK):
if platform.system() is 'Windows':
# NOTE: windows has a weird filesystem where it happily 'closes'
# the file, but complains if you try to delete it. You get a
@@ -101,7 +101,7 @@ class GeckoInstance(object):
tries = 0
while tries < 10:
try:
os.remove(self.goanna_log)
os.remove(self.gecko_log)
break
except WindowsError as e:
if e.errno == errno.EACCES:
@@ -110,9 +110,9 @@ class GeckoInstance(object):
else:
raise e
else:
os.remove(self.goanna_log)
os.remove(self.gecko_log)
process_args['logfile'] = self.goanna_log
process_args['logfile'] = self.gecko_log
env = os.environ.copy()
+3 -3
View File
@@ -121,9 +121,9 @@ class MachCommands(MachCommandBase):
default='browser',
help='Test type, usually one of: browser, b2g, b2g-qemu.')
@CommandArgument('--profile',
help='Path to goanna profile to use.')
@CommandArgument('--goanna-log',
help='Path to goanna log file, or "-" for stdout.')
help='Path to gecko profile to use.')
@CommandArgument('--gecko-log',
help='Path to gecko log file, or "-" for stdout.')
@CommandArgument('--jsdebugger', action='store_true',
help='Enable the jsdebugger for marionette javascript.')
@CommandArgument('--pydebugger',
@@ -18,7 +18,7 @@ class MarionetteTransport(object):
"""
max_packet_length = 4096
connection_lost_msg = "Connection to Marionette server is lost. Check goanna.log (desktop firefox) or logcat (b2g) for errors."
connection_lost_msg = "Connection to Marionette server is lost. Check gecko.log (desktop firefox) or logcat (b2g) for errors."
def __init__(self, addr, port, socket_timeout=360.0):
self.addr = addr
@@ -133,9 +133,9 @@ class SmokeTestRunner(object):
partial_mar = os.path.join(run_dir, 'partial.mar')
if not os.path.exists(partial_mar):
build_goanna_mar = os.path.join(self.b2g.update_tools,
'build-goanna-mar.py')
subprocess.check_call([sys.executable, build_goanna_mar,
build_gecko_mar = os.path.join(self.b2g.update_tools,
'build-gecko-mar.py')
subprocess.check_call([sys.executable, build_gecko_mar,
'--from', start_data.complete_mar,
'--to', finish_data.complete_mar,
partial_mar])
+1 -1
View File
@@ -1776,7 +1776,7 @@ class Mochitest(MochitestUtilsMixin):
# Allow callers to specify an onLaunch callback to be fired after the
# app is launched.
# We call onLaunch for b2g desktop mochitests so that we can
# run a Marionette script after goanna has completed startup.
# run a Marionette script after gecko has completed startup.
onLaunch()
# wait until app is finished
@@ -204,7 +204,7 @@ MochiKit.Base.update(MochiKit.Sortable, {
accept: options.accept
}
// fix for goanna engine
// fix for gecko engine
MochiKit.DOM.removeEmptyTextNodes(element);
options.draggables = [];
@@ -321,7 +321,7 @@ MochiKit.Base.update(MochiKit.Sortable, {
self.mark(dropon, 'before');
if (dropon.previousSibling != element) {
var oldParentNode = element.parentNode;
element.style.visibility = 'hidden'; // fix goanna rendering
element.style.visibility = 'hidden'; // fix gecko rendering
dropon.parentNode.insertBefore(element, dropon);
if (dropon.parentNode != oldParentNode) {
self.options(oldParentNode).onChange(element);
@@ -333,7 +333,7 @@ MochiKit.Base.update(MochiKit.Sortable, {
var nextElement = dropon.nextSibling || null;
if (nextElement != element) {
var oldParentNode = element.parentNode;
element.style.visibility = 'hidden'; // fix goanna rendering
element.style.visibility = 'hidden'; // fix gecko rendering
dropon.parentNode.insertBefore(element, nextElement);
if (dropon.parentNode != oldParentNode) {
self.options(oldParentNode).onChange(element);
+13 -13
View File
@@ -1,7 +1,7 @@
:mod:`mozrunner` --- Manage remote and local goanna processes
:mod:`mozrunner` --- Manage remote and local gecko processes
============================================================
Mozrunner provides an API to manage a goanna-based application with an
Mozrunner provides an API to manage a gecko-based application with an
arbitrary configuration profile. It currently supports local desktop
binaries such as Firefox and Thunderbird, as well as Firefox OS on
mobile devices and emulators.
@@ -45,7 +45,7 @@ wish to use a specialized or pre-existing profile, you can create a
Handling output
---------------
By default, mozrunner dumps the output of the goanna process to standard output.
By default, mozrunner dumps the output of the gecko process to standard output.
It is possible to add arbitrary output handlers by passing them in via the
`process_args` argument. Be careful, passing in a handler overrides the default
behaviour. So if you want to use a handler in addition to dumping to stdout, you
@@ -63,7 +63,7 @@ need to specify that explicitly. For example:
'processOutputLine': [handle_output_line] }
runner = FirefoxRunner(binary=binary, process_args=process_args)
Mozrunner uses :doc:`mozprocess <mozprocess>` to manage the underlying goanna
Mozrunner uses :doc:`mozprocess <mozprocess>` to manage the underlying gecko
process and handle output. See the :doc:`mozprocess documentation <mozprocess>`
for all available arguments accepted by `process_args`.
@@ -71,12 +71,12 @@ for all available arguments accepted by `process_args`.
Handling timeouts
-----------------
Sometimes goanna can hang, or maybe it is just taking too long. To handle this case you
Sometimes gecko can hang, or maybe it is just taking too long. To handle this case you
may want to set a timeout. Mozrunner has two kinds of timeouts, the
traditional `timeout`, and the `outputTimeout`. These get passed into the
`runner.start()` method. Setting `timeout` will cause goanna to be killed after
`runner.start()` method. Setting `timeout` will cause gecko to be killed after
the specified number of seconds, no matter what. Setting `outputTimeout` will cause
goanna to be killed after the specified number of seconds with no output. In both
gecko to be killed after the specified number of seconds with no output. In both
cases the process handler's `onTimeout` callbacks will be triggered.
.. code-block:: python
@@ -94,7 +94,7 @@ cases the process handler's `onTimeout` callbacks will be triggered.
The `runner.wait()` method also accepts a timeout argument. But unlike the arguments
to `runner.start()`, this one simply returns from the wait call and does not kill the
goanna process.
gecko process.
.. code-block:: python
@@ -111,7 +111,7 @@ Using a device runner
---------------------
The previous examples used a GeckoRuntimeRunner. If you want to control a
goanna process on a remote device, you need to use a DeviceRunner. The api is
gecko process on a remote device, you need to use a DeviceRunner. The api is
nearly identical except you don't pass in a binary, instead you create a device
object. For example, for B2G (Firefox OS) emulators you might do:
@@ -124,14 +124,14 @@ object. For example, for B2G (Firefox OS) emulators you might do:
runner.start()
runner.wait()
Device runners have a `device` object. Remember that the goanna process runs on
Device runners have a `device` object. Remember that the gecko process runs on
the device. In the case of the emulator, it is possible to start the
device independently of the goanna process.
device independently of the gecko process.
.. code-block:: python
runner.device.start() # launches the emulator (which also launches goanna)
runner.start() # stops the goanna process, installs the profile, restarts the goanna process
runner.device.start() # launches the emulator (which also launches gecko)
runner.start() # stops the gecko process, installs the profile, restarts the gecko process
Runner API Documentation
+1 -1
View File
@@ -97,7 +97,7 @@ Firefox OS::
device_id: msm7627a
gaia_changeset: 9a222ac02db176e47299bb37112ae40aeadbeca7
gaia_date: 1389005812
goanna_changeset: 3a2d8af198510726b063a217438fcf2591f4dfcf
gecko_changeset: 3a2d8af198510726b063a217438fcf2591f4dfcf
platform_buildid: 20140106040201
platform_changeset: 14ac61461f2a
platform_repository: http://hg.mozilla.org/mozilla-central
@@ -302,7 +302,7 @@ def check_for_java_exception(logcat, quiet=False):
logcat output.
Example:
PROCESS-CRASH | java-exception | java.lang.NullPointerException at org.mozilla.goanna.GeckoApp$21.run(GeckoApp.java:1833)
PROCESS-CRASH | java-exception | java.lang.NullPointerException at org.mozilla.gecko.GeckoApp$21.run(GeckoApp.java:1833)
`logcat` should be a list of strings.
@@ -318,7 +318,7 @@ def check_for_java_exception(logcat, quiet=False):
#
# 01-30 20:15:41.937 E/GeckoAppShell( 1703): >>> REPORTING UNCAUGHT EXCEPTION FROM THREAD 9 ("GeckoBackgroundThread")
# 01-30 20:15:41.937 E/GeckoAppShell( 1703): java.lang.NullPointerException
# 01-30 20:15:41.937 E/GeckoAppShell( 1703): at org.mozilla.goanna.GeckoApp$21.run(GeckoApp.java:1833)
# 01-30 20:15:41.937 E/GeckoAppShell( 1703): at org.mozilla.gecko.GeckoApp$21.run(GeckoApp.java:1833)
# 01-30 20:15:41.937 E/GeckoAppShell( 1703): at android.os.Handler.handleCallback(Handler.java:587)
if "REPORTING UNCAUGHT EXCEPTION" in line or "FATAL EXCEPTION" in line:
# Strip away the date, time, logcat tag and pid from the next two lines and
+1 -1
View File
@@ -180,7 +180,7 @@ class TestJavaException(unittest.TestCase):
def setUp(self):
self.test_log = ["01-30 20:15:41.937 E/GeckoAppShell( 1703): >>> REPORTING UNCAUGHT EXCEPTION FROM THREAD 9 (\"GeckoBackgroundThread\")",
"01-30 20:15:41.937 E/GeckoAppShell( 1703): java.lang.NullPointerException",
"01-30 20:15:41.937 E/GeckoAppShell( 1703): at org.mozilla.goanna.GeckoApp$21.run(GeckoApp.java:1833)",
"01-30 20:15:41.937 E/GeckoAppShell( 1703): at org.mozilla.gecko.GeckoApp$21.run(GeckoApp.java:1833)",
"01-30 20:15:41.937 E/GeckoAppShell( 1703): at android.os.Handler.handleCallback(Handler.java:587)"]
def test_uncaught_exception(self):
@@ -31,7 +31,7 @@ class Version(object):
if not self._logger:
self._logger = mozlog.getLogger('mozversion')
def get_goanna_info(self, path):
def get_gecko_info(self, path):
for type, section in INI_DATA_MAPPING:
config_file = os.path.join(path, "%s.ini" % type)
if os.path.exists(config_file):
@@ -60,9 +60,9 @@ class LocalFennecVersion(Version):
def __init__(self, path, **kwargs):
Version.__init__(self, **kwargs)
self.get_goanna_info(path)
self.get_gecko_info(path)
def get_goanna_info(self, path):
def get_gecko_info(self, path):
archive = zipfile.ZipFile(path, 'r')
archive_list = archive.namelist()
for type, section in INI_DATA_MAPPING:
@@ -104,7 +104,7 @@ class LocalVersion(Version):
else:
raise errors.LocalAppNotFoundError(path)
self.get_goanna_info(path)
self.get_gecko_info(path)
def check_location(self, path):
return (os.path.exists(os.path.join(path, 'application.ini'))
@@ -125,7 +125,7 @@ class B2GVersion(Version):
for element in sources_xml.getElementsByTagName('project'):
path = element.getAttribute('path')
changeset = element.getAttribute('revision')
if path in ['gaia', 'goanna', 'build']:
if path in ['gaia', 'gecko', 'build']:
if path == 'gaia' and self._info.get('gaia_changeset'):
break
self._info['_'.join([path, 'changeset'])] = changeset
@@ -171,7 +171,7 @@ class LocalB2GVersion(B2GVersion):
if os.path.exists(os.path.join(os.getcwd(), 'application.ini')):
path = os.getcwd()
self.get_goanna_info(path)
self.get_gecko_info(path)
zip_path = os.path.join(
path, 'gaia', 'profile', 'webapps',
@@ -215,7 +215,7 @@ class RemoteB2GVersion(B2GVersion):
with open(os.path.join(tempdir, '%s.ini' % ini), 'w') as f:
f.write(dm.pullFile('/system/b2g/%s.ini' % ini))
f.flush()
self.get_goanna_info(tempdir)
self.get_gecko_info(tempdir)
mozfile.remove(tempdir)
for path in ['/system/b2g', '/data/local']:
+1 -1
View File
@@ -2,7 +2,7 @@ the contents of this dir (testing/mozharness) represent two parts
1) the old way: mozharness.json is a manifest file that locks or "pins" mozharness to a repository and a revision.
2) the new way: an in-goanna-tree copy of mozharness.
2) the new way: an in-gecko-tree copy of mozharness.
* hgmo/build/mozharness is still live and the defacto read/write repository
* continuous integration jobs are based on this copy
* As we transition to dropping support for hg.m.o/build/mozharness, this copy will continue to be synced
@@ -37,9 +37,9 @@ config = {
#########################################################################
###### 64 bit specific ######
'base_name': 'B2G_%(branch)s_macosx64_goanna',
'platform': 'macosx64_goanna',
'stage_platform': 'macosx64_goanna',
'base_name': 'B2G_%(branch)s_macosx64_gecko',
'platform': 'macosx64_gecko',
'stage_platform': 'macosx64_gecko',
'stage_product': 'b2g',
'env': {
'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'),
@@ -73,7 +73,7 @@ config = {
'MINIDUMP_SAVE_PATH': '%(base_work_dir)s/minidumps',
},
'purge_minsize': 12,
'src_mozconfig': 'b2g/config/mozconfigs/macosx64_goanna/nightly',
'src_mozconfig': 'b2g/config/mozconfigs/macosx64_gecko/nightly',
'tooltool_manifest_src': 'b2g/config/tooltool-manifests/macosx64/releng.manifest',
#########################################################################
}
@@ -2,6 +2,6 @@
config = {
# mozharness script options
"installer_url": "https://ftp-ssl.mozilla.org/pub/mozilla.org/b2g/tinderbox-builds/mozilla-central-linux64_goanna/1365627906/b2g-23.0a1.multi.linux-x86_64.tar.bz2",
"installer_url": "https://ftp-ssl.mozilla.org/pub/mozilla.org/b2g/tinderbox-builds/mozilla-central-linux64_gecko/1365627906/b2g-23.0a1.multi.linux-x86_64.tar.bz2",
"xre_url": "https://ftp-ssl.mozilla.org/pub/mozilla.org/xulrunner/nightly/2012/09/2012-09-20-03-05-43-mozilla-central/xulrunner-18.0a1.en-US.linux-x86_64.tar.bz2"
}
+13 -13
View File
@@ -6,9 +6,9 @@ config = {
"hgtool.py": ["/usr/local/bin/hgtool.py"],
"gittool.py": ["/usr/local/bin/gittool.py"],
},
'goanna_pull_url': 'https://hg.mozilla.org/integration/b2g-inbound',
'goanna_push_url': 'ssh://hg.mozilla.org/integration/b2g-inbound',
'goanna_local_dir': 'b2g-inbound',
'gecko_pull_url': 'https://hg.mozilla.org/integration/b2g-inbound',
'gecko_push_url': 'ssh://hg.mozilla.org/integration/b2g-inbound',
'gecko_local_dir': 'b2g-inbound',
'git_ref_cache': '/builds/b2g_bumper/git_ref_cache.json',
'manifests_repo': 'https://git.mozilla.org/b2g/b2g-manifest.git',
@@ -31,47 +31,47 @@ config = {
'devices': {
'dolphin': {
'ignore_projects': ['goanna'],
'ignore_projects': ['gecko'],
'ignore_groups': ['darwin'],
},
'emulator-l': {
'ignore_projects': ['goanna'],
'ignore_projects': ['gecko'],
'ignore_groups': ['darwin'],
},
'emulator-kk': {
'ignore_projects': ['goanna'],
'ignore_projects': ['gecko'],
'ignore_groups': ['darwin'],
},
'emulator-jb': {
'ignore_projects': ['goanna'],
'ignore_projects': ['gecko'],
'ignore_groups': ['darwin'],
},
'emulator-ics': {
'ignore_projects': ['goanna'],
'ignore_projects': ['gecko'],
'ignore_groups': ['darwin'],
'manifest_file': 'emulator.xml',
},
# Equivalent to emulator-ics - see bug 916134
# Remove once the above bug resolved
'emulator': {
'ignore_projects': ['goanna'],
'ignore_projects': ['gecko'],
'ignore_groups': ['darwin'],
'manifest_file': 'emulator.xml',
},
'flame-kk': {
'ignore_projects': ['goanna'],
'ignore_projects': ['gecko'],
'ignore_groups': ['darwin'],
},
'nexus-4': {
'ignore_projects': ['goanna'],
'ignore_projects': ['gecko'],
'ignore_groups': ['darwin'],
},
'nexus-5-l': {
'ignore_projects': ['goanna'],
'ignore_projects': ['gecko'],
'ignore_groups': ['darwin'],
},
'aries': {
'ignore_projects': ['goanna'],
'ignore_projects': ['gecko'],
'ignore_groups': ['darwin'],
'manifest_file': 'shinano.xml',
},
@@ -6,9 +6,9 @@ config = {
"hgtool.py": ["/usr/local/bin/hgtool.py"],
"gittool.py": ["/usr/local/bin/gittool.py"],
},
'goanna_pull_url': 'https://hg.mozilla.org/releases/mozilla-b2g32_v2_0',
'goanna_push_url': 'ssh://hg.mozilla.org/releases/mozilla-b2g32_v2_0',
'goanna_local_dir': 'mozilla-b2g32_v2_0',
'gecko_pull_url': 'https://hg.mozilla.org/releases/mozilla-b2g32_v2_0',
'gecko_push_url': 'ssh://hg.mozilla.org/releases/mozilla-b2g32_v2_0',
'gecko_local_dir': 'mozilla-b2g32_v2_0',
'git_ref_cache': '/builds/b2g_bumper/git_ref_cache.json',
'manifests_repo': 'https://git.mozilla.org/b2g/b2g-manifest.git',
@@ -31,31 +31,31 @@ config = {
'devices': {
'emulator-kk': {
'ignore_projects': ['goanna'],
'ignore_projects': ['gecko'],
'ignore_groups': ['darwin'],
},
'emulator-jb': {
'ignore_projects': ['goanna'],
'ignore_projects': ['gecko'],
'ignore_groups': ['darwin'],
},
'emulator-ics': {
'ignore_projects': ['goanna'],
'ignore_projects': ['gecko'],
'ignore_groups': ['darwin'],
'manifest_file': 'emulator.xml',
},
# Equivalent to emulator-ics - see bug 916134
# Remove once the above bug resolved
'emulator': {
'ignore_projects': ['goanna'],
'ignore_projects': ['gecko'],
'ignore_groups': ['darwin'],
'manifest_file': 'emulator.xml',
},
'flame-kk': {
'ignore_projects': ['goanna'],
'ignore_projects': ['gecko'],
'ignore_groups': ['darwin'],
},
'nexus-4': {
'ignore_projects': ['goanna'],
'ignore_projects': ['gecko'],
'ignore_groups': ['darwin'],
},
},
+10 -10
View File
@@ -6,9 +6,9 @@ config = {
"hgtool.py": ["/usr/local/bin/hgtool.py"],
"gittool.py": ["/usr/local/bin/gittool.py"],
},
'goanna_pull_url': 'https://hg.mozilla.org/releases/mozilla-b2g34_v2_1/',
'goanna_push_url': 'ssh://hg.mozilla.org/releases/mozilla-b2g34_v2_1/',
'goanna_local_dir': 'mozilla-b2g34_v2_1',
'gecko_pull_url': 'https://hg.mozilla.org/releases/mozilla-b2g34_v2_1/',
'gecko_push_url': 'ssh://hg.mozilla.org/releases/mozilla-b2g34_v2_1/',
'gecko_local_dir': 'mozilla-b2g34_v2_1',
'git_ref_cache': '/builds/b2g_bumper/git_ref_cache.json',
'manifests_repo': 'https://git.mozilla.org/b2g/b2g-manifest.git',
@@ -31,35 +31,35 @@ config = {
'devices': {
'dolphin': {
'ignore_projects': ['goanna'],
'ignore_projects': ['gecko'],
'ignore_groups': ['darwin'],
},
'emulator-kk': {
'ignore_projects': ['goanna'],
'ignore_projects': ['gecko'],
'ignore_groups': ['darwin'],
},
'emulator-jb': {
'ignore_projects': ['goanna'],
'ignore_projects': ['gecko'],
'ignore_groups': ['darwin'],
},
'emulator-ics': {
'ignore_projects': ['goanna'],
'ignore_projects': ['gecko'],
'ignore_groups': ['darwin'],
'manifest_file': 'emulator.xml',
},
# Equivalent to emulator-ics - see bug 916134
# Remove once the above bug resolved
'emulator': {
'ignore_projects': ['goanna'],
'ignore_projects': ['gecko'],
'ignore_groups': ['darwin'],
'manifest_file': 'emulator.xml',
},
'flame-kk': {
'ignore_projects': ['goanna'],
'ignore_projects': ['gecko'],
'ignore_groups': ['darwin'],
},
'nexus-4': {
'ignore_projects': ['goanna'],
'ignore_projects': ['gecko'],
'ignore_groups': ['darwin'],
},
},
+11 -11
View File
@@ -6,9 +6,9 @@ config = {
"hgtool.py": ["/usr/local/bin/hgtool.py"],
"gittool.py": ["/usr/local/bin/gittool.py"],
},
'goanna_pull_url': 'https://hg.mozilla.org/releases/mozilla-b2g34_v2_1s/',
'goanna_push_url': 'ssh://hg.mozilla.org/releases/mozilla-b2g34_v2_1s/',
'goanna_local_dir': 'mozilla-b2g34_v2_1s',
'gecko_pull_url': 'https://hg.mozilla.org/releases/mozilla-b2g34_v2_1s/',
'gecko_push_url': 'ssh://hg.mozilla.org/releases/mozilla-b2g34_v2_1s/',
'gecko_local_dir': 'mozilla-b2g34_v2_1s',
'git_ref_cache': '/builds/b2g_bumper/git_ref_cache.json',
'manifests_repo': 'https://git.mozilla.org/b2g/b2g-manifest.git',
@@ -31,39 +31,39 @@ config = {
'devices': {
'dolphin': {
'ignore_projects': ['goanna'],
'ignore_projects': ['gecko'],
'ignore_groups': ['darwin'],
},
'dolphin-512': {
'ignore_projects': ['goanna'],
'ignore_projects': ['gecko'],
'ignore_groups': ['darwin'],
},
'emulator-kk': {
'ignore_projects': ['goanna'],
'ignore_projects': ['gecko'],
'ignore_groups': ['darwin'],
},
'emulator-jb': {
'ignore_projects': ['goanna'],
'ignore_projects': ['gecko'],
'ignore_groups': ['darwin'],
},
'emulator-ics': {
'ignore_projects': ['goanna'],
'ignore_projects': ['gecko'],
'ignore_groups': ['darwin'],
'manifest_file': 'emulator.xml',
},
# Equivalent to emulator-ics - see bug 916134
# Remove once the above bug resolved
'emulator': {
'ignore_projects': ['goanna'],
'ignore_projects': ['gecko'],
'ignore_groups': ['darwin'],
'manifest_file': 'emulator.xml',
},
'flame-kk': {
'ignore_projects': ['goanna'],
'ignore_projects': ['gecko'],
'ignore_groups': ['darwin'],
},
'nexus-4': {
'ignore_projects': ['goanna'],
'ignore_projects': ['gecko'],
'ignore_groups': ['darwin'],
},
},
+12 -12
View File
@@ -6,9 +6,9 @@ config = {
"hgtool.py": ["/usr/local/bin/hgtool.py"],
"gittool.py": ["/usr/local/bin/gittool.py"],
},
'goanna_pull_url': 'https://hg.mozilla.org/releases/mozilla-b2g37_v2_2/',
'goanna_push_url': 'ssh://hg.mozilla.org/releases/mozilla-b2g37_v2_2/',
'goanna_local_dir': 'mozilla-b2g37_v2_2',
'gecko_pull_url': 'https://hg.mozilla.org/releases/mozilla-b2g37_v2_2/',
'gecko_push_url': 'ssh://hg.mozilla.org/releases/mozilla-b2g37_v2_2/',
'gecko_local_dir': 'mozilla-b2g37_v2_2',
'git_ref_cache': '/builds/b2g_bumper/git_ref_cache.json',
'manifests_repo': 'https://git.mozilla.org/b2g/b2g-manifest.git',
@@ -31,43 +31,43 @@ config = {
'devices': {
'dolphin': {
'ignore_projects': ['goanna'],
'ignore_projects': ['gecko'],
'ignore_groups': ['darwin'],
},
'emulator-l': {
'ignore_projects': ['goanna'],
'ignore_projects': ['gecko'],
'ignore_groups': ['darwin'],
},
'emulator-kk': {
'ignore_projects': ['goanna'],
'ignore_projects': ['gecko'],
'ignore_groups': ['darwin'],
},
'emulator-jb': {
'ignore_projects': ['goanna'],
'ignore_projects': ['gecko'],
'ignore_groups': ['darwin'],
},
'emulator-ics': {
'ignore_projects': ['goanna'],
'ignore_projects': ['gecko'],
'ignore_groups': ['darwin'],
'manifest_file': 'emulator.xml',
},
# Equivalent to emulator-ics - see bug 916134
# Remove once the above bug resolved
'emulator': {
'ignore_projects': ['goanna'],
'ignore_projects': ['gecko'],
'ignore_groups': ['darwin'],
'manifest_file': 'emulator.xml',
},
'flame-kk': {
'ignore_projects': ['goanna'],
'ignore_projects': ['gecko'],
'ignore_groups': ['darwin'],
},
'nexus-4': {
'ignore_projects': ['goanna'],
'ignore_projects': ['gecko'],
'ignore_groups': ['darwin'],
},
'nexus-5-l': {
'ignore_projects': ['goanna'],
'ignore_projects': ['gecko'],
'ignore_groups': ['darwin'],
},
},
+26 -26
View File
@@ -1,4 +1,4 @@
# This is for goanna-dev, which is a developer-oriented repo with
# This is for gecko-dev, which is a developer-oriented repo with
# release-train and inbound branches.
import os
@@ -79,7 +79,7 @@ config = {
},
"mapper": {
"url": "https://api.pub.build.mozilla.org/mapper",
"project": "goanna-dev"
"project": "gecko-dev"
},
}, {
"repo": "https://hg.mozilla.org/releases/mozilla-b2g26_v1_2",
@@ -112,7 +112,7 @@ config = {
},
"mapper": {
"url": "https://api.pub.build.mozilla.org/mapper",
"project": "goanna-dev"
"project": "gecko-dev"
},
}, {
"repo": "https://hg.mozilla.org/releases/mozilla-b2g26_v1_2f",
@@ -145,7 +145,7 @@ config = {
},
"mapper": {
"url": "https://api.pub.build.mozilla.org/mapper",
"project": "goanna-dev"
"project": "gecko-dev"
},
}, {
"repo": "https://hg.mozilla.org/releases/mozilla-b2g28_v1_3",
@@ -178,7 +178,7 @@ config = {
},
"mapper": {
"url": "https://api.pub.build.mozilla.org/mapper",
"project": "goanna-dev"
"project": "gecko-dev"
},
}, {
"repo": "https://hg.mozilla.org/releases/mozilla-b2g28_v1_3t",
@@ -211,7 +211,7 @@ config = {
},
"mapper": {
"url": "https://api.pub.build.mozilla.org/mapper",
"project": "goanna-dev"
"project": "gecko-dev"
},
}, {
"repo": "https://hg.mozilla.org/releases/mozilla-b2g30_v1_4",
@@ -244,7 +244,7 @@ config = {
},
"mapper": {
"url": "https://api.pub.build.mozilla.org/mapper",
"project": "goanna-dev"
"project": "gecko-dev"
},
}, {
"repo": "https://hg.mozilla.org/releases/mozilla-b2g34_v2_1",
@@ -272,7 +272,7 @@ config = {
},
"mapper": {
"url": "https://api.pub.build.mozilla.org/mapper",
"project": "goanna-dev"
"project": "gecko-dev"
},
}, {
"repo": "https://hg.mozilla.org/releases/mozilla-b2g37_v2_2",
@@ -300,7 +300,7 @@ config = {
},
"mapper": {
"url": "https://api.pub.build.mozilla.org/mapper",
"project": "goanna-dev"
"project": "gecko-dev"
},
}, {
"repo": "https://hg.mozilla.org/releases/mozilla-b2g37_v2_2r",
@@ -328,7 +328,7 @@ config = {
},
"mapper": {
"url": "https://api.pub.build.mozilla.org/mapper",
"project": "goanna-dev"
"project": "gecko-dev"
},
}, {
"repo": "https://hg.mozilla.org/releases/mozilla-b2g32_v2_0",
@@ -356,7 +356,7 @@ config = {
},
"mapper": {
"url": "https://api.pub.build.mozilla.org/mapper",
"project": "goanna-dev"
"project": "gecko-dev"
},
}, {
"repo": "https://hg.mozilla.org/releases/mozilla-b2g32_v2_0m",
@@ -384,7 +384,7 @@ config = {
},
"mapper": {
"url": "https://api.pub.build.mozilla.org/mapper",
"project": "goanna-dev"
"project": "gecko-dev"
},
}, {
"repo": "https://hg.mozilla.org/releases/mozilla-b2g18_v1_1_0_hd",
@@ -412,7 +412,7 @@ config = {
},
"mapper": {
"url": "https://api.pub.build.mozilla.org/mapper",
"project": "goanna-dev"
"project": "gecko-dev"
},
}, {
"repo": "https://hg.mozilla.org/releases/mozilla-b2g18_v1_0_1",
@@ -440,7 +440,7 @@ config = {
},
"mapper": {
"url": "https://api.pub.build.mozilla.org/mapper",
"project": "goanna-dev"
"project": "gecko-dev"
},
}, {
"repo": "https://hg.mozilla.org/releases/mozilla-b2g18_v1_0_0",
@@ -468,7 +468,7 @@ config = {
},
"mapper": {
"url": "https://api.pub.build.mozilla.org/mapper",
"project": "goanna-dev"
"project": "gecko-dev"
},
}, {
"repo": "https://hg.mozilla.org/releases/mozilla-aurora",
@@ -496,7 +496,7 @@ config = {
},
"mapper": {
"url": "https://api.pub.build.mozilla.org/mapper",
"project": "goanna-dev"
"project": "gecko-dev"
},
}, {
"repo": "https://hg.mozilla.org/releases/mozilla-beta",
@@ -528,7 +528,7 @@ config = {
},
"mapper": {
"url": "https://api.pub.build.mozilla.org/mapper",
"project": "goanna-dev"
"project": "gecko-dev"
},
}, {
"repo": "https://hg.mozilla.org/releases/mozilla-release",
@@ -560,7 +560,7 @@ config = {
},
"mapper": {
"url": "https://api.pub.build.mozilla.org/mapper",
"project": "goanna-dev"
"project": "gecko-dev"
},
}, {
"repo": "https://hg.mozilla.org/releases/mozilla-esr17",
@@ -588,7 +588,7 @@ config = {
},
"mapper": {
"url": "https://api.pub.build.mozilla.org/mapper",
"project": "goanna-dev"
"project": "gecko-dev"
},
}, {
"repo": "https://hg.mozilla.org/releases/mozilla-esr31",
@@ -619,7 +619,7 @@ config = {
},
"mapper": {
"url": "https://api.pub.build.mozilla.org/mapper",
"project": "goanna-dev"
"project": "gecko-dev"
},
}, {
"repo": "https://hg.mozilla.org/releases/mozilla-esr38",
@@ -650,7 +650,7 @@ config = {
},
"mapper": {
"url": "https://api.pub.build.mozilla.org/mapper",
"project": "goanna-dev"
"project": "gecko-dev"
},
}, {
"repo": "https://hg.mozilla.org/integration/mozilla-inbound",
@@ -674,7 +674,7 @@ config = {
"tag_config": {},
"mapper": {
"url": "https://api.pub.build.mozilla.org/mapper",
"project": "goanna-dev"
"project": "gecko-dev"
},
}, {
"repo": "https://hg.mozilla.org/integration/b2g-inbound",
@@ -698,7 +698,7 @@ config = {
"tag_config": {},
"mapper": {
"url": "https://api.pub.build.mozilla.org/mapper",
"project": "goanna-dev"
"project": "gecko-dev"
},
}, {
"repo": "https://hg.mozilla.org/integration/fx-team",
@@ -722,17 +722,17 @@ config = {
"tag_config": {},
"mapper": {
"url": "https://api.pub.build.mozilla.org/mapper",
"project": "goanna-dev"
"project": "gecko-dev"
},
}],
"remote_targets": {
"github-beagle": {
"repo": "git@github.com:mozilla/goanna-dev.git",
"repo": "git@github.com:mozilla/gecko-dev.git",
"ssh_key": "~/.ssh/releng-github-id_rsa",
"vcs": "git",
},
"gitmo-beagle": {
"repo": "gitolite3@git.mozilla.org:integration/goanna-dev.git",
"repo": "gitolite3@git.mozilla.org:integration/gecko-dev.git",
"ssh_key": "~/.ssh/vcs-sync_rsa",
"vcs": "git",
},
@@ -1,4 +1,4 @@
# This is for goanna.git, which is a partner-oriented repo with
# This is for gecko.git, which is a partner-oriented repo with
# B2G release branches + tags.
import os
@@ -14,24 +14,24 @@ CVS_MANIFEST = """[{
"""
config = {
"log_name": "goanna-git",
"log_name": "gecko-git",
"log_max_rotate": 99,
"repos": [{
"repo": "https://hg.mozilla.org/users/hwine_mozilla.com/repo-sync-tools",
"vcs": "hg",
}],
"job_name": "goanna-git",
"conversion_dir": "goanna-git",
"job_name": "gecko-git",
"conversion_dir": "gecko-git",
"initial_repo": {
"repo": "https://hg.mozilla.org/mozilla-central",
"revision": "default",
"repo_name": "mozilla-central",
"targets": [{
"target_dest": "goanna-git/.git",
"target_dest": "gecko-git/.git",
"vcs": "git",
"test_push": True,
}, {
"target_dest": "github-goanna-git",
"target_dest": "github-gecko-git",
}],
"vcs": "hg",
"branch_config": {
@@ -51,11 +51,11 @@ config = {
"revision": "default",
"repo_name": "mozilla-b2g37_v2_2",
"targets": [{
"target_dest": "goanna-git/.git",
"target_dest": "gecko-git/.git",
"vcs": "git",
"test_push": True,
}, {
"target_dest": "github-goanna-git",
"target_dest": "github-gecko-git",
}],
"vcs": "hg",
"branch_config": {
@@ -73,11 +73,11 @@ config = {
"revision": "default",
"repo_name": "mozilla-b2g34_v2_1",
"targets": [{
"target_dest": "goanna-git/.git",
"target_dest": "gecko-git/.git",
"vcs": "git",
"test_push": True,
}, {
"target_dest": "github-goanna-git",
"target_dest": "github-gecko-git",
}],
"vcs": "hg",
"branch_config": {
@@ -95,11 +95,11 @@ config = {
"revision": "default",
"repo_name": "mozilla-b2g32_v2_0",
"targets": [{
"target_dest": "goanna-git/.git",
"target_dest": "gecko-git/.git",
"vcs": "git",
"test_push": True,
}, {
"target_dest": "github-goanna-git",
"target_dest": "github-gecko-git",
}],
"vcs": "hg",
"branch_config": {
@@ -117,11 +117,11 @@ config = {
"revision": "default",
"repo_name": "mozilla-b2g30_v1_4",
"targets": [{
"target_dest": "goanna-git/.git",
"target_dest": "gecko-git/.git",
"vcs": "git",
"test_push": True,
}, {
"target_dest": "github-goanna-git",
"target_dest": "github-gecko-git",
}],
"vcs": "hg",
"branch_config": {
@@ -139,11 +139,11 @@ config = {
"revision": "default",
"repo_name": "mozilla-b2g28_v1_3",
"targets": [{
"target_dest": "goanna-git/.git",
"target_dest": "gecko-git/.git",
"vcs": "git",
"test_push": True,
}, {
"target_dest": "github-goanna-git",
"target_dest": "github-gecko-git",
}],
"vcs": "hg",
"branch_config": {
@@ -161,11 +161,11 @@ config = {
"revision": "default",
"repo_name": "mozilla-b2g26_v1_2",
"targets": [{
"target_dest": "goanna-git/.git",
"target_dest": "gecko-git/.git",
"vcs": "git",
"test_push": True,
}, {
"target_dest": "github-goanna-git",
"target_dest": "github-gecko-git",
}],
"vcs": "hg",
"branch_config": {
@@ -183,11 +183,11 @@ config = {
"revision": "default",
"repo_name": "mozilla-b2g26_v1_2f",
"targets": [{
"target_dest": "goanna-git/.git",
"target_dest": "gecko-git/.git",
"vcs": "git",
"test_push": True,
}, {
"target_dest": "github-goanna-git",
"target_dest": "github-gecko-git",
}],
"vcs": "hg",
"branch_config": {
@@ -205,11 +205,11 @@ config = {
"revision": "default",
"repo_name": "mozilla-b2g28_v1_3t",
"targets": [{
"target_dest": "goanna-git/.git",
"target_dest": "gecko-git/.git",
"vcs": "git",
"test_push": True,
}, {
"target_dest": "github-goanna-git",
"target_dest": "github-gecko-git",
}],
"vcs": "hg",
"branch_config": {
@@ -227,11 +227,11 @@ config = {
"revision": "default",
"repo_name": "mozilla-b2g30_v1_4",
"targets": [{
"target_dest": "goanna-git/.git",
"target_dest": "gecko-git/.git",
"vcs": "git",
"test_push": True,
}, {
"target_dest": "github-goanna-git",
"target_dest": "github-gecko-git",
}],
"vcs": "hg",
"branch_config": {
@@ -249,11 +249,11 @@ config = {
"revision": "default",
"repo_name": "mozilla-b2g18",
"targets": [{
"target_dest": "goanna-git/.git",
"target_dest": "gecko-git/.git",
"vcs": "git",
"test_push": True,
}, {
"target_dest": "github-goanna-git",
"target_dest": "github-gecko-git",
"tag_config": {
"tag_regexes": [
"^B2G_",
@@ -263,7 +263,7 @@ config = {
"vcs": "hg",
"branch_config": {
"branches": {
"default": "goanna-18",
"default": "gecko-18",
},
},
"tag_config": {
@@ -276,11 +276,11 @@ config = {
"revision": "default",
"repo_name": "mozilla-b2g18_v1_1_0_hd",
"targets": [{
"target_dest": "goanna-git/.git",
"target_dest": "gecko-git/.git",
"vcs": "git",
"test_push": True,
}, {
"target_dest": "github-goanna-git",
"target_dest": "github-gecko-git",
}],
"vcs": "hg",
"branch_config": {
@@ -298,11 +298,11 @@ config = {
"revision": "default",
"repo_name": "mozilla-b2g18_v1_0_1",
"targets": [{
"target_dest": "goanna-git/.git",
"target_dest": "gecko-git/.git",
"vcs": "git",
"test_push": True,
}, {
"target_dest": "github-goanna-git",
"target_dest": "github-gecko-git",
}],
"vcs": "hg",
"branch_config": {
@@ -320,11 +320,11 @@ config = {
"revision": "default",
"repo_name": "mozilla-b2g18_v1_0_0",
"targets": [{
"target_dest": "goanna-git/.git",
"target_dest": "gecko-git/.git",
"vcs": "git",
"test_push": True,
}, {
"target_dest": "github-goanna-git",
"target_dest": "github-gecko-git",
}],
"vcs": "hg",
"branch_config": {
@@ -339,8 +339,8 @@ config = {
},
}],
"remote_targets": {
"github-goanna-git": {
"repo": "git@github.com:escapewindow/test-goanna-git.git",
"github-gecko-git": {
"repo": "git@github.com:escapewindow/test-gecko-git.git",
"ssh_key": "~/.ssh/escapewindow_github_rsa",
"vcs": "git",
},
@@ -377,7 +377,7 @@ config = {
"ssh_key": "~/.ssh/id_rsa",
"ssh_user": "pmoore",
"remote_host": "github-sync2",
"remote_path": "/home/pmoore/upload/goanna-git-upload",
"remote_path": "/home/pmoore/upload/gecko-git-upload",
}],
"default_notify_from": "developer-services+%s@mozilla.org" % hostname,
+16 -16
View File
@@ -12,17 +12,17 @@ GECKO_CONFIG_TEMPLATE = {
'mozilla-release': {
'generate_git_notes': False, # we can change this when bug 1034725 is resolved
'mapper': {
'project': 'gitmo-goanna-l10n',
'project': 'gitmo-gecko-l10n',
'url': 'https://api.pub.build.mozilla.org/mapper'
},
'locales_file_url': 'https://hg.mozilla.org/releases/mozilla-release/raw-file/default/b2g/locales/all-locales',
'hg_url': 'https://hg.mozilla.org/releases/l10n/mozilla-release/%(locale)s',
'targets': [{
'target_dest': 'releases-l10n-%(locale)s-goanna/.git',
'target_dest': 'releases-l10n-%(locale)s-gecko/.git',
'test_push': True,
'vcs': 'git'
}, {
'target_dest': 'gitmo-goanna-l10n-%(locale)s',
'target_dest': 'gitmo-gecko-l10n-%(locale)s',
}],
'tag_config': {
'tag_regexes': [
@@ -34,17 +34,17 @@ GECKO_CONFIG_TEMPLATE = {
'mozilla-beta': {
'generate_git_notes': False, # we can change this when bug 1034725 is resolved
'mapper': {
'project': 'gitmo-goanna-l10n',
'project': 'gitmo-gecko-l10n',
'url': 'https://api.pub.build.mozilla.org/mapper'
},
'locales_file_url': 'https://hg.mozilla.org/releases/mozilla-beta/raw-file/default/b2g/locales/all-locales',
'hg_url': 'https://hg.mozilla.org/releases/l10n/mozilla-beta/%(locale)s',
'targets': [{
'target_dest': 'releases-l10n-%(locale)s-goanna/.git',
'target_dest': 'releases-l10n-%(locale)s-gecko/.git',
'test_push': True,
'vcs': 'git'
}, {
'target_dest': 'gitmo-goanna-l10n-%(locale)s',
'target_dest': 'gitmo-gecko-l10n-%(locale)s',
}],
'tag_config': {
'tag_regexes': [
@@ -56,17 +56,17 @@ GECKO_CONFIG_TEMPLATE = {
'mozilla-aurora': {
'generate_git_notes': False, # we can change this when bug 1034725 is resolved
'mapper': {
'project': 'gitmo-goanna-l10n',
'project': 'gitmo-gecko-l10n',
'url': 'https://api.pub.build.mozilla.org/mapper'
},
'locales_file_url': 'https://hg.mozilla.org/releases/mozilla-aurora/raw-file/default/b2g/locales/all-locales',
'hg_url': 'https://hg.mozilla.org/releases/l10n/mozilla-aurora/%(locale)s',
'targets': [{
'target_dest': 'releases-l10n-%(locale)s-goanna/.git',
'target_dest': 'releases-l10n-%(locale)s-gecko/.git',
'test_push': True,
'vcs': 'git'
}, {
'target_dest': 'gitmo-goanna-l10n-%(locale)s',
'target_dest': 'gitmo-gecko-l10n-%(locale)s',
}],
'tag_config': {
'tag_regexes': [
@@ -78,17 +78,17 @@ GECKO_CONFIG_TEMPLATE = {
'mozilla-central': {
'generate_git_notes': False, # we can change this when bug 1034725 is resolved
'mapper': {
'project': 'gitmo-goanna-l10n',
'project': 'gitmo-gecko-l10n',
'url': 'https://api.pub.build.mozilla.org/mapper'
},
'locales_file_url': 'https://hg.mozilla.org/mozilla-central/raw-file/default/b2g/locales/all-locales',
'hg_url': 'https://hg.mozilla.org/l10n-central/%(locale)s',
'targets': [{
'target_dest': 'releases-l10n-%(locale)s-goanna/.git',
'target_dest': 'releases-l10n-%(locale)s-gecko/.git',
'test_push': True,
'vcs': 'git'
}, {
'target_dest': 'gitmo-goanna-l10n-%(locale)s',
'target_dest': 'gitmo-gecko-l10n-%(locale)s',
}],
'tag_config': {
'tag_regexes': [
@@ -98,7 +98,7 @@ GECKO_CONFIG_TEMPLATE = {
},
}
# Build goanna_config
# Build gecko_config
GECKO_CONFIG = {}
for version, branch in GECKO_BRANCHES.items():
GECKO_CONFIG[branch] = deepcopy(GECKO_CONFIG_TEMPLATE[branch])
@@ -114,7 +114,7 @@ config = {
"conversion_type": "b2g-l10n",
"combined_mapfile": "l10n-mapfile",
"l10n_config": {
"goanna_config": GECKO_CONFIG,
"gecko_config": GECKO_CONFIG,
"gaia_config": {
'v2_1': {
'generate_git_notes': False, # we can change this when bug 1034725 is resolved
@@ -252,8 +252,8 @@ config = {
},
"remote_targets": {
"gitmo-goanna-l10n-%(locale)s": {
"repo": 'gitolite3@git.mozilla.org:releases/l10n/%(locale)s/goanna.git',
"gitmo-gecko-l10n-%(locale)s": {
"repo": 'gitolite3@git.mozilla.org:releases/l10n/%(locale)s/gecko.git',
"ssh_key": "~/.ssh/vcs-sync_rsa",
"vcs": "git",
},
@@ -1,4 +1,4 @@
# This is for goanna-projects, which is a low-SLA developer-oriented repo
# This is for gecko-projects, which is a low-SLA developer-oriented repo
# with mozilla-central based project branches.
import os
@@ -66,7 +66,7 @@ config = {
"conversion_repos": CONVERSION_REPOS,
"remote_targets": {
"github-project-branches": {
"repo": "git@github.com:mozilla/goanna-projects.git",
"repo": "git@github.com:mozilla/gecko-projects.git",
"ssh_key": "~/.ssh/releng-github-id_rsa",
"vcs": "git",
"force_push": True,
@@ -100,7 +100,7 @@ config = {
],
"pip_index": False,
"combined_mapfile": "combined_goanna_mapfile",
"combined_mapfile": "combined_gecko_mapfile",
"default_notify_from": "developer-services+%s@mozilla.org" % hostname,
"notify_config": [{
@@ -50,7 +50,7 @@ class B2GBuildBaseScript(BuildbotMixin, MockMixin,
default_config_options = [
[["--repo"], {
"dest": "repo",
"help": "which goanna repo to check out",
"help": "which gecko repo to check out",
}],
[["--target"], {
"dest": "target",
@@ -60,9 +60,9 @@ class B2GBuildBaseScript(BuildbotMixin, MockMixin,
"dest": "b2g_config_dir",
"help": "specify which in-tree config directory to use, relative to b2g/config/ (defaults to --target)",
}],
[["--goanna-config"], {
"dest": "goanna_config",
"help": "specfiy alternate location for goanna config",
[["--gecko-config"], {
"dest": "gecko_config",
"help": "specfiy alternate location for gecko config",
}],
[["--disable-ccache"], {
"dest": "ccache",
@@ -71,11 +71,11 @@ class B2GBuildBaseScript(BuildbotMixin, MockMixin,
}],
[["--variant"], {
"dest": "variant",
"help": "b2g build variant. overrides goanna config's value",
"help": "b2g build variant. overrides gecko config's value",
}],
[["--checkout-revision"], {
"dest": "checkout_revision",
"help": "checkout a specific goanna revision.",
"help": "checkout a specific gecko revision.",
}],
[["--repotool-repo"], {
"dest": "repo_repo",
@@ -88,7 +88,7 @@ class B2GBuildBaseScript(BuildbotMixin, MockMixin,
[["--disable-mock"], {
"dest": "disable_mock",
"action": "store_true",
"help": "do not run under mock despite what goanna-config says",
"help": "do not run under mock despite what gecko-config says",
}],
]
@@ -117,7 +117,7 @@ class B2GBuildBaseScript(BuildbotMixin, MockMixin,
all_actions=all_actions,
default_actions=default_actions)
self.goanna_config = None
self.gecko_config = None
def _pre_config_lock(self, rw_config):
super(B2GBuildBaseScript, self)._pre_config_lock(rw_config)
@@ -155,7 +155,7 @@ class B2GBuildBaseScript(BuildbotMixin, MockMixin,
abs_dirs = BaseScript.query_abs_dirs(self)
dirs = {
'goanna_src': os.path.join(abs_dirs['abs_work_dir'], 'goanna'),
'gecko_src': os.path.join(abs_dirs['abs_work_dir'], 'gecko'),
'work_dir': abs_dirs['abs_work_dir'],
'b2g_src': abs_dirs['abs_work_dir'],
'abs_tools_dir': os.path.join(abs_dirs['abs_work_dir'], 'build-tools'),
@@ -178,7 +178,7 @@ class B2GBuildBaseScript(BuildbotMixin, MockMixin,
revision = self.buildbot_config['sourcestamp']['revision']
else:
dirs = self.query_abs_dirs()
repo = dirs['goanna_src']
repo = dirs['gecko_src']
repo_type = detect_local(repo)
# Look at what we have checked out
if repo_type == 'hg':
@@ -195,8 +195,8 @@ class B2GBuildBaseScript(BuildbotMixin, MockMixin,
return None
return revision[0:12] if revision else None
def query_goanna_config_path(self):
conf_file = self.config.get('goanna_config')
def query_gecko_config_path(self):
conf_file = self.config.get('gecko_config')
if conf_file is None:
conf_file = os.path.join(
'b2g', 'config',
@@ -205,10 +205,10 @@ class B2GBuildBaseScript(BuildbotMixin, MockMixin,
)
return conf_file
def query_remote_goanna_config(self):
def query_remote_gecko_config(self):
repo = self.query_repo()
if os.path.exists(repo):
config_path = self.query_goanna_config_path()
config_path = self.query_gecko_config_path()
config_path = "{repo}/{config_path}".format(repo=repo, config_path=config_path)
return json.load(open(config_path, "r"))
elif detect_hg(repo):
@@ -216,7 +216,7 @@ class B2GBuildBaseScript(BuildbotMixin, MockMixin,
if rev is None:
rev = 'default'
config_path = self.query_goanna_config_path()
config_path = self.query_gecko_config_path()
# Handle local files vs. in-repo files
url = self.query_hgweb_url(repo, rev, config_path)
return self.retry(self.load_json_from_url, args=(url,))
@@ -225,53 +225,53 @@ class B2GBuildBaseScript(BuildbotMixin, MockMixin,
if rev is None:
rev = 'HEAD'
config_path = self.query_goanna_config_path()
config_path = self.query_gecko_config_path()
url = self.query_gitweb_url(repo, rev, config_path)
return self.retry(self.load_json_from_url, args=(url,))
def load_goanna_config(self):
if self.goanna_config:
return self.goanna_config
def load_gecko_config(self):
if self.gecko_config:
return self.gecko_config
goanna_config = self._load_goanna_config()
gecko_config = self._load_gecko_config()
# Set up mock immediately so any later run_command_m doesn't end up
# calling setup_mock with the wrong config.
self.setup_mock(goanna_config['mock_target'],
goanna_config['mock_packages'],
goanna_config.get('mock_files'))
self.setup_mock(gecko_config['mock_target'],
gecko_config['mock_packages'],
gecko_config.get('mock_files'))
return goanna_config
return gecko_config
def _load_goanna_config(self):
if 'goanna_config' not in self.config:
def _load_gecko_config(self):
if 'gecko_config' not in self.config:
# Grab from the remote if we're not overriding on the cmdline
self.goanna_config = self.query_remote_goanna_config()
return self.goanna_config
self.gecko_config = self.query_remote_gecko_config()
return self.gecko_config
dirs = self.query_abs_dirs()
conf_file = self.query_goanna_config_path()
conf_file = self.query_gecko_config_path()
if not os.path.isabs(conf_file):
conf_file = os.path.abspath(os.path.join(dirs['goanna_src'], conf_file))
conf_file = os.path.abspath(os.path.join(dirs['gecko_src'], conf_file))
if os.path.exists(conf_file):
self.info("goanna_config file: %s" % conf_file)
self.info("gecko_config file: %s" % conf_file)
self.run_command(['cat', conf_file])
self.goanna_config = json.load(open(conf_file))
return self.goanna_config
self.gecko_config = json.load(open(conf_file))
return self.gecko_config
# The file doesn't exist; let's try loading it remotely
self.goanna_config = self.query_remote_goanna_config()
return self.goanna_config
self.gecko_config = self.query_remote_gecko_config()
return self.gecko_config
def query_build_env(self):
"""Retrieves the environment for building"""
dirs = self.query_abs_dirs()
goanna_config = self.load_goanna_config()
gecko_config = self.load_gecko_config()
env = self.query_env()
for k, v in goanna_config.get('env', {}).items():
for k, v in gecko_config.get('env', {}).items():
v = v.format(workdir=dirs['abs_work_dir'],
srcdir=os.path.abspath(dirs['goanna_src']))
srcdir=os.path.abspath(dirs['gecko_src']))
env[k] = v
if self.config.get('env', {}).get('B2G_UPDATE_CHANNEL'):
v = str(self.config['env']['B2G_UPDATE_CHANNEL'])
@@ -364,10 +364,10 @@ class B2GBuildBaseScript(BuildbotMixin, MockMixin,
def checkout_sources(self):
dirs = self.query_abs_dirs()
goanna_config = self.load_goanna_config()
b2g_manifest_intree = goanna_config.get('b2g_manifest_intree')
gecko_config = self.load_gecko_config()
b2g_manifest_intree = gecko_config.get('b2g_manifest_intree')
if goanna_config.get('config_version') >= 2:
if gecko_config.get('config_version') >= 2:
repos = [
{'vcs': 'gittool', 'repo': 'https://git.mozilla.org/b2g/B2G.git', 'dest': dirs['work_dir']},
]
@@ -382,25 +382,25 @@ class B2GBuildBaseScript(BuildbotMixin, MockMixin,
# for now, just redo it.
self.checkout_tools()
# Now checkout goanna inside the build directory
self.checkout_goanna()
conf_dir = os.path.join(dirs['goanna_src'], os.path.dirname(self.query_goanna_config_path()))
# Now checkout gecko inside the build directory
self.checkout_gecko()
conf_dir = os.path.join(dirs['gecko_src'], os.path.dirname(self.query_gecko_config_path()))
manifest_filename = os.path.join(conf_dir, 'sources.xml')
self.info("Using manifest at %s" % manifest_filename)
have_goanna = True
have_gecko = True
else:
# Checkout B2G and b2g-manifests. We'll do goanna later
b2g_manifest_branch = goanna_config.get('b2g_manifest_branch', 'master')
# Checkout B2G and b2g-manifests. We'll do gecko later
b2g_manifest_branch = gecko_config.get('b2g_manifest_branch', 'master')
repos.append(
{'vcs': 'gittool',
'repo': 'https://git.mozilla.org/b2g/b2g-manifest.git',
'dest': os.path.join(dirs['work_dir'], 'b2g-manifest'),
'branch': b2g_manifest_branch},
)
manifest_filename = goanna_config.get('b2g_manifest', self.config['target'] + '.xml')
manifest_filename = gecko_config.get('b2g_manifest', self.config['target'] + '.xml')
manifest_filename = os.path.join(dirs['work_dir'], 'b2g-manifest', manifest_filename)
self.vcs_checkout_repos(repos)
have_goanna = False
have_gecko = False
manifest = load_manifest(manifest_filename)
@@ -409,10 +409,10 @@ class B2GBuildBaseScript(BuildbotMixin, MockMixin,
mapping_func = functools.partial(map_remote, mappings=self.config['repo_remote_mappings'])
rewrite_remotes(manifest, mapping_func)
# Remove goanna, since we'll be checking that out ourselves
goanna_node = remove_project(manifest, path='goanna')
if not goanna_node:
self.fatal("couldn't remove goanna from manifest")
# Remove gecko, since we'll be checking that out ourselves
gecko_node = remove_project(manifest, path='gecko')
if not gecko_node:
self.fatal("couldn't remove gecko from manifest")
# Write out our manifest locally
manifest_dir = os.path.join(dirs['work_dir'], 'tmp_manifest')
@@ -519,43 +519,43 @@ class B2GBuildBaseScript(BuildbotMixin, MockMixin,
self.set_buildbot_property("gaia_revision", gaia_rev, write_to_file=True)
self.info("TinderboxPrint: gaia_revlink: %s" % gaia_url)
# Now we can checkout goanna and other stuff
if not have_goanna:
self.checkout_goanna()
# Now we can checkout gecko and other stuff
if not have_gecko:
self.checkout_gecko()
return
# Old behaviour
self.checkout_goanna()
self.checkout_gecko()
self.checkout_gaia()
def checkout_goanna(self):
def checkout_gecko(self):
'''
If you want a different revision of goanna to be used you can use the
If you want a different revision of gecko to be used you can use the
--checkout-revision flag. This is necessary for trees that are not
triggered by a goanna commit but by an external tree (like gaia).
triggered by a gecko commit but by an external tree (like gaia).
'''
dirs = self.query_abs_dirs()
# Make sure the parent directory to goanna exists so that 'hg share ...
# build/goanna' works
self.mkdir_p(os.path.dirname(dirs['goanna_src']))
# Make sure the parent directory to gecko exists so that 'hg share ...
# build/gecko' works
self.mkdir_p(os.path.dirname(dirs['gecko_src']))
repo = self.query_repo()
if "checkout_revision" in self.config:
rev = self.vcs_checkout(repo=repo, dest=dirs['goanna_src'], revision=self.config["checkout_revision"])
rev = self.vcs_checkout(repo=repo, dest=dirs['gecko_src'], revision=self.config["checkout_revision"])
# in this case, self.query_revision() will be returning the "revision" that triggered the job
# we know that it is not a goanna revision that did so
# we know that it is not a gecko revision that did so
self.set_buildbot_property('revision', self.query_revision(), write_to_file=True)
else:
# a goanna revision triggered this job; self.query_revision() will return it
rev = self.vcs_checkout(repo=repo, dest=dirs['goanna_src'], revision=self.query_revision())
# a gecko revision triggered this job; self.query_revision() will return it
rev = self.vcs_checkout(repo=repo, dest=dirs['gecko_src'], revision=self.query_revision())
self.set_buildbot_property('revision', rev, write_to_file=True)
self.set_buildbot_property('goanna_revision', rev, write_to_file=True)
self.set_buildbot_property('gecko_revision', rev, write_to_file=True)
def checkout_gaia(self):
dirs = self.query_abs_dirs()
goanna_config = self.load_goanna_config()
gaia_config = goanna_config.get('gaia')
gecko_config = self.load_gecko_config()
gaia_config = gecko_config.get('gaia')
if gaia_config:
dest = os.path.join(dirs['abs_work_dir'], 'gaia')
repo = gaia_config['repo']
+65 -65
View File
@@ -47,12 +47,12 @@ class B2GBuild(LocalesMixin, PurgeMixin,
'clobber',
'checkout-sources',
# Deprecated
'checkout-goanna',
'checkout-gecko',
'download-gonk',
'unpack-gonk',
'checkout-gaia',
'checkout-gaia-l10n',
'checkout-goanna-l10n',
'checkout-gecko-l10n',
'checkout-compare-locales',
# End deprecated
'get-blobs',
@@ -79,13 +79,13 @@ class B2GBuild(LocalesMixin, PurgeMixin,
"dest": "gaia_languages_file",
"help": "languages file for gaia multilocale profile",
}],
[["--goanna-languages-file"], {
[["--gecko-languages-file"], {
"dest": "locales_file",
"help": "languages file for goanna multilocale",
"help": "languages file for gecko multilocale",
}],
[["--goanna-l10n-base-dir"], {
[["--gecko-l10n-base-dir"], {
"dest": "l10n_dir",
"help": "dir to clone goanna l10n repos into, relative to the work directory",
"help": "dir to clone gecko l10n repos into, relative to the work directory",
}],
[["--merge-locales"], {
"dest": "merge_locales",
@@ -123,12 +123,12 @@ class B2GBuild(LocalesMixin, PurgeMixin,
default_config = {
'default_vcs': 'hgtool',
'ccache': True,
'locales_dir': 'goanna/b2g/locales',
'l10n_dir': 'goanna-l10n',
'locales_dir': 'gecko/b2g/locales',
'l10n_dir': 'gecko-l10n',
'ignore_locales': ['en-US', 'multi'],
'locales_file': 'goanna/b2g/locales/all-locales',
'mozilla_dir': 'build/goanna',
'objdir': 'build/objdir-goanna',
'locales_file': 'gecko/b2g/locales/all-locales',
'mozilla_dir': 'build/gecko',
'objdir': 'build/objdir-gecko',
'merge_locales': True,
'compare_locales_repo': 'https://hg.mozilla.org/build/compare-locales',
'compare_locales_rev': 'RELEASE_AUTOMATION',
@@ -157,14 +157,14 @@ class B2GBuild(LocalesMixin, PurgeMixin,
)
dirs = self.query_abs_dirs()
self.objdir = os.path.join(dirs['work_dir'], 'objdir-goanna')
self.objdir = os.path.join(dirs['work_dir'], 'objdir-gecko')
self.abs_dirs['abs_obj_dir'] = self.objdir
if self.config.get("update_type", "ota") == "fota":
self.make_updates_cmd = ['./build.sh', 'goanna-update-fota']
self.make_updates_cmd = ['./build.sh', 'gecko-update-fota']
self.extra_update_attrs = 'isOsUpdate="true"'
self.isOSUpdate = True
else:
self.make_updates_cmd = ['./build.sh', 'goanna-update-full']
self.make_updates_cmd = ['./build.sh', 'gecko-update-full']
self.extra_update_attrs = None
self.isOSUpdate = False
self.package_urls = {}
@@ -339,7 +339,7 @@ class B2GBuild(LocalesMixin, PurgeMixin,
def checkout_sources(self):
super(B2GBuild, self).checkout_sources()
self.checkout_goanna_l10n()
self.checkout_gecko_l10n()
self.checkout_gaia_l10n()
self.checkout_compare_locales()
@@ -349,23 +349,23 @@ class B2GBuild(LocalesMixin, PurgeMixin,
def download_blobs(self):
dirs = self.query_abs_dirs()
goanna_config = self.load_goanna_config()
if 'tooltool_manifest' in goanna_config:
# The manifest is relative to the goanna config
config_dir = os.path.join(dirs['goanna_src'], 'b2g', 'config',
gecko_config = self.load_gecko_config()
if 'tooltool_manifest' in gecko_config:
# The manifest is relative to the gecko config
config_dir = os.path.join(dirs['gecko_src'], 'b2g', 'config',
self.config.get('b2g_config_dir', self.config['target']))
manifest = os.path.abspath(os.path.join(config_dir, goanna_config['tooltool_manifest']))
manifest = os.path.abspath(os.path.join(config_dir, gecko_config['tooltool_manifest']))
self.tooltool_fetch(manifest=manifest,
bootstrap_cmd=goanna_config.get('tooltool_bootstrap_cmd'),
bootstrap_cmd=gecko_config.get('tooltool_bootstrap_cmd'),
output_dir=dirs['work_dir'])
def unpack_blobs(self):
dirs = self.query_abs_dirs()
tar = self.query_exe('tar', return_type="list")
goanna_config = self.load_goanna_config()
gecko_config = self.load_gecko_config()
extra_tarballs = self.config.get('additional_source_tarballs', [])
if 'additional_source_tarballs' in goanna_config:
extra_tarballs.extend(goanna_config['additional_source_tarballs'])
if 'additional_source_tarballs' in gecko_config:
extra_tarballs.extend(gecko_config['additional_source_tarballs'])
for tarball in extra_tarballs:
self.run_command(tar + ["xf", tarball], cwd=dirs['work_dir'],
@@ -376,9 +376,9 @@ class B2GBuild(LocalesMixin, PurgeMixin,
self.info('Skipping checkout_gaia_l10n because no gaia language file was specified.')
return
l10n_config = self.load_goanna_config().get('gaia', {}).get('l10n')
l10n_config = self.load_gecko_config().get('gaia', {}).get('l10n')
if not l10n_config:
self.fatal("gaia.l10n is required in the goanna config when --gaia-languages-file is specified.")
self.fatal("gaia.l10n is required in the gecko config when --gaia-languages-file is specified.")
abs_work_dir = self.query_abs_dirs()['abs_work_dir']
languages_file = os.path.join(abs_work_dir, 'gaia', self.config['gaia_languages_file'])
@@ -386,13 +386,13 @@ class B2GBuild(LocalesMixin, PurgeMixin,
self.pull_gaia_locale_source(l10n_config, parse_config_file(languages_file).keys(), l10n_base_dir)
def checkout_goanna_l10n(self):
hg_l10n_base = self.load_goanna_config().get('goanna_l10n_root')
def checkout_gecko_l10n(self):
hg_l10n_base = self.load_gecko_config().get('gecko_l10n_root')
self.pull_locale_source(hg_l10n_base=hg_l10n_base)
goanna_locales = self.query_locales()
# populate b2g/overrides, which isn't in goanna atm
gecko_locales = self.query_locales()
# populate b2g/overrides, which isn't in gecko atm
dirs = self.query_abs_dirs()
for locale in goanna_locales:
for locale in gecko_locales:
self.mkdir_p(os.path.join(dirs['abs_l10n_dir'], locale, 'b2g', 'chrome', 'overrides'))
self.copytree(os.path.join(dirs['abs_l10n_dir'], locale, 'mobile', 'overrides'),
os.path.join(dirs['abs_l10n_dir'], locale, 'b2g', 'chrome', 'overrides'),
@@ -407,14 +407,14 @@ class B2GBuild(LocalesMixin, PurgeMixin,
abs_rev = self.vcs_checkout(repo=repo, dest=dest, revision=rev, vcs=vcs)
self.set_buildbot_property('compare_locales_revision', abs_rev, write_to_file=True)
def query_do_translate_hg_to_git(self, goanna_config_key=None):
def query_do_translate_hg_to_git(self, gecko_config_key=None):
manifest_config = self.config.get('manifest', {})
branch = self.query_branch()
if self.query_is_nightly() and branch in manifest_config['branches'] and \
manifest_config.get('translate_hg_to_git'):
if goanna_config_key is None:
if gecko_config_key is None:
return True
if self.goanna_config.get(goanna_config_key):
if self.gecko_config.get(gecko_config_key):
return True
return False
@@ -432,8 +432,8 @@ class B2GBuild(LocalesMixin, PurgeMixin,
locale_manifest = []
if self.gaia_locale_revisions:
gaia_l10n_git_root = None
if self.query_do_translate_hg_to_git(goanna_config_key='gaia_l10n_git_root'):
gaia_l10n_git_root = self.goanna_config['gaia_l10n_git_root']
if self.query_do_translate_hg_to_git(gecko_config_key='gaia_l10n_git_root'):
gaia_l10n_git_root = self.gecko_config['gaia_l10n_git_root']
for locale in self.gaia_locale_revisions.keys():
repo = self.gaia_locale_revisions[locale]['repo']
revision = self.gaia_locale_revisions[locale]['revision']
@@ -450,24 +450,24 @@ class B2GBuild(LocalesMixin, PurgeMixin,
"gaia-l10n/%s" % locale,
)
)
if self.goanna_locale_revisions:
goanna_l10n_git_root = None
if self.query_do_translate_hg_to_git(goanna_config_key='goanna_l10n_git_root'):
goanna_l10n_git_root = self.goanna_config['goanna_l10n_git_root']
for locale in self.goanna_locale_revisions.keys():
repo = self.goanna_locale_revisions[locale]['repo']
revision = self.goanna_locale_revisions[locale]['revision']
locale_manifest.append(' <!-- Mercurial-Information: <project name="%s" path="goanna-l10n/%s" remote="hgmozillaorg" revision="%s"/> -->' %
if self.gecko_locale_revisions:
gecko_l10n_git_root = None
if self.query_do_translate_hg_to_git(gecko_config_key='gecko_l10n_git_root'):
gecko_l10n_git_root = self.gecko_config['gecko_l10n_git_root']
for locale in self.gecko_locale_revisions.keys():
repo = self.gecko_locale_revisions[locale]['repo']
revision = self.gecko_locale_revisions[locale]['revision']
locale_manifest.append(' <!-- Mercurial-Information: <project name="%s" path="gecko-l10n/%s" remote="hgmozillaorg" revision="%s"/> -->' %
(repo.replace('https://hg.mozilla.org/', ''), locale, revision))
if goanna_l10n_git_root:
if gecko_l10n_git_root:
locale_manifest.append(
self._generate_git_locale_manifest(
locale,
manifest_config['translate_base_url'],
goanna_l10n_git_root % {'locale': locale},
gecko_l10n_git_root % {'locale': locale},
revision,
git_base_url,
"goanna-l10n/%s" % locale,
"gecko-l10n/%s" % locale,
)
)
return locale_manifest
@@ -487,7 +487,7 @@ class B2GBuild(LocalesMixin, PurgeMixin,
manifest.appendChild(dom.createTextNode("\n "))
manifest.appendChild(dom.createComment('Mercurial-Information: <remote fetch="https://hg.mozilla.org/" name="hgmozillaorg">'))
manifest.appendChild(dom.createTextNode("\n "))
manifest.appendChild(dom.createComment('Mercurial-Information: <project name="%s" path="goanna" remote="hgmozillaorg" revision="%s"/>' %
manifest.appendChild(dom.createComment('Mercurial-Information: <project name="%s" path="gecko" remote="hgmozillaorg" revision="%s"/>' %
(self.query_repo(), self.query_revision())))
if self.query_do_translate_hg_to_git():
@@ -509,14 +509,14 @@ class B2GBuild(LocalesMixin, PurgeMixin,
manifest.appendChild(dom.createTextNode("\n "))
url = manifest_config['translate_base_url']
# increase timeout from 15m to 60m until bug 1044515 is resolved (attempts = 120)
goanna_git = self.query_mapper_git_revision(url, 'goanna',
gecko_git = self.query_mapper_git_revision(url, 'gecko',
self.query_revision(),
require_answer=self.config.get('require_git_rev',
True),
attempts=120)
project_name = "https://git.mozilla.org/releases/goanna.git".replace(git_base_url, '')
project_name = "https://git.mozilla.org/releases/gecko.git".replace(git_base_url, '')
# XXX This assumes that we have a mozillaorg remote
add_project(dom, name=project_name, path="goanna", remote="mozillaorg", revision=goanna_git)
add_project(dom, name=project_name, path="gecko", remote="mozillaorg", revision=gecko_git)
manifest.appendChild(dom.createTextNode("\n"))
self.write_to_file(sourcesfile, dom.toxml(), verbose=False)
@@ -538,8 +538,8 @@ class B2GBuild(LocalesMixin, PurgeMixin,
def build(self):
dirs = self.query_abs_dirs()
goanna_config = self.load_goanna_config()
build_targets = goanna_config.get('build_targets', [])
gecko_config = self.load_gecko_config()
build_targets = gecko_config.get('build_targets', [])
build_targets.extend(self.config.get("build_targets", []))
if not build_targets:
cmds = [self.generate_build_command()]
@@ -577,8 +577,8 @@ class B2GBuild(LocalesMixin, PurgeMixin,
def build_symbols(self):
dirs = self.query_abs_dirs()
goanna_config = self.load_goanna_config()
if goanna_config.get('config_version', 0) < 1:
gecko_config = self.load_gecko_config()
if gecko_config.get('config_version', 0) < 1:
self.info("Skipping build_symbols for old configuration")
return
@@ -608,7 +608,7 @@ class B2GBuild(LocalesMixin, PurgeMixin,
self.info("Not a nightly build. Skipping...")
return
dirs = self.query_abs_dirs()
self.load_goanna_config()
self.load_gecko_config()
cmd = self.make_updates_cmd[:]
env = self.query_build_env()
@@ -643,19 +643,19 @@ class B2GBuild(LocalesMixin, PurgeMixin,
dirs = self.query_abs_dirs()
# Copy stuff into build/upload directory
goanna_config = self.load_goanna_config()
gecko_config = self.load_gecko_config()
output_dir = self.query_device_outputdir()
# Zip up stuff
files = []
for item in goanna_config.get('zip_files', []):
for item in gecko_config.get('zip_files', []):
if isinstance(item, list):
pattern, target = item
else:
pattern, target = item, None
pattern = pattern.format(objdir=self.objdir, workdir=dirs['work_dir'], srcdir=dirs['goanna_src'])
pattern = pattern.format(objdir=self.objdir, workdir=dirs['work_dir'], srcdir=dirs['gecko_src'])
for f in glob.glob(pattern):
files.append((f, target))
@@ -687,9 +687,9 @@ class B2GBuild(LocalesMixin, PurgeMixin,
public_files = []
public_upload_patterns = []
public_upload_patterns = goanna_config.get('public_upload_files', [])
public_upload_patterns = gecko_config.get('public_upload_files', [])
# Copy gaia profile
if goanna_config.get('package_gaia', True):
if gecko_config.get('package_gaia', True):
zip_name = os.path.join(dirs['work_dir'], "gaia.zip")
self.info("creating %s" % zip_name)
cmd = ['zip', '-r', '-9', '-u', zip_name, 'gaia/profile']
@@ -704,9 +704,9 @@ class B2GBuild(LocalesMixin, PurgeMixin,
files.append(os.path.join(output_dir, 'system', 'build.prop'))
upload_patterns = goanna_config.get('upload_files', [])
upload_patterns = gecko_config.get('upload_files', [])
for base_pattern in upload_patterns + public_upload_patterns:
pattern = base_pattern.format(objdir=self.objdir, workdir=dirs['work_dir'], srcdir=dirs['goanna_src'])
pattern = base_pattern.format(objdir=self.objdir, workdir=dirs['work_dir'], srcdir=dirs['gecko_src'])
for f in glob.glob(pattern):
if base_pattern in upload_patterns:
files.append(f)
@@ -849,7 +849,7 @@ class B2GBuild(LocalesMixin, PurgeMixin,
dirs = self.query_abs_dirs()
c = self.config
target = self.load_goanna_config().get('upload_platform', self.config['target'])
target = self.load_gecko_config().get('upload_platform', self.config['target'])
if c.get("target_suffix"):
target += c["target_suffix"]
if self.config.get('debug_build'):
@@ -962,7 +962,7 @@ class B2GBuild(LocalesMixin, PurgeMixin,
upload_dir = dirs['abs_upload_dir'] + '-manifest'
# Delete the upload dir so we don't upload previous stuff by accident
self.rmtree(upload_dir)
target = self.load_goanna_config().get('upload_platform', self.config['target'])
target = self.load_gecko_config().get('upload_platform', self.config['target'])
if self.config['manifest'].get('target_suffix'):
target += self.config['manifest']['target_suffix']
buildid = self.query_buildid()
+17 -17
View File
@@ -6,12 +6,12 @@
# ***** END LICENSE BLOCK *****
""" b2g_bumper.py
Updates a goanna repo with up to date information from B2G repositories.
Updates a gecko repo with up to date information from B2G repositories.
In particular, it updates gaia.json which is used by B2G desktop builds,
and updates the XML manifests used by device builds.
This is to tie the external repository revisions to a visible goanna commit
This is to tie the external repository revisions to a visible gecko commit
which appears on TBPL, so sheriffs can blame the appropriate changes.
"""
@@ -58,7 +58,7 @@ class B2GBumper(VCSScript, MapperMixin):
'import-git-ref-cache',
'clobber',
'check-treestatus',
'checkout-goanna',
'checkout-gecko',
'bump-gaia',
'checkout-manifests',
'massage-manifests',
@@ -105,9 +105,9 @@ class B2GBumper(VCSScript, MapperMixin):
abs_dirs.update({
'manifests_dir':
os.path.join(abs_dirs['abs_work_dir'], 'manifests'),
'goanna_local_dir':
'gecko_local_dir':
os.path.join(abs_dirs['abs_work_dir'],
self.config['goanna_local_dir']),
self.config['gecko_local_dir']),
})
self.abs_dirs = abs_dirs
return self.abs_dirs
@@ -263,9 +263,9 @@ class B2GBumper(VCSScript, MapperMixin):
dirs = self.query_abs_dirs()
device_config = self.config['devices'][device]
manifest_file = os.path.join(
dirs['goanna_local_dir'],
dirs['gecko_local_dir'],
'b2g', 'config',
device_config.get('goanna_device_dir', device),
device_config.get('gecko_device_dir', device),
'sources.xml')
return manifest_file
@@ -294,7 +294,7 @@ class B2GBumper(VCSScript, MapperMixin):
"ssh -oIdentityFile=%s -l %s" % (
self.config["ssh_key"], self.config["ssh_user"],
),
self.config["goanna_push_url"]]
self.config["gecko_push_url"]]
status = self.run_command(command, cwd=repo_path,
error_list=HgErrorList)
if status != 0:
@@ -420,7 +420,7 @@ class B2GBumper(VCSScript, MapperMixin):
"Return True if we can land based on treestatus"
c = self.config
dirs = self.query_abs_dirs()
tree = c.get('treestatus_tree', os.path.basename(c['goanna_pull_url'].rstrip("/")))
tree = c.get('treestatus_tree', os.path.basename(c['gecko_pull_url'].rstrip("/")))
treestatus_url = "%s/%s?format=json" % (c['treestatus_base_url'], tree)
treestatus_json = os.path.join(dirs['abs_work_dir'], 'treestatus.json')
if not os.path.exists(dirs['abs_work_dir']):
@@ -467,13 +467,13 @@ class B2GBumper(VCSScript, MapperMixin):
self.info("breaking early since treestatus is closed")
sys.exit(0)
def checkout_goanna(self):
def checkout_gecko(self):
c = self.config
dirs = self.query_abs_dirs()
dest = dirs['goanna_local_dir']
dest = dirs['gecko_local_dir']
repos = [{
'repo': c['goanna_pull_url'],
'tag': c.get('goanna_tag', 'default'),
'repo': c['gecko_pull_url'],
'tag': c.get('gecko_tag', 'default'),
'dest': dest,
'vcs': 'hgtool',
'hgtool_base_bundle_urls': c.get('hgtool_base_bundle_urls'),
@@ -521,7 +521,7 @@ class B2GBumper(VCSScript, MapperMixin):
def commit_manifests(self):
dirs = self.query_abs_dirs()
repo_path = dirs['goanna_local_dir']
repo_path = dirs['gecko_local_dir']
for device, device_config in self.query_devices().items():
manifest_path = self.query_manifest_path(device)
self.hg_add(repo_path, manifest_path)
@@ -531,7 +531,7 @@ class B2GBumper(VCSScript, MapperMixin):
def bump_gaia(self):
dirs = self.query_abs_dirs()
repo_path = dirs['goanna_local_dir']
repo_path = dirs['gecko_local_dir']
gaia_json_path = os.path.join(repo_path,
self.config['gaia_revision_file'])
contents = self._read_json(gaia_json_path)
@@ -576,7 +576,7 @@ class B2GBumper(VCSScript, MapperMixin):
def push(self):
dirs = self.query_abs_dirs()
repo_path = dirs['goanna_local_dir']
repo_path = dirs['gecko_local_dir']
return self.hg_push(repo_path)
def push_loop(self):
@@ -588,7 +588,7 @@ class B2GBumper(VCSScript, MapperMixin):
self.info("breaking early since treestatus is closed")
break
self.checkout_goanna()
self.checkout_gecko()
if not self.config.get('skip_gaia_json') and self.bump_gaia():
changed = True
self.checkout_manifests()
@@ -38,17 +38,17 @@ class B2gMultilocale(LocalesMixin, BaseScript, VCSMixin, GaiaLocalesMixin):
"dest": "gaia_languages_file",
"help": "languages file for gaia multilocale profile",
}],
[["--goanna-languages-file"], {
[["--gecko-languages-file"], {
"dest": "locales_file",
"help": "languages file for goanna multilocale",
"help": "languages file for gecko multilocale",
}],
[["--goanna-l10n-root"], {
[["--gecko-l10n-root"], {
"dest": "hg_l10n_base",
"help": "root location for goanna l10n repos",
"help": "root location for gecko l10n repos",
}],
[["--goanna-l10n-base-dir"], {
[["--gecko-l10n-base-dir"], {
"dest": "l10n_dir",
"help": "dir to clone goanna l10n repos into, relative to the work directory",
"help": "dir to clone gecko l10n repos into, relative to the work directory",
}],
[["--merge-locales"], {
"dest": "merge_locales",
@@ -85,11 +85,11 @@ class B2gMultilocale(LocalesMixin, BaseScript, VCSMixin, GaiaLocalesMixin):
'gaia_l10n_vcs': 'hg',
'vcs_share_base': os.environ.get('HG_SHARE_BASE_DIR'),
'locales_dir': 'b2g/locales',
'l10n_dir': 'goanna-l10n',
'l10n_dir': 'gecko-l10n',
# I forget what this was for. Copied from the Android multilocale stuff
'ignore_locales': ["en-US", "multi"],
# This only has 2 locales in it. We probably need files that mirror gaia's locale lists
# We need 2 sets of locales files because the locale names in gaia are different than goanna, e.g. 'es' vs 'es-ES'
# We need 2 sets of locales files because the locale names in gaia are different than gecko, e.g. 'es' vs 'es-ES'
# We'll need to override this for localizer buidls
'locales_file': 'build/b2g/locales/all-locales',
'mozilla_dir': 'build',
@@ -110,9 +110,9 @@ class B2gMultilocale(LocalesMixin, BaseScript, VCSMixin, GaiaLocalesMixin):
if 'gaia_l10n_root' not in self.config:
message += 'Must specify --gaia-l10n-root!\n'
if 'locales_file' not in self.config:
message += 'Must specify --goanna-languages-file!\n'
message += 'Must specify --gecko-languages-file!\n'
if 'hg_l10n_base' not in self.config:
message += 'Must specify --goanna-l10n-root!\n'
message += 'Must specify --gecko-l10n-root!\n'
if message:
self.fatal(message)
@@ -123,7 +123,7 @@ class B2gMultilocale(LocalesMixin, BaseScript, VCSMixin, GaiaLocalesMixin):
c = self.config
dirs = {
'src': os.path.join(c['work_dir'], 'goanna'),
'src': os.path.join(c['work_dir'], 'gecko'),
'work_dir': abs_dirs['abs_work_dir'],
'gaia_l10n_base_dir': os.path.join(abs_dirs['abs_work_dir'], self.config['gaia_l10n_base_dir']),
'abs_compare_locales_dir': os.path.join(abs_dirs['base_work_dir'], 'compare-locales'),
@@ -135,7 +135,7 @@ class B2gMultilocale(LocalesMixin, BaseScript, VCSMixin, GaiaLocalesMixin):
# Actions {{{2
def pull(self):
""" Clone gaia and goanna locale repos
""" Clone gaia and gecko locale repos
"""
languages_file = self.config['gaia_languages_file']
l10n_base_dir = self.query_abs_dirs()['gaia_l10n_base_dir']
@@ -146,10 +146,10 @@ class B2gMultilocale(LocalesMixin, BaseScript, VCSMixin, GaiaLocalesMixin):
self.pull_gaia_locale_source(l10n_config, parse_config_file(languages_file).keys(), l10n_base_dir)
self.pull_locale_source()
goanna_locales = self.query_locales()
# populate b2g/overrides, which isn't in goanna atm
gecko_locales = self.query_locales()
# populate b2g/overrides, which isn't in gecko atm
dirs = self.query_abs_dirs()
for locale in goanna_locales:
for locale in gecko_locales:
self.mkdir_p(os.path.join(dirs['abs_l10n_dir'], locale, 'b2g', 'chrome', 'overrides'))
self.copytree(os.path.join(dirs['abs_l10n_dir'], locale, 'mobile', 'overrides'),
os.path.join(dirs['abs_l10n_dir'], locale, 'b2g', 'chrome', 'overrides'),
@@ -159,12 +159,12 @@ class B2gMultilocale(LocalesMixin, BaseScript, VCSMixin, GaiaLocalesMixin):
""" Do the multilocale portion of the build + packaging.
"""
dirs = self.query_abs_dirs()
goanna_locales = self.query_locales()
gecko_locales = self.query_locales()
make = self.query_exe('make', return_type='string')
env = self.query_env(
partial_env={
'LOCALE_MERGEDIR': dirs['abs_merge_dir'],
'MOZ_CHROME_MULTILOCALE': 'en-US ' + ' '.join(goanna_locales),
'MOZ_CHROME_MULTILOCALE': 'en-US ' + ' '.join(gecko_locales),
}
)
merge_env = self.query_env(
@@ -175,7 +175,7 @@ class B2gMultilocale(LocalesMixin, BaseScript, VCSMixin, GaiaLocalesMixin):
}
)
for locale in goanna_locales:
for locale in gecko_locales:
command = make + ' merge-%s L10NBASEDIR=%s LOCALE_MERGEDIR=%s' % (locale, dirs['abs_l10n_dir'], dirs['abs_merge_dir'])
status = self.run_command(command,
cwd=dirs['abs_locales_dir'],
@@ -64,7 +64,7 @@ class B2GDesktopTest(BlobUploadMixin, TestingMixin, MercurialScript):
{'substr': 'FAILED (errors=', 'level': ERROR},
{'substr': r'''Could not successfully complete transport of message to Gecko, socket closed''', 'level': ERROR},
{'substr': r'''Could not communicate with Marionette server. Is the Gecko process still running''', 'level': ERROR},
{'substr': r'''Connection to Marionette server is lost. Check goanna''', 'level': ERROR},
{'substr': r'''Connection to Marionette server is lost. Check gecko''', 'level': ERROR},
{'substr': 'Timeout waiting for marionette on port', 'level': ERROR},
{'regex': re.compile(r'''(Timeout|NoSuchAttribute|Javascript|NoSuchElement|XPathLookup|NoSuchWindow|StaleElement|ScriptTimeout|ElementNotVisible|NoSuchFrame|InvalidElementState|NoAlertPresent|InvalidCookieDomain|UnableToSetCookie|InvalidSelector|MoveTargetOutOfBounds)Exception'''), 'level': ERROR},
]
@@ -175,7 +175,7 @@ class B2GDesktopTest(BlobUploadMixin, TestingMixin, MercurialScript):
self.fatal("'%s' not defined in the in-tree config! Please add it to '%s'. "
"See bug 981030 for more details." %
(suite,
os.path.join('goanna', 'testing', self.config['in_tree_config'])))
os.path.join('gecko', 'testing', self.config['in_tree_config'])))
if options:
for option in options:
@@ -57,11 +57,11 @@ class B2GEmulatorTest(TestingMixin, VCSMixin, BaseScript, BlobUploadMixin):
"help": "URL to the desktop xre zip",
}
], [
["--goanna-url"],
["--gecko-url"],
{"action": "store",
"dest": "goanna_url",
"dest": "gecko_url",
"default": None,
"help": "URL to the goanna build injected into the emulator",
"help": "URL to the gecko build injected into the emulator",
}
], [
["--test-manifest"],
@@ -110,7 +110,7 @@ class B2GEmulatorTest(TestingMixin, VCSMixin, BaseScript, BlobUploadMixin):
{'substr': 'FAILED (errors=', 'level': ERROR},
{'substr': r'''Could not successfully complete transport of message to Gecko, socket closed''', 'level': ERROR},
{'substr': r'''Could not communicate with Marionette server. Is the Gecko process still running''', 'level': ERROR},
{'substr': r'''Connection to Marionette server is lost. Check goanna''', 'level': ERROR},
{'substr': r'''Connection to Marionette server is lost. Check gecko''', 'level': ERROR},
{'substr': 'Timeout waiting for marionette on port', 'level': ERROR},
{'regex': re.compile(r'''(Timeout|NoSuchAttribute|Javascript|NoSuchElement|XPathLookup|NoSuchWindow|StaleElement|ScriptTimeout|ElementNotVisible|NoSuchFrame|InvalidElementState|NoAlertPresent|InvalidCookieDomain|UnableToSetCookie|InvalidSelector|MoveTargetOutOfBounds)Exception'''), 'level': ERROR},
]
@@ -297,7 +297,7 @@ class B2GEmulatorTest(TestingMixin, VCSMixin, BaseScript, BlobUploadMixin):
if missing_key:
self.fatal("Key '%s' not defined in the in-tree config! Please add it to '%s'." \
"See bug 981030 for more details." % (suite,
os.path.join('goanna', 'testing', self.config['in_tree_config'])))
os.path.join('gecko', 'testing', self.config['in_tree_config'])))
if options:
for option in options:
@@ -291,14 +291,14 @@ class FirefoxUIUpdates(FirefoxUITests):
env = self.query_env(avoid_host_env=True)
bin_dir = os.path.dirname(self.query_python_path())
fx_ui_tests_bin = os.path.join(bin_dir, 'firefox-ui-update')
goanna_log=os.path.join(dirs['abs_work_dir'], 'goanna.log')
gecko_log=os.path.join(dirs['abs_work_dir'], 'gecko.log')
# Build the command
cmd = [
fx_ui_tests_bin,
'--installer', installer_path,
# Log to stdout until tests are stable.
'--goanna-log=-',
'--gecko-log=-',
'--address=localhost:%s' % marionette_port,
]
@@ -319,20 +319,20 @@ class FirefoxUIUpdates(FirefoxUITests):
# Return more output if we fail
if return_code != 0:
if os.path.exists(goanna_log):
contents = self.read_from_file(goanna_log, verbose=False)
self.warning('== Dumping goanna output ==')
if os.path.exists(gecko_log):
contents = self.read_from_file(gecko_log, verbose=False)
self.warning('== Dumping gecko output ==')
self.warning(contents)
self.warning('== End of goanna output ==')
self.warning('== End of gecko output ==')
else:
# We're outputting to stdout with --goanna-log=- so there is not log to
# We're outputting to stdout with --gecko-log=- so there is not log to
# complaing about. Remove the commented line below when changing
# this behaviour.
# self.warning('No goanna.log was found: %s' % goanna_log)
# self.warning('No gecko.log was found: %s' % gecko_log)
pass
if cleanup:
for filepath in (installer_path, goanna_log):
for filepath in (installer_path, gecko_log):
if os.path.exists(filepath):
self.debug('Removing %s' % filepath)
os.remove(filepath)
+7 -7
View File
@@ -76,7 +76,7 @@ class B2GHazardBuild(PurgeMixin, B2GBuildBaseScript):
config={
'default_vcs': 'hgtool',
'ccache': False,
'mozilla_dir': 'build/goanna',
'mozilla_dir': 'build/gecko',
'upload_ssh_server': None,
'upload_remote_basepath': None,
@@ -126,7 +126,7 @@ class B2GHazardBuild(PurgeMixin, B2GBuildBaseScript):
'abs_analyzed_objdir':
os.path.join(abs_work_dir, self.config['srcdir'], self.config['analysis-objdir']),
'analysis_scriptdir':
os.path.join(abs_dirs['goanna_src'], self.config['analysis-scriptdir'])
os.path.join(abs_dirs['gecko_src'], self.config['analysis-scriptdir'])
}
abs_dirs.update(dirs)
@@ -250,10 +250,10 @@ class B2GHazardBuild(PurgeMixin, B2GBuildBaseScript):
if not os.path.exists(dest):
self.mkdir_p(dest)
# The goanna config is required before enabling mock, because it determines
# The gecko config is required before enabling mock, because it determines
# what mock target to use.
def enable_mock(self):
self.load_goanna_config()
self.load_gecko_config()
super(B2GHazardBuild, self).enable_mock()
# Actions {{{2
@@ -292,7 +292,7 @@ class B2GHazardBuild(PurgeMixin, B2GBuildBaseScript):
if not os.path.exists(dirs['shell_objdir']):
self.mkdir_p(dirs['shell_objdir'])
js_src_dir = os.path.join(dirs['goanna_src'], 'js', 'src')
js_src_dir = os.path.join(dirs['gecko_src'], 'js', 'src')
rc = self.run_command(['autoconf-2.13'],
cwd=js_src_dir,
env=self.env,
@@ -378,7 +378,7 @@ jobs = 2
mozconfig = os.path.join(gonk_misc, 'hazard-analysis-config')
mozconfig_text = ''
mozconfig_text += 'CXXFLAGS="-Wno-attributes"\n'
mozconfig_text += '. "%s/default-goanna-config"\n' % gonk_misc
mozconfig_text += '. "%s/default-gecko-config"\n' % gonk_misc
basecc = os.path.join(dirs['abs_work_dir'], self.config['sixgill'], 'scripts', 'wrap_gcc', 'basecc')
mozconfig_text += "ac_add_options --with-compiler-wrapper=" + basecc + "\n"
mozconfig_text += "ac_add_options --without-ccache\n"
@@ -387,7 +387,7 @@ jobs = 2
# Stuff I set in my .userconfig for manual builds
env['B2G_SOURCE'] = dirs['b2g_src']
env['MOZCONFIG_PATH'] = mozconfig
env['GECKO_PATH'] = dirs['goanna_src']
env['GECKO_PATH'] = dirs['gecko_src']
env['TARGET_TOOLS_PREFIX'] = os.path.join(dirs['abs_work_dir'], self.config['b2g_target_compiler_prefix'])
try:
+13 -13
View File
@@ -146,7 +146,7 @@ class MarionetteTest(TestingMixin, MercurialScript, BlobUploadMixin, TransferMix
error_list = [
{'substr': 'FAILED (errors=', 'level': WARNING},
{'substr': r'''Could not successfully complete transport of message to Gecko, socket closed''', 'level': ERROR},
{'substr': r'''Connection to Marionette server is lost. Check goanna''', 'level': ERROR},
{'substr': r'''Connection to Marionette server is lost. Check gecko''', 'level': ERROR},
{'substr': 'Timeout waiting for marionette on port', 'level': ERROR},
{'regex': re.compile(r'''(TEST-UNEXPECTED|PROCESS-CRASH)'''), 'level': ERROR},
{'regex': re.compile(r'''(\b((?!Marionette|TestMarionette|NoSuchElement|XPathLookup|NoSuchWindow|StaleElement|ScriptTimeout|ElementNotVisible|NoSuchFrame|InvalidResponse|Javascript|Timeout|InvalidElementState|NoAlertPresent|InvalidCookieDomain|UnableToSetCookie|InvalidSelector|MoveTargetOutOfBounds)\w*)Exception)'''), 'level': ERROR},
@@ -203,8 +203,8 @@ class MarionetteTest(TestingMixin, MercurialScript, BlobUploadMixin, TransferMix
dirs['abs_marionette_tests_dir'] = os.path.join(
dirs['abs_test_install_dir'], 'marionette', 'tests', 'testing',
'marionette', 'client', 'marionette', 'tests')
dirs['abs_goanna_dir'] = os.path.join(
abs_dirs['abs_work_dir'], 'goanna')
dirs['abs_gecko_dir'] = os.path.join(
abs_dirs['abs_work_dir'], 'gecko')
dirs['abs_emulator_dir'] = os.path.join(
abs_dirs['abs_work_dir'], 'emulator')
dirs['abs_b2g-distro_dir'] = os.path.join(
@@ -357,7 +357,7 @@ class MarionetteTest(TestingMixin, MercurialScript, BlobUploadMixin, TransferMix
'binary': self.binary_path,
'address': self.config.get('marionette_address'),
'raw_log_file': raw_log_file,
'goanna_log': dirs["abs_blob_upload_dir"],
'gecko_log': dirs["abs_blob_upload_dir"],
'this_chunk': self.config.get('this_chunk', 1),
'total_chunks': self.config.get('total_chunks', 1)
}
@@ -434,8 +434,8 @@ class MarionetteTest(TestingMixin, MercurialScript, BlobUploadMixin, TransferMix
if self.config.get('e10s'):
cmd.append('--e10s')
cmd.append('--goanna-log=%s' % os.path.join(dirs["abs_blob_upload_dir"],
'goanna.log'))
cmd.append('--gecko-log=%s' % os.path.join(dirs["abs_blob_upload_dir"],
'gecko.log'))
options_group = self._get_options_group(self.config.get('emulator'),
self.config.get('gaiatest'))
@@ -502,14 +502,14 @@ class MarionetteTest(TestingMixin, MercurialScript, BlobUploadMixin, TransferMix
else:
self.info('no logcat file found')
else:
# .. or goanna.log if it exists
goanna_log = os.path.join(self.config['base_work_dir'], 'goanna.log')
if os.access(goanna_log, os.F_OK):
self.info('dumping goanna.log')
self.run_command(['cat', goanna_log])
self.rmtree(goanna_log)
# .. or gecko.log if it exists
gecko_log = os.path.join(self.config['base_work_dir'], 'gecko.log')
if os.access(gecko_log, os.F_OK):
self.info('dumping gecko.log')
self.run_command(['cat', gecko_log])
self.rmtree(gecko_log)
else:
self.info('goanna.log not found')
self.info('gecko.log not found')
marionette_parser.print_summary('marionette')
+20 -20
View File
@@ -31,11 +31,11 @@ from mozharness.base.vcs.vcsbase import MercurialScript
# B2GTag {{{1
class B2GTag(TransferMixin, MercurialScript):
config_options = [
[['--goanna-repo', ], {
[['--gecko-repo', ], {
"action": "extend",
"dest": "goanna_repos",
"dest": "gecko_repos",
"type": "string",
"help": "Specify which goanna repo(s) to tag, along with gaia."
"help": "Specify which gecko repo(s) to tag, along with gaia."
}],
[['--date-string', ], {
"action": "store",
@@ -45,7 +45,7 @@ class B2GTag(TransferMixin, MercurialScript):
"help": "Specify the date string to use in the tag name."
}],
]
goanna_repos = None
gecko_repos = None
def __init__(self, require_config_file=True):
super(B2GTag, self).__init__(
@@ -72,7 +72,7 @@ class B2GTag(TransferMixin, MercurialScript):
""" Make sure we're set up correctly before we start cloning or tagging
anything.
First, verify any specified goanna_repos exist in the b2g_branches
First, verify any specified gecko_repos exist in the b2g_branches
dict.
Next, make sure we can reach mapper and it's working.
@@ -80,9 +80,9 @@ class B2GTag(TransferMixin, MercurialScript):
If there are any errors, compile the list and fatal().
"""
sanity_message = ""
if self.config.get("goanna_repos"):
if self.config.get("gecko_repos"):
bad_branch_names = []
for repo_name in self.query_goanna_repos():
for repo_name in self.query_gecko_repos():
if repo_name not in self.config["b2g_branches"].keys():
bad_branch_names.append(repo_name)
if bad_branch_names:
@@ -99,17 +99,17 @@ class B2GTag(TransferMixin, MercurialScript):
if sanity_message:
self.fatal(sanity_message)
def query_goanna_repos(self):
""" Which goanna repos + gaia are we converting?
def query_gecko_repos(self):
""" Which gecko repos + gaia are we converting?
By default everything in self.config['b2g_branches'],
but we can override that list with --goanna-repos.
but we can override that list with --gecko-repos.
"""
if self.goanna_repos:
return self.goanna_repos
self.goanna_repos = list(self.config.get("goanna_repos",
if self.gecko_repos:
return self.gecko_repos
self.gecko_repos = list(self.config.get("gecko_repos",
self.config['b2g_branches'].keys()))
self.goanna_repos.sort()
return self.goanna_repos
self.gecko_repos.sort()
return self.gecko_repos
def query_repo_pull_config(self, repo_name, b2g_branch_config):
""" Build the repo pull url for a repo. This is for convenience.
@@ -182,7 +182,7 @@ class B2GTag(TransferMixin, MercurialScript):
return b2g_branch_config["tag_name"].split("_%")[0]
def hg_tag(self, repo_name, b2g_branch_config):
""" Attempt to tag and push goanna. This assumes the trees are open.
""" Attempt to tag and push gecko. This assumes the trees are open.
On failure, throw a VCSException.
"""
@@ -257,7 +257,7 @@ class B2GTag(TransferMixin, MercurialScript):
dirs = self.query_abs_dirs()
hg = self.query_exe("hg", return_type="list")
git = self.query_exe("git", return_type="list")
hg_repos = self.query_goanna_repos()
hg_repos = self.query_gecko_repos()
hg_strip_error_list = [{
'substr': r'''abort: empty revision set''', 'level': INFO,
'explanation': "Nothing to clean up; we're good!",
@@ -322,7 +322,7 @@ class B2GTag(TransferMixin, MercurialScript):
dirs = self.query_abs_dirs()
git = self.query_exe("git", return_type="list")
hg_repos = []
for repo_name in self.query_goanna_repos():
for repo_name in self.query_gecko_repos():
b2g_branch_config = self.config['b2g_branches'][repo_name]
hg_repos.append(self.query_repo_pull_config(repo_name, b2g_branch_config))
self.debug("HG repos: %s" % pprint.pformat(hg_repos))
@@ -343,10 +343,10 @@ class B2GTag(TransferMixin, MercurialScript):
)
def push_loop(self):
""" Create the tag and push for each goanna+gaia pair.
""" Create the tag and push for each gecko+gaia pair.
This sometimes requires a pull+rebase, hence the loop.
"""
for repo_name in self.query_goanna_repos():
for repo_name in self.query_gecko_repos():
b2g_branch_config = self.config['b2g_branches'][repo_name]
repo_config = self.query_repo_pull_config(repo_name, b2g_branch_config)
super(B2GTag, self).pull(repos=[repo_config])
@@ -5,9 +5,9 @@
# 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/.
# ***** END LICENSE BLOCK *****
""" goanna_migration.py
""" gecko_migration.py
Merge day script for goanna (mozilla-central -> mozilla-aurora,
Merge day script for gecko (mozilla-central -> mozilla-aurora,
mozilla-aurora -> mozilla-beta, mozilla-beta -> mozilla-release).
Ported largely from
@@ -67,7 +67,7 @@ class GeckoMigration(MercurialScript, BalrogMixin, VirtualenvMixin, SelfServeMix
"help": "Comma separated list of locales to remove from the 'to' repo.",
}],
]
goanna_repos = None
gecko_repos = None
def __init__(self, require_config_file=True):
super(GeckoMigration, self).__init__(
@@ -130,24 +130,24 @@ class GeckoMigration(MercurialScript, BalrogMixin, VirtualenvMixin, SelfServeMix
)
return self.abs_dirs
def query_goanna_repos(self):
def query_gecko_repos(self):
""" Build a list of repos to clone.
"""
if self.goanna_repos:
return self.goanna_repos
self.info("Building goanna_repos list...")
if self.gecko_repos:
return self.gecko_repos
self.info("Building gecko_repos list...")
dirs = self.query_abs_dirs()
self.goanna_repos = []
self.gecko_repos = []
for k in ('from', 'to'):
url = self.config["%s_repo_url" % k]
self.goanna_repos.append({
self.gecko_repos.append({
"repo": url,
"revision": self.config.get("%s_repo_revision", "default"),
"dest": dirs['abs_%s_dir' % k],
"vcs": "hg",
})
self.info(pprint.pformat(self.goanna_repos))
return self.goanna_repos
self.info(pprint.pformat(self.gecko_repos))
return self.gecko_repos
def query_hg_revision(self, path):
""" Avoid making 'pull' a required action every run, by being able
@@ -480,7 +480,7 @@ class GeckoMigration(MercurialScript, BalrogMixin, VirtualenvMixin, SelfServeMix
"""
dirs = self.query_abs_dirs()
hg = self.query_exe("hg", return_type="list")
hg_repos = self.query_goanna_repos()
hg_repos = self.query_gecko_repos()
hg_strip_error_list = [{
'substr': r'''abort: empty revision set''', 'level': INFO,
'explanation': "Nothing to clean up; we're good!",
@@ -520,14 +520,14 @@ class GeckoMigration(MercurialScript, BalrogMixin, VirtualenvMixin, SelfServeMix
)
def pull(self):
""" Pull tools first, then use hgtool for the goanna repos
""" Pull tools first, then use hgtool for the gecko repos
"""
repos = [{
"repo": self.config["tools_repo_url"],
"revision": self.config["tools_repo_revision"],
"dest": "tools",
"vcs": "hg",
}] + self.query_goanna_repos()
}] + self.query_gecko_repos()
super(GeckoMigration, self).pull(repos=repos)
def lock_update_paths(self):
@@ -626,7 +626,7 @@ The second run will be faster."""
There are two different types of things we trigger:
1) Nightly builds ("post_merge_nightly_branches" in the config).
These are triggered with buildapi's nightly build endpoint to avoid
duplicating all of the nightly builder names into the goanna
duplicating all of the nightly builder names into the gecko
migration mozharness configs. (Which would surely get out of date
very quickly).
2) Arbitrary builders ("post_merge_builders"). These are additional
@@ -649,5 +649,5 @@ The second run will be faster."""
# __main__ {{{1
if __name__ == '__main__':
goanna_migration = GeckoMigration()
goanna_migration.run_and_exit()
gecko_migration = GeckoMigration()
gecko_migration.run_and_exit()
@@ -69,7 +69,7 @@ class AntivirusScan(BaseScript, VirtualenvMixin):
r"^.*json$",
r"^.*/host.*$",
r"^.*/mar-tools/.*$",
r"^.*goanna-unsigned-unaligned.apk$",
r"^.*gecko-unsigned-unaligned.apk$",
r"^.*robocop.apk$",
r"^.*contrib.*"
]
@@ -1,4 +1,4 @@
#!/bin/bash -e
cd $B2G_SOURCE
exec ./build.sh -j3 MOZCONFIG_PATH=$MOZCONFIG_PATH goanna
exec ./build.sh -j3 MOZCONFIG_PATH=$MOZCONFIG_PATH gecko
@@ -49,11 +49,11 @@ class SpidermonkeyBuild(MockMixin,
config_options = [
[["--repo"], {
"dest": "repo",
"help": "which goanna repo to get spidermonkey from",
"help": "which gecko repo to get spidermonkey from",
}],
[["--source"], {
"dest": "source",
"help": "directory containing goanna source tree (instead of --repo)",
"help": "directory containing gecko source tree (instead of --repo)",
}],
[["--revision"], {
"dest": "revision",
@@ -191,7 +191,7 @@ class SpidermonkeyBuild(MockMixin,
os.path.join(self.config['srcdir'], self.config['analysis-scriptdir']),
'abs_tools_dir':
os.path.join(abs_dirs['base_work_dir'], 'tools'),
'goanna_src':
'gecko_src':
os.path.join(abs_work_dir, self.config['srcdir']),
'abs_blob_upload_dir':
os.path.join(abs_work_dir, 'blobber_upload_dir'),
@@ -362,7 +362,7 @@ class SpidermonkeyBuild(MockMixin,
return
dirs = self.query_abs_dirs()
dest = dirs['goanna_src']
dest = dirs['gecko_src']
# Pre-create the directory to appease the share extension
if not os.path.exists(dest):
+10 -10
View File
@@ -6,7 +6,7 @@
# ***** END LICENSE BLOCK *****
"""vcs_sync.py
hg<->git conversions. Needs to support both the monolithic beagle/goanna.git
hg<->git conversions. Needs to support both the monolithic beagle/gecko.git
type conversions, as well as many-to-many (l10n, build repos, etc.)
"""
@@ -48,7 +48,7 @@ class HgGitScript(VirtualenvMixin, TooltoolMixin, TransferMixin, VCSSyncScript):
Beagle is a git repo of mozilla-central, with full cvs history,
and a number of developer-oriented repositories and branches added.
The partner-oriented goanna.git could also be incorporated into this
The partner-oriented gecko.git could also be incorporated into this
script with some changes.
"""
@@ -177,7 +177,7 @@ intree=1
self.write_to_file(hgrc, hgrc_update, open_mode='a')
def _process_locale(self, locale, type, config, l10n_remote_targets, name, l10n_repos):
""" This contains the common processing that we do on both goanna_config
""" This contains the common processing that we do on both gecko_config
and gaia_config for a given locale.
"""
replace_dict = {'locale': locale}
@@ -227,16 +227,16 @@ intree=1
l10n_repos = []
l10n_remote_targets = deepcopy(self.config['remote_targets'])
dirs = self.query_abs_dirs()
goanna_dict = deepcopy(self.config['l10n_config'].get('goanna_config', {}))
for name, goanna_config in goanna_dict.items():
file_name = self.download_file(goanna_config['locales_file_url'],
gecko_dict = deepcopy(self.config['l10n_config'].get('gecko_config', {}))
for name, gecko_config in gecko_dict.items():
file_name = self.download_file(gecko_config['locales_file_url'],
parent_dir=dirs['abs_work_dir'])
if not os.path.exists(file_name):
self.error("Can't download locales from %s; skipping!" % goanna_config['locales_file_url'])
self.error("Can't download locales from %s; skipping!" % gecko_config['locales_file_url'])
continue
contents = self.read_from_file(file_name)
for locale in contents.splitlines():
self._process_locale(locale, 'goanna', goanna_config, l10n_remote_targets, name, l10n_repos)
self._process_locale(locale, 'gecko', gecko_config, l10n_remote_targets, name, l10n_repos)
gaia_dict = deepcopy(self.config['l10n_config'].get('gaia_config', {}))
for name, gaia_config in gaia_dict.items():
@@ -884,7 +884,7 @@ intree=1
generated_mapfile = os.path.join(dest, '.hg', 'git-mapfile')
self.copy_to_upload_dir(
generated_mapfile,
dest=repo_config.get('mapfile_name', self.config.get('mapfile_name', "goanna-mapfile")),
dest=repo_config.get('mapfile_name', self.config.get('mapfile_name', "gecko-mapfile")),
log_level=INFO
)
for (branch, target_branch) in branch_map.items():
@@ -1020,7 +1020,7 @@ intree=1
if repo_config.get("mapfile_name"):
mapfiles.append(repo_config['mapfile_name'])
else:
mapfiles.append(self.config.get('mapfile_name', 'goanna-mapfile'))
mapfiles.append(self.config.get('mapfile_name', 'gecko-mapfile'))
if self.config.get('external_mapfile_urls'):
for url in self.config['external_mapfile_urls']:
file_name = self.download_file(
+2 -2
View File
@@ -95,7 +95,7 @@ task:
- repository: Target HG repository (ex:
https://hg.mozilla.org/mozilla-central)
- revision: Target HG revision for goanna
- revision: Target HG revision for gecko
- owner: Email address of the committer
@@ -111,7 +111,7 @@ locations in the future)
- repository: Target HG repository (ex:
https://hg.mozilla.org/mozilla-central)
- revision: Target HG revision for goanna
- revision: Target HG revision for gecko
- owner: Email address of the committer
@@ -2,7 +2,7 @@
'''
Command line interface to fetch details from the b2g/config/gaia.json properties
file used to link a particular version of gaia to goanna.
file used to link a particular version of gaia to gecko.
'''
import argparse
@@ -13,19 +13,19 @@ import urlparse
parser = argparse.ArgumentParser(
description='Get various information about gaia version tied to particular \
goanna')
gecko')
parser.add_argument('goanna', metavar="GECKO_DIR", help="Path to goanna revision")
parser.add_argument('gecko', metavar="GECKO_DIR", help="Path to gecko revision")
parser.add_argument('prop', help="Property type",
choices=['repository', 'revision'])
args = parser.parse_args()
if not os.path.isdir(args.goanna):
print >> sys.stderr, 'Given goanna path is not a directory'
if not os.path.isdir(args.gecko):
print >> sys.stderr, 'Given gecko path is not a directory'
sys.exit(1)
props_path = os.path.join(args.goanna, 'b2g/config/gaia.json')
props_path = os.path.join(args.gecko, 'b2g/config/gaia.json')
if not os.path.isfile(props_path):
print >> sys.stderr, \
@@ -1,16 +1,16 @@
#!/bin/bash -vex
goanna_dir=$1
test -d $goanna_dir
gecko_dir=$1
test -d $gecko_dir
if [ ! -d "$goanna_dir/gcc" ]; then
cd $goanna_dir
if [ ! -d "$gecko_dir/gcc" ]; then
cd $gecko_dir
curl https://s3-us-west-2.amazonaws.com/test-caching/packages/gcc.tar.xz | tar Jx
cd -
fi
if [ ! -d "$goanna_dir/sccache" ]; then
cd $goanna_dir
if [ ! -d "$gecko_dir/sccache" ]; then
cd $gecko_dir
curl https://s3-us-west-2.amazonaws.com/test-caching/packages/sccache.tar.bz2 | tar jx
cd -
fi
@@ -24,4 +24,4 @@ fi
moztt_url=${MOZTT_GIT_URL:=https://github.com/mozilla-b2g/moztt}
moztt_revision=${MOZTT_REVISION:=master}
tc-vcs checkout $goanna_dir/moztt $moztt_url $moztt_url $moztt_revision
tc-vcs checkout $gecko_dir/moztt $moztt_url $moztt_url $moztt_revision
@@ -1,9 +1,9 @@
#! /bin/bash -e
goanna_dir=$1
gecko_dir=$1
target=$2
gaia_repo=$(gaia_props.py $goanna_dir repository)
gaia_rev=$(gaia_props.py $goanna_dir revision)
gaia_repo=$(gaia_props.py $gecko_dir repository)
gaia_rev=$(gaia_props.py $gecko_dir revision)
tc-vcs checkout $target $gaia_repo $gaia_repo $gaia_rev
@@ -1,12 +1,12 @@
---
# For complete sample of all build and test jobs,
# see <goanna>/testing/taskcluster/tasks/job_flags.yml
# see <gecko>/testing/taskcluster/tasks/job_flags.yml
$inherits:
from: tasks/branches/base_job_flags.yml
builds:
linux64_goanna:
linux64_gecko:
platforms:
- b2g
types:
@@ -1,12 +1,12 @@
---
# For complete sample of all build and test jobs,
# see <goanna>/testing/taskcluster/tasks/job_flags.yml
# see <gecko>/testing/taskcluster/tasks/job_flags.yml
$inherits:
from: tasks/branches/base_job_flags.yml
builds:
linux64_goanna:
linux64_gecko:
platforms:
- b2g
types:
+1 -1
View File
@@ -156,7 +156,7 @@ to test in Chrome:
1. Download the chromedriver binary and place it somewhere sensible
e.g. `~/bin`
2. In your goanna source tree activate the virtualenv created by mach,
2. In your gecko source tree activate the virtualenv created by mach,
since this has most dependencies already installed. This is typically
in objdir/_virtualenv and is activated via e.g.
+2 -2
View File
@@ -1,4 +1,4 @@
This directory is intended for web-platform-tests that currently
cannot be upstreamed for some reason (e.g. because they depend on
goanna-specific APIs). When run they are mounted on the server under
/_mozilla/.
gecko-specific APIs). When run they are mounted on the server under
/_mozilla/.
+1 -1
View File
@@ -12,7 +12,7 @@ from .tree import GitTree, HgTree, GeckoCommit
from .upstream import SyncToUpstream
class LoadTrees(Step):
"""Load goanna tree and sync tree containing web-platform-tests"""
"""Load gecko tree and sync tree containing web-platform-tests"""
provides = ["local_tree", "sync_tree"]
+4 -4
View File
@@ -100,7 +100,7 @@ class CheckoutBranch(Step):
class GetLastSyncCommit(Step):
"""Find the goanna commit at which we last performed a sync with upstream."""
"""Find the gecko commit at which we last performed a sync with upstream."""
provides = ["last_sync_path", "last_sync_commit"]
@@ -131,7 +131,7 @@ class GetBaseCommit(Step):
class LoadCommits(Step):
"""Get a list of commits in the goanna tree that need to be upstreamed"""
"""Get a list of commits in the gecko tree that need to be upstreamed"""
provides = ["source_commits"]
@@ -159,7 +159,7 @@ class LoadCommits(Step):
self.logger.debug("Source commits: %s" % state.source_commits)
class MovePatches(Step):
"""Convert goanna commits into patches against upstream and commit these to the sync tree."""
"""Convert gecko commits into patches against upstream and commit these to the sync tree."""
provides = ["commits_loaded"]
@@ -244,7 +244,7 @@ class MergeUpstream(Step):
state.merge_index += 1
class UpdateLastSyncCommit(Step):
"""Update the goanna commit at which we last performed a sync with upstream."""
"""Update the gecko commit at which we last performed a sync with upstream."""
provides = []
+8 -8
View File
@@ -123,11 +123,11 @@ class B2GOptions(RemoteXPCShellOptions):
dest='use_device_libs',
help="Don't push .so's")
defaults['use_device_libs'] = False
self.add_option("--goanna-path", action="store",
type="string", dest="goannaPath",
help="the path to a goanna distribution that should "
self.add_option("--gecko-path", action="store",
type="string", dest="geckoPath",
help="the path to a gecko distribution that should "
"be installed on the emulator prior to test")
defaults["goannaPath"] = None
defaults["geckoPath"] = None
self.add_option("--logdir", action="store",
type="string", dest="logdir",
help="directory to store log files")
@@ -148,8 +148,8 @@ class B2GOptions(RemoteXPCShellOptions):
if options.b2g_path is None:
self.error("Need to specify a --b2gpath")
if options.goannaPath and not options.emulator:
self.error("You must specify --emulator if you specify --goanna-path")
if options.geckoPath and not options.emulator:
self.error("You must specify --emulator if you specify --gecko-path")
if options.logdir and not options.emulator:
self.error("You must specify --emulator if you specify --logdir")
@@ -164,8 +164,8 @@ def run_remote_xpcshell(parser, options, args, log):
kwargs['emulator'] = options.emulator
if options.no_window:
kwargs['noWindow'] = True
if options.goannaPath:
kwargs['goanna_path'] = options.goannaPath
if options.geckoPath:
kwargs['gecko_path'] = options.geckoPath
if options.logdir:
kwargs['logdir'] = options.logdir
if options.busybox:
+1 -1
View File
@@ -73,7 +73,7 @@ const Observer = Class({
});
// Currently goanna does not dispatches "TabSelect" events when different
// Currently gecko does not dispatches "TabSelect" events when different
// window gets activated. To work around this limitation we emulate "select"
// event for this case.
windowObserver.on("activate", chromeWindow => {
+2 -2
View File
@@ -66,7 +66,7 @@ const WindowTabTracker = Trait.compose({
this._onTabUnpinned = this._onTabEvent.bind(this, "unpinned");
for (let tab of getTabs(this._window)) {
// We emulate "open" events for all open tabs since goanna does not emits
// We emulate "open" events for all open tabs since gecko does not emits
// them on the tabs that new windows are open with. Also this is
// necessary to synchronize tabs lists with an actual state.
this._onTabOpen(tab);
@@ -84,7 +84,7 @@ const WindowTabTracker = Trait.compose({
tabsObserver.on("unpinned", this._onTabUnpinned);
},
_destroyWindowTabTracker: function _destroyWindowTabTracker() {
// We emulate close events on all tabs, since goanna does not emits such
// We emulate close events on all tabs, since gecko does not emits such
// events by itself.
for (let tab of this.tabs)
this._emitEvent("close", tab);
+2 -2
View File
@@ -79,8 +79,8 @@ let DeviceActor = exports.DeviceActor = protocol.ActorClass({
appbuildid: appInfo.appBuildID,
platformbuildid: appInfo.platformBuildID,
platformversion: appInfo.platformVersion,
goannabuildid: appInfo.platformBuildID,
goannaversion: appInfo.platformVersion,
geckobuildid: appInfo.platformBuildID,
geckoversion: appInfo.platformVersion,
changeset: this._getAppIniString("App", "SourceStamp"),
locale: Cc["@mozilla.org/chrome/chrome-registry;1"].getService(Ci.nsIXULChromeRegistry).getSelectedLocale("global"),
os: null,
@@ -51,8 +51,8 @@ window.onload = function() {
appbuildid: appInfo.appBuildID,
platformbuildid: appInfo.platformBuildID,
platformversion: appInfo.platformVersion,
goannabuildid: appInfo.platformBuildID,
goannaversion: appInfo.platformVersion,
geckobuildid: appInfo.platformBuildID,
geckoversion: appInfo.platformVersion,
useragent: window.navigator.userAgent,
locale: Cc["@mozilla.org/chrome/chrome-registry;1"].getService(Ci.nsIXULChromeRegistry).getSelectedLocale("global"),
os: appInfo.OS,
+1 -1
View File
@@ -94,7 +94,7 @@ this.ForgetAboutSite = {
// EME
promises.push(Task.spawn(function*() {
let mps = Cc["@mozilla.org/goanna-media-plugin-service;1"].
let mps = Cc["@mozilla.org/gecko-media-plugin-service;1"].
getService(Ci.mozIGeckoMediaPluginChromeService);
mps.forgetThisSite(aDomain);
}).catch(ex => {
+4 -4
View File
@@ -93,8 +93,8 @@ sub compareProperties
if ($path !~ /chrome\/browser-region\/region\.properties$/ or
($entity !~ /browser\.search\.order\.[1-9]/ and
$entity !~ /browser\.contentHandlers\.types\.[0-5]/ and
$entity !~ /goanna\.handlerService\.schemes\./ and
$entity !~ /goanna\.handlerService\.defaultHandlersVersion/)) {
$entity !~ /gecko\.handlerService\.schemes\./ and
$entity !~ /gecko\.handlerService\.defaultHandlersVersion/)) {
push @extra1, $entity;
}
}
@@ -104,8 +104,8 @@ sub compareProperties
foreach $entity (keys(%entities2)) {
if ($entity =~ /browser\.search\.order\.[1-9]/ ||
$entity =~ /browser\.contentHandlers\.types\.[0-5]/ ||
$entity =~ /goanna\.handlerService\.schemes\./ ||
$entity =~ /goanna\.handlerService\.defaultHandlersVersion/) {
$entity =~ /gecko\.handlerService\.schemes\./ ||
$entity =~ /gecko\.handlerService\.defaultHandlersVersion/) {
delete $entities2{$entity};
}
}
+21 -10
View File
@@ -364,30 +364,41 @@ INNER_MAKE_GECKOVIEW_LIBRARY=echo 'GeckoView library packaging is only enabled o
INNER_MAKE_GECKOVIEW_EXAMPLE=echo 'GeckoView example packaging is only enabled on Nightly'
endif
# Create geckolibs Android ARchive and metadata for download by local
# Create Android ARchives and metadata for download by local
# developers using Gradle.
ifdef MOZ_ANDROID_GECKOLIBS_AAR
geckolibs-revision := $(BUILDID)
ifndef MOZ_DISABLE_GECKOVIEW
geckoaar-revision := $(BUILDID)
UPLOAD_EXTRA_FILES += \
geckolibs-$(geckolibs-revision).aar \
geckolibs-$(geckolibs-revision).aar.sha1 \
geckolibs-$(geckolibs-revision).pom \
geckolibs-$(geckolibs-revision).pom.sha1 \
ivy-geckolibs-$(geckolibs-revision).xml \
ivy-geckolibs-$(geckolibs-revision).xml.sha1 \
geckolibs-$(geckoaar-revision).aar \
geckolibs-$(geckoaar-revision).aar.sha1 \
geckolibs-$(geckoaar-revision).pom \
geckolibs-$(geckoaar-revision).pom.sha1 \
ivy-geckolibs-$(geckoaar-revision).xml \
ivy-geckolibs-$(geckoaar-revision).xml.sha1 \
geckoview-$(geckoaar-revision).aar \
geckoview-$(geckoaar-revision).aar.sha1 \
geckoview-$(geckoaar-revision).pom \
geckoview-$(geckoaar-revision).pom.sha1 \
ivy-geckoview-$(geckoaar-revision).xml \
ivy-geckoview-$(geckoaar-revision).xml.sha1 \
$(NULL)
INNER_MAKE_GECKOLIBS_AAR= \
$(PYTHON) -m mozbuild.action.package_geckolibs_aar \
--verbose \
--revision $(geckolibs-revision) \
--revision $(geckoaar-revision) \
--topsrcdir '$(topsrcdir)' \
--distdir '$(_ABS_DIST)' \
--appname '$(MOZ_APP_NAME)' \
'$(_ABS_DIST)'
else
INNER_MAKE_GECKOLIBS_AAR=echo 'Android geckolibs.aar packaging requires packaging geckoview'
endif # MOZ_DISABLE_GECKOVIEW
else
INNER_MAKE_GECKOLIBS_AAR=echo 'Android geckolibs.aar packaging is disabled'
endif
endif # MOZ_ANDROID_GECKOLIBS_AAR
ifdef MOZ_OMX_PLUGIN
DIST_FILES += libomxplugin.so libomxplugingb.so libomxplugingb235.so \
@@ -3263,7 +3263,7 @@ function stop_httpserver(aCallback) {
* @param aVersion
* The version of the application
* @param aPlatformVersion
* The goanna version of the application
* The gecko version of the application
*/
function createAppInfo(aID, aName, aVersion, aPlatformVersion) {
const XULAPPINFO_CONTRACTID = "@mozilla.org/xre/app-info;1";
@@ -5,12 +5,12 @@ function testSameVersion() {
let mozSettings = window.navigator.mozSettings;
let forceSent = false;
mozSettings.addObserver("goanna.updateStatus", function statusObserver(setting) {
mozSettings.addObserver("gecko.updateStatus", function statusObserver(setting) {
if (!forceSent) {
return;
}
mozSettings.removeObserver("goanna.updateStatus", statusObserver);
mozSettings.removeObserver("gecko.updateStatus", statusObserver);
is(setting.settingValue, "already-latest-version");
cleanUp();
});
@@ -11,13 +11,13 @@ function forceCheckAndTestStatus(status, next) {
let mozSettings = window.navigator.mozSettings;
let forceSent = false;
mozSettings.addObserver("goanna.updateStatus", function statusObserver(setting) {
mozSettings.addObserver("gecko.updateStatus", function statusObserver(setting) {
if (!forceSent) {
return;
}
mozSettings.removeObserver("goanna.updateStatus", statusObserver);
is(setting.settingValue, status, "goanna.updateStatus");
mozSettings.removeObserver("gecko.updateStatus", statusObserver);
is(setting.settingValue, status, "gecko.updateStatus");
next();
});
+1 -1
View File
@@ -6,7 +6,7 @@
Vagrant::Config.run do |config|
config.vm.box = "precise64"
config.vm.box_url = "http://files.vagrantup.com/precise64.box"
config.vm.share_folder("goanna", "/goanna", "../..")
config.vm.share_folder("gecko", "/gecko", "../..")
# Doxygen needs more than the default memory or it will swap and be
# extremely slow.
config.vm.customize ["modifyvm", :id, "--memory", 2048]
+1 -1
View File
@@ -352,7 +352,7 @@ static inline void profiler_tracing(const char* aCategory, const char* aInfo,
/* A 1ms sampling interval has been shown to be a large perf hit
* (10fps) on memory-contrained (low-end) platforms, and additionally
* to yield different results from the profiler. Where this is the
* important case, b2g, there are also many goanna processes which
* important case, b2g, there are also many gecko processes which
* magnify these effects. */
# define PROFILE_DEFAULT_INTERVAL 10
#elif defined(ANDROID)
+1 -1
View File
@@ -137,7 +137,7 @@ private:
};
/**
* Tracks when touch events are processed by goanna, not when
* Tracks when touch events are processed by gecko, not when
* the touch actually occured in gonk/android.
*/
class TouchDataPayload : public ProfilerMarkerPayload
+1 -1
View File
@@ -80,7 +80,7 @@ TableTicker* Sampler::sActiveSampler;
static mozilla::StaticAutoPtr<mozilla::ProfilerIOInterposeObserver>
sInterposeObserver;
// The name that identifies the goanna thread for calls to
// The name that identifies the gecko thread for calls to
// profiler_register_thread.
static const char * gGeckoThreadName = "GeckoMain";
+2 -2
View File
@@ -200,7 +200,7 @@ HandlerService.prototype = {
// get handler service pref branch
var prefSvc = Cc["@mozilla.org/preferences-service;1"].
getService(Ci.nsIPrefService);
var handlerSvcBranch = prefSvc.getBranch("goanna.handlerService.");
var handlerSvcBranch = prefSvc.getBranch("gecko.handlerService.");
// get the version of the preferences for this locale
return Number(handlerSvcBranch.
@@ -213,7 +213,7 @@ HandlerService.prototype = {
var prefSvc = Cc["@mozilla.org/preferences-service;1"].
getService(Ci.nsIPrefService);
let schemesPrefBranch = prefSvc.getBranch("goanna.handlerService.schemes.");
let schemesPrefBranch = prefSvc.getBranch("gecko.handlerService.schemes.");
let schemePrefList = schemesPrefBranch.getChildList("");
var schemes = {};
+1 -1
View File
@@ -113,7 +113,7 @@ nsWebHandlerApp.prototype = {
.browserDOMWindow;
// if we got an exception, there are several possible reasons why:
// a) this goanna embedding doesn't provide an nsIBrowserDOMWindow
// a) this gecko embedding doesn't provide an nsIBrowserDOMWindow
// implementation (i.e. doesn't support browser-style functionality),
// so we need to kick the URL out to the OS default browser. This is
// the subject of bug 394479.
@@ -130,7 +130,7 @@ function run_test() {
// Bug 395131 has been filed to make this test work more generically
// by providing our own prefs for this test rather than this icky
// special casing.
rootPrefBranch.getCharPref("goanna.handlerService.defaultHandlersVersion");
rootPrefBranch.getCharPref("gecko.handlerService.defaultHandlersVersion");
haveDefaultHandlersVersion = true;
} catch (ex) {}
+1 -1
View File
@@ -255,7 +255,7 @@ public:
/**
* Attach/detach a top level widget from this view. When attached, the view
* updates the widget's device context and allows the view to begin receiving
* goanna events. The underlying base window associated with the widget will
* gecko events. The underlying base window associated with the widget will
* continues to receive events it expects.
*
* An attached widget will not be destroyed when the view is destroyed,
+1 -1
View File
@@ -67,7 +67,7 @@ public:
{
}
// Lists of observers for I/O events.
// These are implemented as vectors since they are allowed to survive goanna,
// These are implemented as vectors since they are allowed to survive gecko,
// without reporting leaks. This is necessary for the IOInterposer to be used
// for late-write checks.
std::vector<IOInterposeObserver*> mCreateObservers;
+3 -3
View File
@@ -509,7 +509,7 @@ ParseManifest(NSLocationType aType, FileLocation& aFile, char* aBuf,
nsAutoString appID;
nsAutoString appVersion;
nsAutoString goannaVersion;
nsAutoString geckoVersion;
nsAutoString osTarget;
nsAutoString abi;
nsAutoString process;
@@ -534,7 +534,7 @@ ParseManifest(NSLocationType aType, FileLocation& aFile, char* aBuf,
rv = xapp->GetPlatformVersion(s);
if (NS_SUCCEEDED(rv)) {
CopyUTF8toUTF16(s, goannaVersion);
CopyUTF8toUTF16(s, geckoVersion);
}
nsCOMPtr<nsIXULRuntime> xruntime(do_QueryInterface(xapp));
@@ -700,7 +700,7 @@ ParseManifest(NSLocationType aType, FileLocation& aFile, char* aBuf,
CheckStringFlag(kProcess, wtoken, process, stProcess) ||
CheckVersionFlag(kOsVersion, wtoken, osVersion, stOsVersion) ||
CheckVersionFlag(kAppVersion, wtoken, appVersion, stAppVersion) ||
CheckVersionFlag(kGeckoVersion, wtoken, goannaVersion, stGeckoVersion)) {
CheckVersionFlag(kGeckoVersion, wtoken, geckoVersion, stGeckoVersion)) {
continue;
}
+2 -2
View File
@@ -896,9 +896,9 @@ nsBinaryInputStream::ReadObject(bool aIsStrongRef, nsISupports** aObject)
return rv;
}
// HACK: Intercept old (pre-goanna6) nsIURI IID, and replace with
// HACK: Intercept old (pre-gecko6) nsIURI IID, and replace with
// the updated IID, so that we're QI'ing to an actual interface.
// (As soon as we drop support for upgrading from pre-goanna6, we can
// (As soon as we drop support for upgrading from pre-gecko6, we can
// remove this chunk.)
static const nsIID oldURIiid = {
0x7a22cc0, 0xce5, 0x11d3,
+5 -5
View File
@@ -280,13 +280,13 @@
using namespace mozilla;
struct ComponentsInterfaceShimEntry {
const char *goannaName;
const char *geckoName;
nsIID iid;
const mozilla::dom::NativePropertyHooks* nativePropHooks;
};
#define DEFINE_SHIM_WITH_CUSTOM_INTERFACE(goannaName, domName) \
{ #goannaName, NS_GET_IID(goannaName), \
#define DEFINE_SHIM_WITH_CUSTOM_INTERFACE(geckoName, domName) \
{ #geckoName, NS_GET_IID(geckoName), \
mozilla::dom::domName ## Binding::sNativePropertyHooks }
#define DEFINE_SHIM(name) \
DEFINE_SHIM_WITH_CUSTOM_INTERFACE(nsIDOM ## name, name)
@@ -473,11 +473,11 @@ ShimInterfaceInfo::MaybeConstruct(const char* aName, JSContext* cx)
{
nsRefPtr<ShimInterfaceInfo> info;
for (uint32_t i = 0; i < ArrayLength(kComponentsInterfaceShimMap); ++i) {
if (!strcmp(aName, kComponentsInterfaceShimMap[i].goannaName)) {
if (!strcmp(aName, kComponentsInterfaceShimMap[i].geckoName)) {
const ComponentsInterfaceShimEntry& shimEntry =
kComponentsInterfaceShimMap[i];
info = new ShimInterfaceInfo(shimEntry.iid,
shimEntry.goannaName,
shimEntry.geckoName,
shimEntry.nativePropHooks);
break;
}
+1 -1
View File
@@ -51,7 +51,7 @@ interface nsIXULAppInfo : nsISupports
readonly attribute ACString platformVersion;
/**
* The build ID/date of goanna and the XULRunner platform.
* The build ID/date of gecko and the XULRunner platform.
*/
readonly attribute ACString platformBuildID;
+2 -2
View File
@@ -158,7 +158,7 @@ TEST(Strings, findinreadable)
free(r);
// Should not find a match
EXPECT_FALSE(FindInReadable(NS_LITERAL_CSTRING("goanna"), delim_begin, delim_end));
EXPECT_FALSE(FindInReadable(NS_LITERAL_CSTRING("gecko"), delim_begin, delim_end));
// When no match is found, range should be empty
EXPECT_EQ(delim_begin, delim_end);
@@ -225,7 +225,7 @@ TEST(Strings, rfindinreadable)
// Should not find a match
delim_begin = begin;
delim_end = end;
EXPECT_FALSE(RFindInReadable(NS_LITERAL_CSTRING("goanna"), delim_begin, delim_end));
EXPECT_FALSE(RFindInReadable(NS_LITERAL_CSTRING("gecko"), delim_begin, delim_end));
// When no match is found, range should be empty
EXPECT_EQ(delim_begin, delim_end);