Backed out 2 changesets (bug 1443204) for build bustages at mozbuild/test/frontend/test_emitter.py on a CLOSED TREE

Backed out changeset eb1dfa51050f (bug 1443204)
Backed out changeset e3a7560b4206 (bug 1443204)
This commit is contained in:
Cosmin Sabou 2018-03-07 23:58:00 +02:00
parent 759ba32839
commit af65a84060
7 changed files with 174 additions and 0 deletions

View File

@ -30,6 +30,7 @@ generated_resources := \
$(NULL) $(NULL)
generated_files := \ generated_files := \
../geckoview/generated/preprocessed/org/mozilla/geckoview/BuildConfig.java \
AndroidManifest.xml \ AndroidManifest.xml \
generated/preprocessed/org/mozilla/gecko/AdjustConstants.java \ generated/preprocessed/org/mozilla/gecko/AdjustConstants.java \
generated/preprocessed/org/mozilla/gecko/AppConstants.java \ generated/preprocessed/org/mozilla/gecko/AppConstants.java \

View File

@ -112,11 +112,15 @@ with Files('../app/src/*/res/menu/browsersearch_contextmenu.xml'):
DIRS += ['locales'] DIRS += ['locales']
GENERATED_FILES += [ GENERATED_FILES += [
'../geckoview/generated/preprocessed/org/mozilla/geckoview/BuildConfig.java',
'AndroidManifest.xml', 'AndroidManifest.xml',
'generated/preprocessed/org/mozilla/gecko/AdjustConstants.java', 'generated/preprocessed/org/mozilla/gecko/AdjustConstants.java',
'generated/preprocessed/org/mozilla/gecko/AppConstants.java', 'generated/preprocessed/org/mozilla/gecko/AppConstants.java',
'generated/preprocessed/org/mozilla/gecko/MmaConstants.java', 'generated/preprocessed/org/mozilla/gecko/MmaConstants.java',
] ]
w = GENERATED_FILES['../geckoview/generated/preprocessed/org/mozilla/geckoview/BuildConfig.java']
w.script = 'generate_build_config.py:generate_java'
w.inputs += ['../geckoview/BuildConfig.java.in']
x = GENERATED_FILES['generated/preprocessed/org/mozilla/gecko/AdjustConstants.java'] x = GENERATED_FILES['generated/preprocessed/org/mozilla/gecko/AdjustConstants.java']
x.script = 'generate_build_config.py:generate_java' x.script = 'generate_build_config.py:generate_java'
x.inputs += ['AdjustConstants.java.in'] x.inputs += ['AdjustConstants.java.in']

View File

@ -0,0 +1,106 @@
//#filter substitution
/* -*- Mode: Java; c-basic-offset: 4; tab-width: 20; indent-tabs-mode: nil; -*-
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
package org.mozilla.geckoview;
import android.os.Build;
/**
* A collection of constants that pertain to the build state of the GeckoView
* library, sourced from build-time definitions. This is a partial Java-side
* substitute for nsIXULAppInfo, amongst other things.
*
* See also SysInfo.java, which includes some of the values available from
* nsSystemInfo inside Gecko.
*/
public class BuildConfig {
public static final String GRE_MILESTONE = "@GRE_MILESTONE@";
public static final String MOZ_APP_ABI = "@MOZ_APP_ABI@";
public static final String MOZ_APP_BASENAME = "@MOZ_APP_BASENAME@";
// For the benefit of future archaeologists:
// GRE_BUILDID is exactly the same as MOZ_APP_BUILDID unless you're running
// on XULRunner, which is never the case on Android.
public static final String MOZ_APP_BUILDID = "@MOZ_BUILDID@";
public static final String MOZ_APP_ID = "@MOZ_APP_ID@";
public static final String MOZ_APP_NAME = "@MOZ_APP_NAME@";
public static final String MOZ_APP_VENDOR = "@MOZ_APP_VENDOR@";
public static final String MOZ_APP_VERSION = "@MOZ_APP_VERSION@";
public static final String MOZ_APP_DISPLAYNAME = "@MOZ_APP_DISPLAYNAME@";
public static final String MOZ_APP_UA_NAME = "@MOZ_APP_UA_NAME@";
// MOZILLA_VERSION is already quoted when it gets substituted in. If we
// add additional quotes we end up with ""x.y"", which is a syntax error.
public static final String MOZILLA_VERSION = @MOZILLA_VERSION@;
public static final String OMNIJAR_NAME = "@OMNIJAR_NAME@";
public static final String USER_AGENT_GECKOVIEW_MOBILE = "Mozilla/5.0 (Android " +
Build.VERSION.RELEASE + "; Mobile; rv:" +
MOZ_APP_VERSION + ") Gecko/" +
MOZ_APP_VERSION + " GeckoView/" +
MOZ_APP_VERSION;
public static final String USER_AGENT_GECKOVIEW_TABLET = "Mozilla/5.0 (Android " +
Build.VERSION.RELEASE + "; Tablet; rv:" +
MOZ_APP_VERSION + ") Gecko/" +
MOZ_APP_VERSION + " GeckoView/" +
MOZ_APP_VERSION;
/**
* Target CPU architecture: "armeabi-v7a", "arm64-v8a", "x86", "mips", ..
*/
public static final String ANDROID_CPU_ARCH = "@ANDROID_CPU_ARCH@";
public static final String MOZ_UPDATE_CHANNEL = "@MOZ_UPDATE_CHANNEL@";
public static final int MIN_SDK_VERSION = @MOZ_ANDROID_MIN_SDK_VERSION@;
// Is the underlying compiled C/C++ code compiled with --enable-debug?
public static final boolean DEBUG_BUILD =
//#ifdef MOZ_DEBUG
true;
//#else
false;
//#endif
// See this wiki page for more details about channel specific build defines:
// https://wiki.mozilla.org/Platform/Channel-specific_build_defines
// This makes no sense for GeckoView and should be removed as soon as possible.
public static final boolean RELEASE_OR_BETA =
//#ifdef RELEASE_OR_BETA
true;
//#else
false;
//#endif
// This makes no sense for GeckoView and should be removed as soon as possible.
public static final boolean NIGHTLY_BUILD =
//#ifdef NIGHTLY_BUILD
true;
//#else
false;
//#endif
// This makes no sense for GeckoView and should be removed as soon as possible.
public static final boolean MOZ_CRASHREPORTER =
//#ifdef MOZ_CRASHREPORTER
true;
//#else
false;
//#endif
// Official corresponds, roughly, to whether this build is performed on
// Mozilla's continuous integration infrastructure. You should disable
// developer-only functionality when this flag is set.
// This makes no sense for GeckoView and should be removed as soon as possible.
public static final boolean MOZILLA_OFFICIAL =
//#ifdef MOZILLA_OFFICIAL
true;
//#else
false;
//#endif
}

View File

@ -53,6 +53,8 @@ android {
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
// TODO: ensure these fields always agree with mobile/android/geckoview/BuildConfig.java.in,
// either by diffing the processed files or by generating the output from a single source.
buildConfigField 'String', "GRE_MILESTONE", "\"${mozconfig.substs.GRE_MILESTONE}\"" buildConfigField 'String', "GRE_MILESTONE", "\"${mozconfig.substs.GRE_MILESTONE}\""
// This should really come from the included binaries, but that's not easy. // This should really come from the included binaries, but that's not easy.
buildConfigField 'String', "MOZ_APP_ABI", mozconfig.substs['COMPILE_ENVIRONMENT'] ? "\"${ mozconfig.substs.TARGET_XPCOM_ABI}\"" : '"arm-eabi-gcc3"'; buildConfigField 'String', "MOZ_APP_ABI", mozconfig.substs['COMPILE_ENVIRONMENT'] ? "\"${ mozconfig.substs.TARGET_XPCOM_ABI}\"" : '"arm-eabi-gcc3"';

View File

@ -29,6 +29,10 @@ from mozbuild.frontend.context import (
) )
from .common import CommonBackend from .common import CommonBackend
from ..frontend.data import ( from ..frontend.data import (
AndroidAssetsDirs,
AndroidResDirs,
AndroidExtraResDirs,
AndroidExtraPackages,
BaseLibrary, BaseLibrary,
BaseProgram, BaseProgram,
ChromeManifestEntry, ChromeManifestEntry,

View File

@ -1133,6 +1133,59 @@ class GeneratedFile(ContextDerived):
self.required_for_compile = any(f.endswith(suffixes) for f in self.outputs) self.required_for_compile = any(f.endswith(suffixes) for f in self.outputs)
class AndroidResDirs(ContextDerived):
"""Represents Android resource directories."""
__slots__ = (
'paths',
)
def __init__(self, context, paths):
ContextDerived.__init__(self, context)
self.paths = paths
class AndroidAssetsDirs(ContextDerived):
"""Represents Android assets directories."""
__slots__ = (
'paths',
)
def __init__(self, context, paths):
ContextDerived.__init__(self, context)
self.paths = paths
class AndroidExtraResDirs(ContextDerived):
"""Represents Android extra resource directories.
Extra resources are resources provided by libraries and including in a
packaged APK, but not otherwise redistributed. In practice, this means
resources included in Fennec but not in GeckoView.
"""
__slots__ = (
'paths',
)
def __init__(self, context, paths):
ContextDerived.__init__(self, context)
self.paths = paths
class AndroidExtraPackages(ContextDerived):
"""Represents Android extra packages."""
__slots__ = (
'packages',
)
def __init__(self, context, packages):
ContextDerived.__init__(self, context)
self.packages = packages
class ChromeManifestEntry(ContextDerived): class ChromeManifestEntry(ContextDerived):
"""Represents a chrome.manifest entry.""" """Represents a chrome.manifest entry."""

View File

@ -23,6 +23,10 @@ import mozinfo
import pytoml import pytoml
from .data import ( from .data import (
AndroidAssetsDirs,
AndroidExtraPackages,
AndroidExtraResDirs,
AndroidResDirs,
BaseRustProgram, BaseRustProgram,
BaseSources, BaseSources,
ChromeManifestEntry, ChromeManifestEntry,