diff --git a/firebase-common/api.txt b/firebase-common/api.txt index 903ebea43af..adbb4aa440e 100644 --- a/firebase-common/api.txt +++ b/firebase-common/api.txt @@ -2,10 +2,8 @@ package com.google.firebase { public class FirebaseApp { - method public void enableEmulators(@NonNull com.google.firebase.emulators.EmulatorSettings); method @NonNull public android.content.Context getApplicationContext(); method @NonNull public static java.util.List getApps(@NonNull android.content.Context); - method @NonNull public com.google.firebase.emulators.EmulatorSettings getEmulatorSettings(); method @NonNull public static com.google.firebase.FirebaseApp getInstance(); method @NonNull public static com.google.firebase.FirebaseApp getInstance(@NonNull String); method @NonNull public String getName(); @@ -49,30 +47,6 @@ package com.google.firebase { } -package com.google.firebase.emulators { - - public final class EmulatedServiceSettings { - ctor public EmulatedServiceSettings(@NonNull String, int); - method @NonNull public String getHost(); - method public int getPort(); - } - - public final class EmulatorSettings { - field public static final com.google.firebase.emulators.EmulatorSettings DEFAULT; - } - - public static final class EmulatorSettings.Builder { - ctor public EmulatorSettings.Builder(); - method @NonNull public com.google.firebase.emulators.EmulatorSettings.Builder addEmulatedService(@NonNull com.google.firebase.emulators.FirebaseEmulator, @NonNull com.google.firebase.emulators.EmulatedServiceSettings); - method @NonNull public com.google.firebase.emulators.EmulatorSettings build(); - } - - public final class FirebaseEmulator { - method @NonNull public String getName(); - } - -} - package com.google.firebase.provider { public class FirebaseInitProvider extends android.content.ContentProvider { diff --git a/firebase-common/gradle.properties b/firebase-common/gradle.properties index 6dd5dfa1d8c..9cf896e0d12 100644 --- a/firebase-common/gradle.properties +++ b/firebase-common/gradle.properties @@ -1,3 +1,3 @@ -version=19.4.0 +version=19.3.1 latestReleasedVersion=19.3.0 android.enableUnitTestBinaryResources=true diff --git a/firebase-common/src/main/java/com/google/firebase/FirebaseApp.java b/firebase-common/src/main/java/com/google/firebase/FirebaseApp.java index 255ffc38bc7..dee3e1d9e90 100644 --- a/firebase-common/src/main/java/com/google/firebase/FirebaseApp.java +++ b/firebase-common/src/main/java/com/google/firebase/FirebaseApp.java @@ -149,8 +149,9 @@ public FirebaseOptions getOptions() { /** * Returns the specified {@link EmulatorSettings} or a default. * - *

Calling this method "freezes" the emulator settings and future calls to enableEmulators on - * the same FirebaseApp instance will fail. + *

TODO(samstern): Un-hide this once Firestore, Database, and Functions are implemented + * + * @hide */ @NonNull public EmulatorSettings getEmulatorSettings() { @@ -329,7 +330,10 @@ public static FirebaseApp initializeApp( * com.google.firebase.emulators.EmulatedServiceSettings} for {@link FirebaseDatabase#EMULATOR}, * then calls to Cloud Firestore will communicate with the emulator rather than production. * + *

TODO(samstern): Un-hide this once Firestore, Database, and Functions are implemented + * * @param emulatorSettings the emulator settings for all services. + * @hide */ public void enableEmulators(@NonNull EmulatorSettings emulatorSettings) { checkNotDeleted(); diff --git a/firebase-common/src/main/java/com/google/firebase/emulators/EmulatedServiceSettings.java b/firebase-common/src/main/java/com/google/firebase/emulators/EmulatedServiceSettings.java index a603122dee7..5acd04e9aa8 100644 --- a/firebase-common/src/main/java/com/google/firebase/emulators/EmulatedServiceSettings.java +++ b/firebase-common/src/main/java/com/google/firebase/emulators/EmulatedServiceSettings.java @@ -19,7 +19,10 @@ /** * Settings to connect a single Firebase service to a local emulator. * + *

TODO(samstern): Un-hide this once Firestore, Database, and Functions are implemented + * * @see EmulatorSettings + * @hide */ public final class EmulatedServiceSettings { @@ -31,7 +34,6 @@ public EmulatedServiceSettings(@NonNull String host, int port) { this.port = port; } - @NonNull public String getHost() { return host; } diff --git a/firebase-common/src/main/java/com/google/firebase/emulators/EmulatorSettings.java b/firebase-common/src/main/java/com/google/firebase/emulators/EmulatorSettings.java index f1baae3882a..0ad3c80a32f 100644 --- a/firebase-common/src/main/java/com/google/firebase/emulators/EmulatorSettings.java +++ b/firebase-common/src/main/java/com/google/firebase/emulators/EmulatorSettings.java @@ -25,7 +25,10 @@ * Settings that control which Firebase services should access a local emulator, rather than * production. * + *

TODO(samstern): Un-hide this once Firestore, Database, and Functions are implemented + * * @see com.google.firebase.FirebaseApp#enableEmulators(EmulatorSettings) + * @hide */ public final class EmulatorSettings { diff --git a/firebase-common/src/main/java/com/google/firebase/emulators/FirebaseEmulator.java b/firebase-common/src/main/java/com/google/firebase/emulators/FirebaseEmulator.java index dd48f22f46a..8c5800fd055 100644 --- a/firebase-common/src/main/java/com/google/firebase/emulators/FirebaseEmulator.java +++ b/firebase-common/src/main/java/com/google/firebase/emulators/FirebaseEmulator.java @@ -19,9 +19,12 @@ /** * Identifier Firebase services that can be emulated using the Firebase Emulator Suite. * + *

TODO(samstern): Un-hide this once Firestore, Database, and Functions are implemented + * * @see com.google.firebase.FirebaseApp#enableEmulators(EmulatorSettings) * @see EmulatorSettings * @see EmulatedServiceSettings + * @hide */ public final class FirebaseEmulator { @@ -33,15 +36,14 @@ public final class FirebaseEmulator { * @hide */ @NonNull - public static FirebaseEmulator forName(@NonNull String name) { + public static FirebaseEmulator forName(String name) { return new FirebaseEmulator(name); } - private FirebaseEmulator(@NonNull String name) { + private FirebaseEmulator(String name) { this.name = name; } - @NonNull public String getName() { return name; } diff --git a/firebase-database/CHANGELOG.md b/firebase-database/CHANGELOG.md index bc78154582e..d8fcf6de8da 100644 --- a/firebase-database/CHANGELOG.md +++ b/firebase-database/CHANGELOG.md @@ -1,8 +1,6 @@ # Unreleased - [changed] Added internal HTTP header to the WebChannel connection. -- [feature] Realtime Database now supports connecting to a local emulator via - `FirebaseApp.enableEmulators()` # 19.3.0 - [feature] Added ServerValue.increment() to support atomic field value increments diff --git a/firebase-database/api.txt b/firebase-database/api.txt index 36ad92a3c2e..889baf83670 100644 --- a/firebase-database/api.txt +++ b/firebase-database/api.txt @@ -96,7 +96,6 @@ package com.google.firebase.database { method public void setLogLevel(@NonNull com.google.firebase.database.Logger.Level); method public void setPersistenceCacheSizeBytes(long); method public void setPersistenceEnabled(boolean); - field @NonNull public static final com.google.firebase.emulators.FirebaseEmulator EMULATOR; } public abstract class GenericTypeIndicator { diff --git a/firebase-database/gradle.properties b/firebase-database/gradle.properties index 9838276bdfb..cdae8c5da12 100644 --- a/firebase-database/gradle.properties +++ b/firebase-database/gradle.properties @@ -12,6 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -version=19.4.0 +version=19.3.1 latestReleasedVersion=19.3.0 android.enableUnitTestBinaryResources=true diff --git a/firebase-database/src/main/java/com/google/firebase/database/FirebaseDatabase.java b/firebase-database/src/main/java/com/google/firebase/database/FirebaseDatabase.java index c0a8f945b8a..4232ab7e202 100644 --- a/firebase-database/src/main/java/com/google/firebase/database/FirebaseDatabase.java +++ b/firebase-database/src/main/java/com/google/firebase/database/FirebaseDatabase.java @@ -40,8 +40,14 @@ */ public class FirebaseDatabase { - /** Emulator identifier. See {@link FirebaseApp#enableEmulators(EmulatorSettings)} */ - @NonNull public static final FirebaseEmulator EMULATOR = FirebaseEmulator.forName("database"); + /** + * Emulator identifier. See {@link FirebaseApp#enableEmulators(EmulatorSettings)} + * + *

TODO(samstern): Un-hide this once Firestore, Database, and Functions are implemented + * + * @hide + */ + public static final FirebaseEmulator EMULATOR = FirebaseEmulator.forName("database"); private static final String SDK_VERSION = BuildConfig.VERSION_NAME; diff --git a/firebase-firestore/CHANGELOG.md b/firebase-firestore/CHANGELOG.md index dc2c6d96441..bbee08cee85 100644 --- a/firebase-firestore/CHANGELOG.md +++ b/firebase-firestore/CHANGELOG.md @@ -4,8 +4,6 @@ the app was in the background. - [fixed] Fixed an issue that may have prevented the client from connecting to the backend immediately after a user signed in. -- [feature] Firestore now supports connecting to a local emulator via - `FirebaseApp.enableEmulators()`. # 21.4.3 - [changed] Firestore now limits the number of concurrent document lookups it diff --git a/firebase-firestore/api.txt b/firebase-firestore/api.txt index f6f3d0bf66e..d077d842a32 100644 --- a/firebase-firestore/api.txt +++ b/firebase-firestore/api.txt @@ -152,7 +152,6 @@ package com.google.firebase.firestore { method public static void setLoggingEnabled(boolean); method @NonNull public com.google.android.gms.tasks.Task terminate(); method @NonNull public com.google.android.gms.tasks.Task waitForPendingWrites(); - field @NonNull public static final com.google.firebase.emulators.FirebaseEmulator EMULATOR; } public class FirebaseFirestoreException extends com.google.firebase.FirebaseException { diff --git a/firebase-firestore/gradle.properties b/firebase-firestore/gradle.properties index d75bd0d3117..f5092165c64 100644 --- a/firebase-firestore/gradle.properties +++ b/firebase-firestore/gradle.properties @@ -1,2 +1,2 @@ -version=21.5.0 +version=21.4.4 latestReleasedVersion=21.4.3 diff --git a/firebase-firestore/src/main/java/com/google/firebase/firestore/FirebaseFirestore.java b/firebase-firestore/src/main/java/com/google/firebase/firestore/FirebaseFirestore.java index 4f1c261f6b0..3daecfad7d3 100644 --- a/firebase-firestore/src/main/java/com/google/firebase/firestore/FirebaseFirestore.java +++ b/firebase-firestore/src/main/java/com/google/firebase/firestore/FirebaseFirestore.java @@ -58,8 +58,14 @@ */ public class FirebaseFirestore { - /** Emulator identifier. See {@link FirebaseApp#enableEmulators(EmulatorSettings)} */ - @NonNull public static final FirebaseEmulator EMULATOR = FirebaseEmulator.forName("firestore"); + /** + * Emulator identifier. See {@link FirebaseApp#enableEmulators(EmulatorSettings)} + * + *

TODO(samstern): Un-hide this once Firestore, Database, and Functions are implemented + * + * @hide + */ + public static FirebaseEmulator EMULATOR = FirebaseEmulator.forName("firestore"); /** * Provides a registry management interface for {@code FirebaseFirestore} instances. diff --git a/firebase-functions/api.txt b/firebase-functions/api.txt index 8a37df4c31e..61547cc0f12 100644 --- a/firebase-functions/api.txt +++ b/firebase-functions/api.txt @@ -7,8 +7,7 @@ package com.google.firebase.functions { method @NonNull public static com.google.firebase.functions.FirebaseFunctions getInstance(@NonNull com.google.firebase.FirebaseApp); method @NonNull public static com.google.firebase.functions.FirebaseFunctions getInstance(@NonNull String); method @NonNull public static com.google.firebase.functions.FirebaseFunctions getInstance(); - method @Deprecated public void useFunctionsEmulator(@NonNull String); - field @NonNull public static final com.google.firebase.emulators.FirebaseEmulator EMULATOR; + method public void useFunctionsEmulator(@NonNull String); } public class FirebaseFunctionsException extends com.google.firebase.FirebaseException { diff --git a/firebase-functions/gradle.properties b/firebase-functions/gradle.properties index 0a7529aa3b7..2b96f29ca00 100644 --- a/firebase-functions/gradle.properties +++ b/firebase-functions/gradle.properties @@ -1,3 +1,3 @@ -version=19.1.0 +version=19.0.3 latestReleasedVersion=19.0.2 android.enableUnitTestBinaryResources=true diff --git a/firebase-functions/src/main/java/com/google/firebase/functions/FirebaseFunctions.java b/firebase-functions/src/main/java/com/google/firebase/functions/FirebaseFunctions.java index 64ce95c9525..43fba4fc3f9 100644 --- a/firebase-functions/src/main/java/com/google/firebase/functions/FirebaseFunctions.java +++ b/firebase-functions/src/main/java/com/google/firebase/functions/FirebaseFunctions.java @@ -28,7 +28,6 @@ import com.google.android.gms.tasks.Tasks; import com.google.firebase.FirebaseApp; import com.google.firebase.emulators.EmulatedServiceSettings; -import com.google.firebase.emulators.EmulatorSettings; import com.google.firebase.emulators.FirebaseEmulator; import com.google.firebase.functions.FirebaseFunctionsException.Code; import java.io.IOException; @@ -50,8 +49,16 @@ /** FirebaseFunctions lets you call Cloud Functions for Firebase. */ public class FirebaseFunctions { - /** Emulator identifier. See {@link FirebaseApp#enableEmulators(EmulatorSettings)} */ - @NonNull public static final FirebaseEmulator EMULATOR = FirebaseEmulator.forName("functions"); + /** + * Emulator identifier, see {@link + * com.google.firebase.emulators.EmulatorSettings.Builder#addEmulatedService(FirebaseEmulator, + * EmulatedServiceSettings)} + * + *

TODO(samstern): Un-hide this once Firestore, Database, and Functions are implemented + * + * @hide + */ + public static final FirebaseEmulator EMULATOR = FirebaseEmulator.forName("functions"); /** A task that will be resolved once ProviderInstaller has installed what it needs to. */ private static final TaskCompletionSource providerInstalled = new TaskCompletionSource<>(); @@ -211,9 +218,7 @@ URL getURL(String function) { * https://firebase.google.com/docs/functions/local-emulator * * @param origin The origin of the local emulator, such as "http://10.0.2.2:5005". - * @deprecated use {@link FirebaseApp#enableEmulators(EmulatorSettings)}. */ - @Deprecated public void useFunctionsEmulator(@NonNull String origin) { Preconditions.checkNotNull(origin, "origin cannot be null"); urlFormat = origin + "/%2$s/%1$s/%3$s";