diff --git a/build.gradle b/build.gradle index d9980831c..cda16c26f 100644 --- a/build.gradle +++ b/build.gradle @@ -168,7 +168,7 @@ subprojects { "com.google.http-client:google-http-client:1.29.0", "com.google.http-client:google-http-client-jackson2:1.29.0", - "com.google.api-client:google-api-client:1.25.0", + "com.google.api-client:google-api-client:1.30.9", "org.apache.httpcomponents:httpclient:4.5.5", diff --git a/client-js/package.json b/client-js/package.json index b56370cec..f0caebb04 100644 --- a/client-js/package.json +++ b/client-js/package.json @@ -1,6 +1,6 @@ { "name": "spine-web", - "version": "1.5.0", + "version": "1.5.2", "license": "Apache-2.0", "description": "A JS client for interacting with Spine applications.", "homepage": "https://spine.io", diff --git a/firebase-web/src/main/java/io/spine/web/firebase/FirebaseClientFactory.java b/firebase-web/src/main/java/io/spine/web/firebase/FirebaseClientFactory.java index 2d58e6830..bddfb67dc 100644 --- a/firebase-web/src/main/java/io/spine/web/firebase/FirebaseClientFactory.java +++ b/firebase-web/src/main/java/io/spine/web/firebase/FirebaseClientFactory.java @@ -21,7 +21,6 @@ package io.spine.web.firebase; import com.google.api.client.extensions.appengine.http.UrlFetchTransport; -import com.google.api.client.googleapis.auth.oauth2.GoogleCredential; import com.google.api.client.http.HttpRequestFactory; import com.google.api.client.http.HttpTransport; import com.google.api.client.http.apache.ApacheHttpTransport; @@ -149,8 +148,7 @@ private static FirebaseClient createAuthorized(HttpTransport httpTransport, FirebaseDatabase database, FirebaseCredentials credentials, Supplier backOff) { - GoogleCredential googleCredentials = credentials.credentials(); - HttpRequestFactory requestFactory = httpTransport.createRequestFactory(googleCredentials); + HttpRequestFactory requestFactory = httpTransport.createRequestFactory(credentials); return RemoteDatabaseClient .newBuilder() .setDatabase(database) diff --git a/firebase-web/src/main/java/io/spine/web/firebase/FirebaseCredentials.java b/firebase-web/src/main/java/io/spine/web/firebase/FirebaseCredentials.java index 336622bc2..9035341ca 100644 --- a/firebase-web/src/main/java/io/spine/web/firebase/FirebaseCredentials.java +++ b/firebase-web/src/main/java/io/spine/web/firebase/FirebaseCredentials.java @@ -21,25 +21,33 @@ package io.spine.web.firebase; import com.google.api.client.googleapis.auth.oauth2.GoogleCredential; +import com.google.api.client.http.HttpRequest; +import com.google.api.client.http.HttpRequestInitializer; +import com.google.auth.http.HttpCredentialsAdapter; +import com.google.auth.oauth2.GoogleCredentials; +import com.google.common.annotations.VisibleForTesting; +import io.spine.annotation.Internal; +import org.checkerframework.checker.nullness.qual.Nullable; -import javax.annotation.Nullable; import java.io.IOException; import java.io.InputStream; import java.util.Collection; import static com.google.common.base.Preconditions.checkNotNull; +import static com.google.common.base.Preconditions.checkState; import static io.spine.util.Exceptions.newIllegalArgumentException; import static java.util.Arrays.asList; /** * A Firebase Database credentials. * - *

The underlying Google OAuth 2.0 service can be used as an authentication facility for the - * requests to Firebase REST API. + *

This type can be used as an authentication facility for the requests to Firebase REST API. * *

See Firebase REST docs. */ -public final class FirebaseCredentials { +@SuppressWarnings("deprecation") +// Use deprecated `GoogleCredential` to retain backward compatibility. +public final class FirebaseCredentials implements HttpRequestInitializer { private static final String AUTH_DATABASE = "https://www.googleapis.com/auth/firebase.database"; private static final String AUTH_USER_EMAIL = "https://www.googleapis.com/auth/userinfo.email"; @@ -49,14 +57,33 @@ public final class FirebaseCredentials { */ private static final Collection AUTH_SCOPES = asList(AUTH_DATABASE, AUTH_USER_EMAIL); - private final GoogleCredential credentials; + /** + * The credential used for authentication. + * + *

Either this field or {@link #oldStyleCredential} will always be {@code null}. + */ + private final @Nullable GoogleCredentials credentials; + + /** + * The credential used for authentication. + * + *

Either this field or {@link #credentials} will always be {@code null}. + */ + private final @Nullable GoogleCredential oldStyleCredential; private FirebaseCredentials() { this.credentials = null; + this.oldStyleCredential = null; } - private FirebaseCredentials(GoogleCredential credentials) { + private FirebaseCredentials(GoogleCredentials credentials) { this.credentials = credentials; + this.oldStyleCredential = null; + } + + private FirebaseCredentials(GoogleCredential credential) { + this.credentials = null; + this.oldStyleCredential = credential; } /** @@ -69,16 +96,32 @@ public static FirebaseCredentials empty() { } /** - * Creates a new {@code FirebaseCredentials} from the given {@link GoogleCredential}. + * Creates a new {@code FirebaseCredentials} from the given {@link GoogleCredentials}. * - *

The method sets scopes required for Firebase. + *

This method sets scopes required to use the Firebase database. * - *

The method is useful to create credentials from the - * {@linkplain GoogleCredential#getApplicationDefault() application default credentials}. + *

This method is useful to create credentials from the + * {@linkplain GoogleCredentials#getApplicationDefault() application default credentials}. * - * @param credentials the credentials to create from + * @param credentials + * the credentials to create from * @return a new instance of {@code FirebaseCredentials} */ + public static FirebaseCredentials fromGoogleCredentials(GoogleCredentials credentials) { + checkNotNull(credentials); + GoogleCredentials scopedCredential = credentials.createScoped(AUTH_SCOPES); + return new FirebaseCredentials(scopedCredential); + } + + /** + * Creates a new {@code FirebaseCredentials} from the given {@link GoogleCredentials}. + * + *

This method sets scopes required to use the Firebase database. + * + * @deprecated please use {@link #fromGoogleCredentials(GoogleCredentials)} or any other + * alternative instead + */ + @Deprecated public static FirebaseCredentials fromGoogleCredentials(GoogleCredential credentials) { checkNotNull(credentials); GoogleCredential scopedCredential = credentials.createScoped(AUTH_SCOPES); @@ -98,37 +141,50 @@ public static FirebaseCredentials fromGoogleCredentials(GoogleCredential credent * @return a new instance of {@code FirebaseCredentials} * @throws java.lang.IllegalArgumentException * in case there are problems with parsing the given stream into - * {@link GoogleCredential} + * {@link GoogleCredentials} */ public static FirebaseCredentials fromStream(InputStream credentialStream) { checkNotNull(credentialStream); - GoogleCredential credentials = parseCredentials(credentialStream); + GoogleCredentials credentials = parseCredentials(credentialStream); return fromGoogleCredentials(credentials); } /** - * Checks if the instance of the {@code FirebaseCredentials} is empty. + * Authenticates a given {@link HttpRequest} with the wrapped Google credentials instance. * - * @return {@code true} if {@code FirebaseCredentials} are empty and {@code false} otherwise + * @throws IllegalStateException + * if this instance of {@code FirebaseCredentials} is {@linkplain #isEmpty() empty} */ - public boolean isEmpty() { - return credentials == null; + @Internal + @Override + public void initialize(HttpRequest request) throws IOException { + checkState(!isEmpty(), + "An empty credentials instance cannot serve as HTTP request initializer."); + if (isOldStyle()) { + oldStyleCredential.initialize(request); + } else { + HttpRequestInitializer adapter = new HttpCredentialsAdapter(credentials); + adapter.initialize(request); + } } /** - * Returns the underlying Google credentials. + * Checks if the instance of the {@code FirebaseCredentials} is empty. * - * @return the underlying credentials or {@code null} if the credentials are - * {@linkplain #isEmpty() empty} + * @return {@code true} if {@code FirebaseCredentials} are empty and {@code false} otherwise */ - @Nullable - GoogleCredential credentials() { - return credentials; + public boolean isEmpty() { + return credentials == null && oldStyleCredential == null; + } + + @VisibleForTesting + boolean isOldStyle() { + return oldStyleCredential != null; } - private static GoogleCredential parseCredentials(InputStream credentialStream) { + private static GoogleCredentials parseCredentials(InputStream credentialStream) { try { - GoogleCredential credentials = GoogleCredential.fromStream(credentialStream); + GoogleCredentials credentials = GoogleCredentials.fromStream(credentialStream); return credentials; } catch (IOException e) { throw newIllegalArgumentException( diff --git a/firebase-web/src/test/java/io/spine/web/firebase/FirebaseClientFactoryTest.java b/firebase-web/src/test/java/io/spine/web/firebase/FirebaseClientFactoryTest.java index 4ead269aa..36e23fff3 100644 --- a/firebase-web/src/test/java/io/spine/web/firebase/FirebaseClientFactoryTest.java +++ b/firebase-web/src/test/java/io/spine/web/firebase/FirebaseClientFactoryTest.java @@ -20,7 +20,6 @@ package io.spine.web.firebase; -import com.google.api.client.googleapis.testing.auth.oauth2.MockGoogleCredential; import com.google.auth.oauth2.AccessToken; import com.google.auth.oauth2.GoogleCredentials; import com.google.common.testing.NullPointerTester; @@ -39,16 +38,12 @@ import java.util.Date; import static com.google.common.truth.Truth.assertThat; -import static io.spine.web.firebase.FirebaseCredentials.fromGoogleCredentials; import static org.mockito.Mockito.mock; -@DisplayName("FirebaseClientFactory should") +@DisplayName("`FirebaseClientFactory` should") class FirebaseClientFactoryTest extends UtilityClassTest { - private static final MockGoogleCredential GOOGLE_CREDENTIALS = - new MockGoogleCredential.Builder().build(); - private static final FirebaseCredentials CREDENTIALS = - fromGoogleCredentials(GOOGLE_CREDENTIALS); + private static final FirebaseCredentials CREDENTIALS = FirebaseCredentials.empty(); private static final String FIREBASE_APP_NAME = FirebaseClientFactoryTest.class.getSimpleName(); private FirebaseDatabase database = mock(FirebaseDatabase.class); diff --git a/firebase-web/src/test/java/io/spine/web/firebase/FirebaseCredentialsTest.java b/firebase-web/src/test/java/io/spine/web/firebase/FirebaseCredentialsTest.java index 3e33455fb..0ba956341 100644 --- a/firebase-web/src/test/java/io/spine/web/firebase/FirebaseCredentialsTest.java +++ b/firebase-web/src/test/java/io/spine/web/firebase/FirebaseCredentialsTest.java @@ -20,18 +20,22 @@ package io.spine.web.firebase; +import com.google.api.client.googleapis.testing.auth.oauth2.MockGoogleCredential; +import com.google.auth.oauth2.GoogleCredentials; import com.google.common.testing.NullPointerTester; import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; import java.io.ByteArrayInputStream; import java.io.InputStream; +import static com.google.common.truth.Truth.assertThat; import static io.spine.testing.DisplayNames.NOT_ACCEPT_NULLS; import static java.nio.charset.StandardCharsets.UTF_8; import static org.junit.jupiter.api.Assertions.assertThrows; -@DisplayName("FirebaseCredentials should") +@DisplayName("`FirebaseCredentials` should") class FirebaseCredentialsTest { @Test @@ -40,9 +44,43 @@ void passNullToleranceCheck() { new NullPointerTester().testAllPublicStaticMethods(FirebaseCredentials.class); } + @Nested + @DisplayName("be created") + class BeCreated { + + @Test + @DisplayName("without credentials") + void empty() { + FirebaseCredentials credentials = FirebaseCredentials.empty(); + assertThat(credentials.isEmpty()).isTrue(); + } + + @Test + @DisplayName("from `GoogleCredentials` instance") + void fromGoogleCredentials() { + GoogleCredentials googleCredentials = GoogleCredentials.newBuilder() + .build(); + FirebaseCredentials credentials = + FirebaseCredentials.fromGoogleCredentials(googleCredentials); + assertThat(credentials.isEmpty()).isFalse(); + assertThat(credentials.isOldStyle()).isFalse(); + } + + @SuppressWarnings("deprecation") // This test checks the deprecated method. + @Test + @DisplayName("from `GoogleCredential` instance") + void fromOldStyleCredentials() { + MockGoogleCredential googleCredential = new MockGoogleCredential.Builder().build(); + FirebaseCredentials credentials = + FirebaseCredentials.fromGoogleCredentials(googleCredential); + assertThat(credentials.isEmpty()).isFalse(); + assertThat(credentials.isOldStyle()).isTrue(); + } + } + @SuppressWarnings({"CheckReturnValue", "ResultOfMethodCallIgnored"}) @Test - @DisplayName("throw IAE when created from invalid data") + @DisplayName("throw `IAE` when created from invalid data") void throwOnInvalidData() { String invalidCredentials = "invalid_credentials"; InputStream stream = toInputStream(invalidCredentials); diff --git a/integration-tests/js-tests/package.json b/integration-tests/js-tests/package.json index 90f1dcb43..ecd97d372 100644 --- a/integration-tests/js-tests/package.json +++ b/integration-tests/js-tests/package.json @@ -1,6 +1,6 @@ { "name": "client-js-tests", - "version": "1.5.0", + "version": "1.5.2", "license": "Apache-2.0", "description": "Tests of a `spine-web` JS library against the Spine-based application.", "scripts": { diff --git a/integration-tests/test-app/src/main/java/io/spine/web/test/given/Application.java b/integration-tests/test-app/src/main/java/io/spine/web/test/given/Application.java index 711cc509e..69392d15e 100644 --- a/integration-tests/test-app/src/main/java/io/spine/web/test/given/Application.java +++ b/integration-tests/test-app/src/main/java/io/spine/web/test/given/Application.java @@ -20,7 +20,6 @@ package io.spine.web.test.given; -import com.google.api.client.googleapis.auth.oauth2.GoogleCredential; import com.google.auth.oauth2.GoogleCredentials; import com.google.firebase.FirebaseApp; import com.google.firebase.FirebaseOptions; @@ -95,12 +94,9 @@ static Application create(BoundedContext boundedContext) { private static FirebaseClient buildClient() { Resource googleCredentialsFile = Resource.file("spine-dev.json"); - // Same credentials but represented with different Java objects. GoogleCredentials credentials; - GoogleCredential credential; try { credentials = GoogleCredentials.fromStream(googleCredentialsFile.open()); - credential = GoogleCredential.fromStream(googleCredentialsFile.open()); } catch (IOException e) { throw new IllegalStateException(e); } @@ -112,7 +108,7 @@ private static FirebaseClient buildClient() { FirebaseApp.initializeApp(options); FirebaseDatabase database = FirebaseDatabase.getInstance(); - FirebaseCredentials firebaseCredentials = fromGoogleCredentials(credential); + FirebaseCredentials firebaseCredentials = fromGoogleCredentials(credentials); FirebaseClient firebaseClient = remoteClient(database, firebaseCredentials); return new TidyClient(firebaseClient); } diff --git a/license-report.md b/license-report.md index bbce290da..14738f0b8 100644 --- a/license-report.md +++ b/license-report.md @@ -1,6 +1,6 @@ -# Dependencies of `io.spine:spine-client-js:1.5.1` +# Dependencies of `io.spine:spine-client-js:1.5.2` ## Runtime 1. **Group:** com.google.code.findbugs **Name:** jsr305 **Version:** 3.0.2 @@ -390,10 +390,10 @@ The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri Mar 13 18:29:40 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Tue Mar 17 02:55:29 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -#NPM dependencies of `spine-web@1.5.1` +#NPM dependencies of `spine-web@1.5.2` ## `Production` dependencies: @@ -424,7 +424,7 @@ This report was generated on **Fri Mar 13 18:29:40 EET 2020** using [Gradle-Lice 1. **safer-buffer@2.1.2** * Licenses: MIT * Repository: [https://github.com/ChALkeR/safer-buffer](https://github.com/ChALkeR/safer-buffer) -1. **spine-web@1.5.1** +1. **spine-web@1.5.2** * Licenses: Apache-2.0 * Repository: [https://github.com/SpineEventEngine/web](https://github.com/SpineEventEngine/web) 1. **tslib@1.10.0** @@ -801,12 +801,6 @@ This report was generated on **Fri Mar 13 18:29:40 EET 2020** using [Gradle-Lice 1. **@tootallnate/once@1.0.0** * Licenses: MIT * Repository: [https://github.com/TooTallNate/once](https://github.com/TooTallNate/once) -1. **@types/bytebuffer@5.0.40** - * Licenses: MIT - * Repository: [https://github.com/DefinitelyTyped/DefinitelyTyped](https://github.com/DefinitelyTyped/DefinitelyTyped) -1. **@types/long@4.0.1** - * Licenses: MIT - * Repository: [https://github.com/DefinitelyTyped/DefinitelyTyped](https://github.com/DefinitelyTyped/DefinitelyTyped) 1. **@types/node@10.17.17** * Licenses: MIT * Repository: [https://github.com/DefinitelyTyped/DefinitelyTyped](https://github.com/DefinitelyTyped/DefinitelyTyped) @@ -945,9 +939,6 @@ This report was generated on **Fri Mar 13 18:29:40 EET 2020** using [Gradle-Lice 1. **asap@2.0.6** * Licenses: MIT * Repository: [https://github.com/kriskowal/asap](https://github.com/kriskowal/asap) -1. **ascli@1.0.1** - * Licenses: Apache-2.0 - * Repository: [https://github.com/dcodeIO/ascli](https://github.com/dcodeIO/ascli) 1. **asn1.js@4.10.1** * Licenses: MIT * Repository: [https://github.com/indutny/asn1.js](https://github.com/indutny/asn1.js) @@ -1059,9 +1050,6 @@ This report was generated on **Fri Mar 13 18:29:40 EET 2020** using [Gradle-Lice 1. **builtin-status-codes@3.0.0** * Licenses: MIT * Repository: [https://github.com/bendrucker/builtin-status-codes](https://github.com/bendrucker/builtin-status-codes) -1. **bytebuffer@5.0.1** - * Licenses: Apache-2.0 - * Repository: [https://github.com/dcodeIO/bytebuffer.js](https://github.com/dcodeIO/bytebuffer.js) 1. **cacache@12.0.3** * Licenses: ISC * Repository: [https://github.com/npm/cacache](https://github.com/npm/cacache) @@ -1071,9 +1059,6 @@ This report was generated on **Fri Mar 13 18:29:40 EET 2020** using [Gradle-Lice 1. **caching-transform@3.0.2** * Licenses: MIT * Repository: [https://github.com/istanbuljs/caching-transform](https://github.com/istanbuljs/caching-transform) -1. **camelcase@2.1.1** - * Licenses: MIT - * Repository: [https://github.com/sindresorhus/camelcase](https://github.com/sindresorhus/camelcase) 1. **camelcase@5.3.1** * Licenses: MIT * Repository: [https://github.com/sindresorhus/camelcase](https://github.com/sindresorhus/camelcase) @@ -1104,9 +1089,6 @@ This report was generated on **Fri Mar 13 18:29:40 EET 2020** using [Gradle-Lice 1. **class-utils@0.3.6** * Licenses: MIT * Repository: [https://github.com/jonschlinkert/class-utils](https://github.com/jonschlinkert/class-utils) -1. **cliui@3.2.0** - * Licenses: ISC - * Repository: [https://github.com/yargs/cliui](https://github.com/yargs/cliui) 1. **cliui@5.0.0** * Licenses: ISC * Repository: [https://github.com/yargs/cliui](https://github.com/yargs/cliui) @@ -1125,9 +1107,6 @@ This report was generated on **Fri Mar 13 18:29:40 EET 2020** using [Gradle-Lice 1. **color-name@1.1.3** * Licenses: MIT * Repository: [https://github.com/dfcreative/color-name](https://github.com/dfcreative/color-name) -1. **colour@0.7.1** - * Licenses: MIT - * Repository: [https://github.com/dcodeIO/colour.js](https://github.com/dcodeIO/colour.js) 1. **commander@2.15.1** * Licenses: MIT * Repository: [https://github.com/tj/commander.js](https://github.com/tj/commander.js) @@ -1218,9 +1197,6 @@ This report was generated on **Fri Mar 13 18:29:40 EET 2020** using [Gradle-Lice 1. **debuglog@1.0.1** * Licenses: MIT * Repository: [https://github.com/sam-github/node-debuglog](https://github.com/sam-github/node-debuglog) -1. **decamelize@1.2.0** - * Licenses: MIT - * Repository: [https://github.com/sindresorhus/decamelize](https://github.com/sindresorhus/decamelize) 1. **decode-uri-component@0.2.0** * Licenses: MIT * Repository: [https://github.com/SamVerschueren/decode-uri-component](https://github.com/SamVerschueren/decode-uri-component) @@ -1287,9 +1263,6 @@ This report was generated on **Fri Mar 13 18:29:40 EET 2020** using [Gradle-Lice 1. **emojis-list@3.0.0** * Licenses: MIT * Repository: [https://github.com/kikobeats/emojis-list](https://github.com/kikobeats/emojis-list) -1. **end-of-stream@1.4.4** - * Licenses: MIT - * Repository: [https://github.com/mafintosh/end-of-stream](https://github.com/mafintosh/end-of-stream) 1. **enhanced-resolve@4.1.0** * Licenses: MIT * Repository: [https://github.com/webpack/enhanced-resolve](https://github.com/webpack/enhanced-resolve) @@ -1419,9 +1392,6 @@ This report was generated on **Fri Mar 13 18:29:40 EET 2020** using [Gradle-Lice 1. **get-caller-file@2.0.5** * Licenses: ISC * Repository: [https://github.com/stefanpenner/get-caller-file](https://github.com/stefanpenner/get-caller-file) -1. **get-stream@4.1.0** - * Licenses: MIT - * Repository: [https://github.com/sindresorhus/get-stream](https://github.com/sindresorhus/get-stream) 1. **get-value@2.0.6** * Licenses: MIT * Repository: [https://github.com/jonschlinkert/get-value](https://github.com/jonschlinkert/get-value) @@ -1434,9 +1404,6 @@ This report was generated on **Fri Mar 13 18:29:40 EET 2020** using [Gradle-Lice 1. **glob@7.1.4** * Licenses: ISC * Repository: [https://github.com/isaacs/node-glob](https://github.com/isaacs/node-glob) -1. **glob@7.1.6** - * Licenses: ISC - * Repository: [https://github.com/isaacs/node-glob](https://github.com/isaacs/node-glob) 1. **global-modules@1.0.0** * Licenses: MIT * Repository: [https://github.com/jonschlinkert/global-modules](https://github.com/jonschlinkert/global-modules) @@ -1572,9 +1539,6 @@ This report was generated on **Fri Mar 13 18:29:40 EET 2020** using [Gradle-Lice 1. **invariant@2.2.4** * Licenses: MIT * Repository: [https://github.com/zertosh/invariant](https://github.com/zertosh/invariant) -1. **invert-kv@1.0.0** - * Licenses: MIT - * Repository: [https://github.com/sindresorhus/invert-kv](https://github.com/sindresorhus/invert-kv) 1. **invert-kv@2.0.0** * Licenses: MIT * Repository: [https://github.com/sindresorhus/invert-kv](https://github.com/sindresorhus/invert-kv) @@ -1716,9 +1680,6 @@ This report was generated on **Fri Mar 13 18:29:40 EET 2020** using [Gradle-Lice 1. **kind-of@6.0.3** * Licenses: MIT * Repository: [https://github.com/jonschlinkert/kind-of](https://github.com/jonschlinkert/kind-of) -1. **lcid@1.0.0** - * Licenses: MIT - * Repository: [https://github.com/sindresorhus/lcid](https://github.com/sindresorhus/lcid) 1. **lcid@2.0.0** * Licenses: MIT * Repository: [https://github.com/sindresorhus/lcid](https://github.com/sindresorhus/lcid) @@ -1749,12 +1710,6 @@ This report was generated on **Fri Mar 13 18:29:40 EET 2020** using [Gradle-Lice 1. **locate-path@3.0.0** * Licenses: MIT * Repository: [https://github.com/sindresorhus/locate-path](https://github.com/sindresorhus/locate-path) -1. **lodash.camelcase@4.3.0** - * Licenses: MIT - * Repository: [https://github.com/lodash/lodash](https://github.com/lodash/lodash) -1. **lodash.clone@4.5.0** - * Licenses: MIT - * Repository: [https://github.com/lodash/lodash](https://github.com/lodash/lodash) 1. **lodash.flattendeep@4.4.0** * Licenses: MIT * Repository: [https://github.com/lodash/lodash](https://github.com/lodash/lodash) @@ -1767,9 +1722,6 @@ This report was generated on **Fri Mar 13 18:29:40 EET 2020** using [Gradle-Lice 1. **lolex@5.1.2** * Licenses: BSD-3-Clause * Repository: [https://github.com/sinonjs/lolex](https://github.com/sinonjs/lolex) -1. **long@3.2.0** - * Licenses: Apache-2.0 - * Repository: [https://github.com/dcodeIO/long.js](https://github.com/dcodeIO/long.js) 1. **long@4.0.0** * Licenses: Apache-2.0 * Repository: [https://github.com/dcodeIO/long.js](https://github.com/dcodeIO/long.js) @@ -1836,9 +1788,6 @@ This report was generated on **Fri Mar 13 18:29:40 EET 2020** using [Gradle-Lice 1. **minimist@1.2.0** * Licenses: MIT * Repository: [https://github.com/substack/minimist](https://github.com/substack/minimist) -1. **minimist@1.2.5** - * Licenses: MIT - * Repository: [https://github.com/substack/minimist](https://github.com/substack/minimist) 1. **minipass@2.3.5** * Licenses: ISC * Repository: [https://github.com/isaacs/minipass](https://github.com/isaacs/minipass) @@ -1866,9 +1815,6 @@ This report was generated on **Fri Mar 13 18:29:40 EET 2020** using [Gradle-Lice 1. **ms@2.1.2** * Licenses: MIT * Repository: [https://github.com/zeit/ms](https://github.com/zeit/ms) -1. **nan@2.14.0** - * Licenses: MIT - * Repository: [https://github.com/nodejs/nan](https://github.com/nodejs/nan) 1. **nanomatch@1.2.13** * Licenses: MIT * Repository: [https://github.com/micromatch/nanomatch](https://github.com/micromatch/nanomatch) @@ -1959,18 +1905,12 @@ This report was generated on **Fri Mar 13 18:29:40 EET 2020** using [Gradle-Lice 1. **once@1.4.0** * Licenses: ISC * Repository: [https://github.com/isaacs/once](https://github.com/isaacs/once) -1. **optjs@3.2.2** - * Licenses: MIT - * Repository: [https://github.com/dcodeIO/opt.js](https://github.com/dcodeIO/opt.js) 1. **os-browserify@0.3.0** * Licenses: MIT * Repository: [https://github.com/CoderPuppy/os-browserify](https://github.com/CoderPuppy/os-browserify) 1. **os-homedir@1.0.2** * Licenses: MIT * Repository: [https://github.com/sindresorhus/os-homedir](https://github.com/sindresorhus/os-homedir) -1. **os-locale@1.4.0** - * Licenses: MIT - * Repository: [https://github.com/sindresorhus/os-locale](https://github.com/sindresorhus/os-locale) 1. **os-locale@3.1.0** * Licenses: MIT * Repository: [https://github.com/sindresorhus/os-locale](https://github.com/sindresorhus/os-locale) @@ -2088,9 +2028,6 @@ This report was generated on **Fri Mar 13 18:29:40 EET 2020** using [Gradle-Lice 1. **promise-polyfill@8.1.3** * Licenses: MIT * Repository: [https://github.com/taylorhakes/promise-polyfill](https://github.com/taylorhakes/promise-polyfill) -1. **protobufjs@5.0.3** - * Licenses: Apache-2.0 - * Repository: [https://github.com/dcodeIO/protobuf.js](https://github.com/dcodeIO/protobuf.js) 1. **protobufjs@6.8.9** * Licenses: BSD-3-Clause * Repository: [https://github.com/protobufjs/protobuf.js](https://github.com/protobufjs/protobuf.js) @@ -2106,9 +2043,6 @@ This report was generated on **Fri Mar 13 18:29:40 EET 2020** using [Gradle-Lice 1. **pump@2.0.1** * Licenses: MIT * Repository: [https://github.com/mafintosh/pump](https://github.com/mafintosh/pump) -1. **pump@3.0.0** - * Licenses: MIT - * Repository: [https://github.com/mafintosh/pump](https://github.com/mafintosh/pump) 1. **pumpify@1.5.1** * Licenses: MIT * Repository: [https://github.com/mafintosh/pumpify](https://github.com/mafintosh/pumpify) @@ -2256,9 +2190,6 @@ This report was generated on **Fri Mar 13 18:29:40 EET 2020** using [Gradle-Lice 1. **semver@5.7.1** * Licenses: ISC * Repository: [https://github.com/npm/node-semver](https://github.com/npm/node-semver) -1. **semver@6.3.0** - * Licenses: ISC - * Repository: [https://github.com/npm/node-semver](https://github.com/npm/node-semver) 1. **semver@7.0.0** * Licenses: ISC * Repository: [https://github.com/npm/node-semver](https://github.com/npm/node-semver) @@ -2346,7 +2277,7 @@ This report was generated on **Fri Mar 13 18:29:40 EET 2020** using [Gradle-Lice 1. **spdx-satisfies@4.0.1** * Licenses: MIT * Repository: [https://github.com/kemitchell/spdx-satisfies.js](https://github.com/kemitchell/spdx-satisfies.js) -1. **spine-web@1.5.1** +1. **spine-web@1.5.2** * Licenses: Apache-2.0 * Repository: [https://github.com/SpineEventEngine/web](https://github.com/SpineEventEngine/web) 1. **split-string@3.1.0** @@ -2565,15 +2496,9 @@ This report was generated on **Fri Mar 13 18:29:40 EET 2020** using [Gradle-Lice 1. **wide-align@1.1.3** * Licenses: ISC * Repository: [https://github.com/iarna/wide-align](https://github.com/iarna/wide-align) -1. **window-size@0.1.4** - * Licenses: MIT - * Repository: [https://github.com/jonschlinkert/window-size](https://github.com/jonschlinkert/window-size) 1. **worker-farm@1.7.0** * Licenses: MIT * Repository: [https://github.com/rvagg/node-worker-farm](https://github.com/rvagg/node-worker-farm) -1. **wrap-ansi@2.1.0** - * Licenses: MIT - * Repository: [https://github.com/chalk/wrap-ansi](https://github.com/chalk/wrap-ansi) 1. **wrap-ansi@5.1.0** * Licenses: MIT * Repository: [https://github.com/chalk/wrap-ansi](https://github.com/chalk/wrap-ansi) @@ -2589,9 +2514,6 @@ This report was generated on **Fri Mar 13 18:29:40 EET 2020** using [Gradle-Lice 1. **xtend@4.0.2** * Licenses: MIT * Repository: [https://github.com/Raynos/xtend](https://github.com/Raynos/xtend) -1. **y18n@3.2.1** - * Licenses: ISC - * Repository: [https://github.com/yargs/y18n](https://github.com/yargs/y18n) 1. **y18n@4.0.0** * Licenses: ISC * Repository: [https://github.com/yargs/y18n](https://github.com/yargs/y18n) @@ -2604,26 +2526,23 @@ This report was generated on **Fri Mar 13 18:29:40 EET 2020** using [Gradle-Lice 1. **yallist@3.1.1** * Licenses: ISC * Repository: [https://github.com/isaacs/yallist](https://github.com/isaacs/yallist) -1. **yargs-parser@13.1.1** +1. **yargs-parser@13.1.2** * Licenses: ISC * Repository: [https://github.com/yargs/yargs-parser](https://github.com/yargs/yargs-parser) 1. **yargs@13.2.4** * Licenses: MIT * Repository: [https://github.com/yargs/yargs](https://github.com/yargs/yargs) -1. **yargs@13.3.0** +1. **yargs@13.3.2** * Licenses: MIT * Repository: [https://github.com/yargs/yargs](https://github.com/yargs/yargs) -1. **yargs@3.32.0** - * Licenses: MIT - * Repository: [https://github.com/bcoe/yargs](https://github.com/bcoe/yargs) -This report was generated on **Fri Mar 13 2020 18:29:46 GMT+0200 (Eastern European Standard Time)** using [NPM License Checker](https://github.com/davglass/license-checker) library. +This report was generated on **Tue Mar 17 2020 02:55:34 GMT+0200 (Eastern European Standard Time)** using [NPM License Checker](https://github.com/davglass/license-checker) library. -# Dependencies of `io.spine.gcloud:spine-firebase-web:1.5.1` +# Dependencies of `io.spine.gcloud:spine-firebase-web:1.5.2` ## Runtime 1. **Group:** com.fasterxml.jackson.core **Name:** jackson-annotations **Version:** 2.9.10 @@ -2658,7 +2577,7 @@ This report was generated on **Fri Mar 13 2020 18:29:46 GMT+0200 (Eastern Europe * **POM Project URL:** [https://github.com/googleapis/gax-java](https://github.com/googleapis/gax-java) * **POM License: BSD** - [https://github.com/googleapis/gax-java/blob/master/LICENSE](https://github.com/googleapis/gax-java/blob/master/LICENSE) -1. **Group:** com.google.api-client **Name:** google-api-client **Version:** 1.25.0 +1. **Group:** com.google.api-client **Name:** google-api-client **Version:** 1.30.9 * **Manifest Project URL:** [https://developers.google.com/api-client-library/java/](https://developers.google.com/api-client-library/java/) * **POM License: The Apache Software License, Version 2.0** - [http://www.apache.org/licenses/LICENSE-2.0.txt](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -2951,7 +2870,7 @@ This report was generated on **Fri Mar 13 2020 18:29:46 GMT+0200 (Eastern Europe * **POM Project URL:** [https://github.com/googleapis/gax-java](https://github.com/googleapis/gax-java) * **POM License: BSD** - [https://github.com/googleapis/gax-java/blob/master/LICENSE](https://github.com/googleapis/gax-java/blob/master/LICENSE) -1. **Group:** com.google.api-client **Name:** google-api-client **Version:** 1.25.0 +1. **Group:** com.google.api-client **Name:** google-api-client **Version:** 1.30.9 * **Manifest Project URL:** [https://developers.google.com/api-client-library/java/](https://developers.google.com/api-client-library/java/) * **POM License: The Apache Software License, Version 2.0** - [http://www.apache.org/licenses/LICENSE-2.0.txt](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -3433,12 +3352,12 @@ This report was generated on **Fri Mar 13 2020 18:29:46 GMT+0200 (Eastern Europe The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri Mar 13 18:29:57 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Tue Mar 17 02:55:41 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine:spine-js-tests:1.5.1` +# Dependencies of `io.spine:spine-js-tests:1.5.2` ## Runtime 1. **Group:** com.google.code.findbugs **Name:** jsr305 **Version:** 3.0.2 @@ -3858,12 +3777,12 @@ This report was generated on **Fri Mar 13 18:29:57 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri Mar 13 18:30:51 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Tue Mar 17 02:57:09 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine:spine-test-app:1.5.1` +# Dependencies of `io.spine:spine-test-app:1.5.2` ## Runtime 1. **Group:** com.fasterxml.jackson.core **Name:** jackson-annotations **Version:** 2.9.10 @@ -3898,7 +3817,7 @@ This report was generated on **Fri Mar 13 18:30:51 EET 2020** using [Gradle-Lice * **POM Project URL:** [https://github.com/googleapis/gax-java](https://github.com/googleapis/gax-java) * **POM License: BSD** - [https://github.com/googleapis/gax-java/blob/master/LICENSE](https://github.com/googleapis/gax-java/blob/master/LICENSE) -1. **Group:** com.google.api-client **Name:** google-api-client **Version:** 1.25.0 +1. **Group:** com.google.api-client **Name:** google-api-client **Version:** 1.30.9 * **Manifest Project URL:** [https://developers.google.com/api-client-library/java/](https://developers.google.com/api-client-library/java/) * **POM License: The Apache Software License, Version 2.0** - [http://www.apache.org/licenses/LICENSE-2.0.txt](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -4208,7 +4127,7 @@ This report was generated on **Fri Mar 13 18:30:51 EET 2020** using [Gradle-Lice * **POM Project URL:** [https://github.com/googleapis/gax-java](https://github.com/googleapis/gax-java) * **POM License: BSD** - [https://github.com/googleapis/gax-java/blob/master/LICENSE](https://github.com/googleapis/gax-java/blob/master/LICENSE) -1. **Group:** com.google.api-client **Name:** google-api-client **Version:** 1.25.0 +1. **Group:** com.google.api-client **Name:** google-api-client **Version:** 1.30.9 * **Manifest Project URL:** [https://developers.google.com/api-client-library/java/](https://developers.google.com/api-client-library/java/) * **POM License: The Apache Software License, Version 2.0** - [http://www.apache.org/licenses/LICENSE-2.0.txt](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -5428,12 +5347,12 @@ This report was generated on **Fri Mar 13 18:30:51 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri Mar 13 18:30:57 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Tue Mar 17 02:57:14 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine:spine-testutil-web:1.5.1` +# Dependencies of `io.spine:spine-testutil-web:1.5.2` ## Runtime 1. **Group:** com.google.android **Name:** annotations **Version:** 4.1.1.4 @@ -5914,12 +5833,12 @@ This report was generated on **Fri Mar 13 18:30:57 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri Mar 13 18:30:58 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Tue Mar 17 02:57:15 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine:spine-web:1.5.1` +# Dependencies of `io.spine:spine-web:1.5.2` ## Runtime 1. **Group:** com.google.android **Name:** annotations **Version:** 4.1.1.4 @@ -6429,4 +6348,4 @@ This report was generated on **Fri Mar 13 18:30:58 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri Mar 13 18:31:02 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). \ No newline at end of file +This report was generated on **Tue Mar 17 02:57:19 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). \ No newline at end of file diff --git a/pom.xml b/pom.xml index b33e1ace0..bd6aa2615 100644 --- a/pom.xml +++ b/pom.xml @@ -12,7 +12,7 @@ all modules and does not describe the project structure per-subproject. io.spine spine-web -1.5.1 +1.5.2 2015 diff --git a/version.gradle b/version.gradle index 5d9da2450..98564b2e8 100644 --- a/version.gradle +++ b/version.gradle @@ -19,8 +19,8 @@ */ ext { - spineVersion = '1.5.1' - spineBaseVersion = spineVersion + spineVersion = '1.5.2' + spineBaseVersion = '1.5.1' spineCoreVersion = '1.5.0' versionToPublish = spineVersion