-
Notifications
You must be signed in to change notification settings - Fork 637
Add support for Code Execution #7265
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Javadoc Changes:--- /home/runner/diff/original/firebase-kotlindoc/android/client/firebase-ai/_toc.yaml 2025-08-20 17:50:16.137130459 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/android/client/firebase-ai/_toc.yaml 2025-08-20 17:46:31.400039704 +0000
@@ -194,6 +194,8 @@
path: "/docs/reference/android/com/google/firebase/ai/type/MediaData.html"
- title: "ModalityTokenCount"
path: "/docs/reference/android/com/google/firebase/ai/type/ModalityTokenCount.html"
+ - title: "Outcome"
+ path: "/docs/reference/android/com/google/firebase/ai/type/Outcome.html"
- title: "PartKt"
path: "/docs/reference/android/com/google/firebase/ai/type/PartKt.html"
- title: "PromptFeedback" --- /home/runner/diff/original/firebase-kotlindoc/android/com/google/firebase/ai/type/CodeExecutionResultPart.html 2025-08-20 17:50:16.174131280 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/android/com/google/firebase/ai/type/CodeExecutionResultPart.html 2025-08-20 17:46:31.420040193 +0000
@@ -11,6 +11,7 @@
<pre>public final class <a href="/docs/reference/android/com/google/firebase/ai/type/CodeExecutionResultPart.html">CodeExecutionResultPart</a> implements <a href="/docs/reference/android/com/google/firebase/ai/type/Part.html">Part</a></pre>
</p>
<hr>
+ <p>Represents the code execution result from the model.</p>
<h2>Summary</h2>
<div class="devsite-table-wrapper">
<table class="responsive">
@@ -28,18 +29,21 @@
<td><code>boolean</code></td>
<td>
<div><code><a href="/docs/reference/android/com/google/firebase/ai/type/CodeExecutionResultPart.html#isThought()">isThought</a></code></div>
+ <p>Indicates whether the response is a thought.</p>
</td>
</tr>
<tr>
- <td><code>final @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/kotlin/java/lang/String.html">String</a></code></td>
+ <td><code>final @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/ai/type/Outcome.html">Outcome</a></code></td>
<td>
<div><code><a href="/docs/reference/android/com/google/firebase/ai/type/CodeExecutionResultPart.html#outcome()">outcome</a></code></div>
+ <p>The result of the execution.</p>
</td>
</tr>
<tr>
<td><code>final @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/kotlin/java/lang/String.html">String</a></code></td>
<td>
<div><code><a href="/docs/reference/android/com/google/firebase/ai/type/CodeExecutionResultPart.html#output()">output</a></code></div>
+ <p>The stdout from the code execution, or an error message if it failed.</p>
</td>
</tr>
</tbody>
@@ -59,7 +63,7 @@
<tbody class="list">
<tr>
<td>
- <div><code><a href="/docs/reference/android/com/google/firebase/ai/type/CodeExecutionResultPart.html#CodeExecutionResultPart(kotlin.String,kotlin.String)">CodeExecutionResultPart</a>(@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/kotlin/java/lang/String.html">String</a> outcome, @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/kotlin/java/lang/String.html">String</a> output)</code></div>
+ <div><code><a href="/docs/reference/android/com/google/firebase/ai/type/CodeExecutionResultPart.html#CodeExecutionResultPart(com.google.firebase.ai.type.Outcome,kotlin.String)">CodeExecutionResultPart</a>(@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/ai/type/Outcome.html">Outcome</a> outcome, @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/kotlin/java/lang/String.html">String</a> output)</code></div>
</td>
</tr>
</tbody>
@@ -70,21 +74,24 @@
<div class="api-item"><a name="getIsThought()"></a><a name="setIsThought()"></a><a name="getIsThought--"></a><a name="setIsThought--"></a>
<h3 class="api-name" id="isThought()">isThought</h3>
<pre class="api-signature no-pretty-print">public boolean <a href="/docs/reference/android/com/google/firebase/ai/type/CodeExecutionResultPart.html#isThought()">isThought</a></pre>
+ <p>Indicates whether the response is a thought.</p>
</div>
<div class="api-item"><a name="getOutcome()"></a><a name="setOutcome()"></a><a name="getOutcome--"></a><a name="setOutcome--"></a>
<h3 class="api-name" id="outcome()">outcome</h3>
- <pre class="api-signature no-pretty-print">public final @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/kotlin/java/lang/String.html">String</a> <a href="/docs/reference/android/com/google/firebase/ai/type/CodeExecutionResultPart.html#outcome()">outcome</a></pre>
+ <pre class="api-signature no-pretty-print">public final @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/ai/type/Outcome.html">Outcome</a> <a href="/docs/reference/android/com/google/firebase/ai/type/CodeExecutionResultPart.html#outcome()">outcome</a></pre>
+ <p>The result of the execution.</p>
</div>
<div class="api-item"><a name="getOutput()"></a><a name="setOutput()"></a><a name="getOutput--"></a><a name="setOutput--"></a>
<h3 class="api-name" id="output()">output</h3>
<pre class="api-signature no-pretty-print">public final @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/kotlin/java/lang/String.html">String</a> <a href="/docs/reference/android/com/google/firebase/ai/type/CodeExecutionResultPart.html#output()">output</a></pre>
+ <p>The stdout from the code execution, or an error message if it failed.</p>
</div>
</div>
<div class="list">
<h2>Public constructors</h2>
- <div class="api-item"><a name="CodeExecutionResultPart(kotlin.String, kotlin.String)"></a><a name="CodeExecutionResultPart-kotlin.String-kotlin.String-"></a><a name="codeexecutionresultpart"></a>
- <h3 class="api-name" id="CodeExecutionResultPart(kotlin.String,kotlin.String)">CodeExecutionResultPart</h3>
- <pre class="api-signature no-pretty-print">public <a href="/docs/reference/android/com/google/firebase/ai/type/CodeExecutionResultPart.html#CodeExecutionResultPart(kotlin.String,kotlin.String)">CodeExecutionResultPart</a>(@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/kotlin/java/lang/String.html">String</a> outcome, @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/kotlin/java/lang/String.html">String</a> output)</pre>
+ <div class="api-item"><a name="CodeExecutionResultPart(com.google.firebase.ai.type.Outcome, kotlin.String)"></a><a name="CodeExecutionResultPart-com.google.firebase.ai.type.Outcome-kotlin.String-"></a><a name="codeexecutionresultpart"></a>
+ <h3 class="api-name" id="CodeExecutionResultPart(com.google.firebase.ai.type.Outcome,kotlin.String)">CodeExecutionResultPart</h3>
+ <pre class="api-signature no-pretty-print">public <a href="/docs/reference/android/com/google/firebase/ai/type/CodeExecutionResultPart.html#CodeExecutionResultPart(com.google.firebase.ai.type.Outcome,kotlin.String)">CodeExecutionResultPart</a>(@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/ai/type/Outcome.html">Outcome</a> outcome, @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/kotlin/java/lang/String.html">String</a> output)</pre>
</div>
</div>
</body> --- /home/runner/diff/original/firebase-kotlindoc/android/com/google/firebase/ai/type/ExecutableCodePart.html 2025-08-20 17:50:16.184131502 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/android/com/google/firebase/ai/type/ExecutableCodePart.html 2025-08-20 17:46:31.425040315 +0000
@@ -11,6 +11,7 @@
<pre>public final class <a href="/docs/reference/android/com/google/firebase/ai/type/ExecutableCodePart.html">ExecutableCodePart</a> implements <a href="/docs/reference/android/com/google/firebase/ai/type/Part.html">Part</a></pre>
</p>
<hr>
+ <p>Represents the code that is executed by the model.</p>
<h2>Summary</h2>
<div class="devsite-table-wrapper">
<table class="responsive">
@@ -28,18 +29,21 @@
<td><code>final @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/kotlin/java/lang/String.html">String</a></code></td>
<td>
<div><code><a href="/docs/reference/android/com/google/firebase/ai/type/ExecutableCodePart.html#code()">code</a></code></div>
+ <p>The source code to be executed.</p>
</td>
</tr>
<tr>
<td><code>boolean</code></td>
<td>
<div><code><a href="/docs/reference/android/com/google/firebase/ai/type/ExecutableCodePart.html#isThought()">isThought</a></code></div>
+ <p>Indicates whether the response is a thought.</p>
</td>
</tr>
<tr>
<td><code>final @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/kotlin/java/lang/String.html">String</a></code></td>
<td>
<div><code><a href="/docs/reference/android/com/google/firebase/ai/type/ExecutableCodePart.html#language()">language</a></code></div>
+ <p>The programming language of the code.</p>
</td>
</tr>
</tbody>
@@ -70,14 +74,17 @@
<div class="api-item"><a name="getCode()"></a><a name="setCode()"></a><a name="getCode--"></a><a name="setCode--"></a>
<h3 class="api-name" id="code()">code</h3>
<pre class="api-signature no-pretty-print">public final @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/kotlin/java/lang/String.html">String</a> <a href="/docs/reference/android/com/google/firebase/ai/type/ExecutableCodePart.html#code()">code</a></pre>
+ <p>The source code to be executed.</p>
</div>
<div class="api-item"><a name="getIsThought()"></a><a name="setIsThought()"></a><a name="getIsThought--"></a><a name="setIsThought--"></a>
<h3 class="api-name" id="isThought()">isThought</h3>
<pre class="api-signature no-pretty-print">public boolean <a href="/docs/reference/android/com/google/firebase/ai/type/ExecutableCodePart.html#isThought()">isThought</a></pre>
+ <p>Indicates whether the response is a thought.</p>
</div>
<div class="api-item"><a name="getLanguage()"></a><a name="setLanguage()"></a><a name="getLanguage--"></a><a name="setLanguage--"></a>
<h3 class="api-name" id="language()">language</h3>
<pre class="api-signature no-pretty-print">public final @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/kotlin/java/lang/String.html">String</a> <a href="/docs/reference/android/com/google/firebase/ai/type/ExecutableCodePart.html#language()">language</a></pre>
+ <p>The programming language of the code.</p>
</div>
</div>
<div class="list"> --- /home/runner/diff/original/firebase-kotlindoc/android/com/google/firebase/ai/type/Outcome.Companion.html 1970-01-01 00:00:00.000000000 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/android/com/google/firebase/ai/type/Outcome.Companion.html 2025-08-20 17:46:31.408039900 +0000
@@ -0,0 +1,16 @@
+<html devsite="true">
+ <head>
+ <title>Outcome.Companion</title>
+{% setvar book_path %}/_book.yaml{% endsetvar %}
+{% include "docs/reference/android/_reference-head-tags.html" %}
+ </head>
+ <body>
+ <div id="metadata-info-block"></div>
+ <h1>Outcome.Companion</h1>
+ <p>
+ <pre>public static class <a href="/docs/reference/android/com/google/firebase/ai/type/Outcome.Companion.html">Outcome.Companion</a></pre>
+ </p>
+ <hr>
+ </body>
+</html>
+ --- /home/runner/diff/original/firebase-kotlindoc/android/com/google/firebase/ai/type/Outcome.html 1970-01-01 00:00:00.000000000 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/android/com/google/firebase/ai/type/Outcome.html 2025-08-20 17:46:31.410039948 +0000
@@ -0,0 +1,114 @@
+<html devsite="true">
+ <head>
+ <title>Outcome</title>
+{% setvar book_path %}/_book.yaml{% endsetvar %}
+{% include "docs/reference/android/_reference-head-tags.html" %}
+ </head>
+ <body>
+ <div id="metadata-info-block"></div>
+ <h1>Outcome</h1>
+ <p>
+ <pre>public final class <a href="/docs/reference/android/com/google/firebase/ai/type/Outcome.html">Outcome</a></pre>
+ </p>
+ <hr>
+ <p>Represents the result of the code execution</p>
+ <h2>Summary</h2>
+ <div class="devsite-table-wrapper">
+ <table class="responsive">
+ <colgroup>
+ <col width="40%">
+ <col>
+ </colgroup>
+ <thead>
+ <tr>
+ <th colspan="100%"><h3>Nested types</h3></th>
+ </tr>
+ </thead>
+ <tbody class="list">
+ <tr>
+ <td>
+ <div><code>public static class <a href="/docs/reference/android/com/google/firebase/ai/type/Outcome.Companion.html">Outcome.Companion</a></code></div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ <div class="devsite-table-wrapper">
+ <table class="responsive">
+ <colgroup>
+ <col width="40%">
+ <col>
+ </colgroup>
+ <thead>
+ <tr>
+ <th colspan="100%"><h3>Public fields</h3></th>
+ </tr>
+ </thead>
+ <tbody class="list">
+ <tr>
+ <td><code>static final @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/ai/type/Outcome.html">Outcome</a></code></td>
+ <td>
+ <div><code><a href="/docs/reference/android/com/google/firebase/ai/type/Outcome.Companion.html#OUTCOME_DEADLINE_EXCEEDED()">OUTCOME_DEADLINE_EXCEEDED</a></code></div>
+ <p>Represents that the code execution timed out</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>static final @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/ai/type/Outcome.html">Outcome</a></code></td>
+ <td>
+ <div><code><a href="/docs/reference/android/com/google/firebase/ai/type/Outcome.Companion.html#OUTCOME_FAILED()">OUTCOME_FAILED</a></code></div>
+ <p>Represents that the code execution failed</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>static final @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/ai/type/Outcome.html">Outcome</a></code></td>
+ <td>
+ <div><code><a href="/docs/reference/android/com/google/firebase/ai/type/Outcome.Companion.html#OUTCOME_OK()">OUTCOME_OK</a></code></div>
+ <p>Represents that the code execution succeeded</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>static final @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/ai/type/Outcome.html">Outcome</a></code></td>
+ <td>
+ <div><code><a href="/docs/reference/android/com/google/firebase/ai/type/Outcome.Companion.html#OUTCOME_UNSPECIFIED()">OUTCOME_UNSPECIFIED</a></code></div>
+ <p>Represents that the code execution outcome is unspecified</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>final int</code></td>
+ <td>
+ <div><code><a href="/docs/reference/android/com/google/firebase/ai/type/Outcome.html#ordinal()">ordinal</a></code></div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ <div class="list">
+ <h2>Public fields</h2>
+ <div class="api-item"><a name="getOUTCOME_DEADLINE_EXCEEDED()"></a><a name="setOUTCOME_DEADLINE_EXCEEDED()"></a><a name="getOUTCOME_DEADLINE_EXCEEDED--"></a><a name="setOUTCOME_DEADLINE_EXCEEDED--"></a>
+ <h3 class="api-name" id="OUTCOME_DEADLINE_EXCEEDED()">OUTCOME_DEADLINE_EXCEEDED</h3>
+ <pre class="api-signature no-pretty-print">public static final @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/ai/type/Outcome.html">Outcome</a> <a href="/docs/reference/android/com/google/firebase/ai/type/Outcome.Companion.html#OUTCOME_DEADLINE_EXCEEDED()">OUTCOME_DEADLINE_EXCEEDED</a></pre>
+ <p>Represents that the code execution timed out</p>
+ </div>
+ <div class="api-item"><a name="getOUTCOME_FAILED()"></a><a name="setOUTCOME_FAILED()"></a><a name="getOUTCOME_FAILED--"></a><a name="setOUTCOME_FAILED--"></a>
+ <h3 class="api-name" id="OUTCOME_FAILED()">OUTCOME_FAILED</h3>
+ <pre class="api-signature no-pretty-print">public static final @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/ai/type/Outcome.html">Outcome</a> <a href="/docs/reference/android/com/google/firebase/ai/type/Outcome.Companion.html#OUTCOME_FAILED()">OUTCOME_FAILED</a></pre>
+ <p>Represents that the code execution failed</p>
+ </div>
+ <div class="api-item"><a name="getOUTCOME_OK()"></a><a name="setOUTCOME_OK()"></a><a name="getOUTCOME_OK--"></a><a name="setOUTCOME_OK--"></a>
+ <h3 class="api-name" id="OUTCOME_OK()">OUTCOME_OK</h3>
+ <pre class="api-signature no-pretty-print">public static final @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/ai/type/Outcome.html">Outcome</a> <a href="/docs/reference/android/com/google/firebase/ai/type/Outcome.Companion.html#OUTCOME_OK()">OUTCOME_OK</a></pre>
+ <p>Represents that the code execution succeeded</p>
+ </div>
+ <div class="api-item"><a name="getOUTCOME_UNSPECIFIED()"></a><a name="setOUTCOME_UNSPECIFIED()"></a><a name="getOUTCOME_UNSPECIFIED--"></a><a name="setOUTCOME_UNSPECIFIED--"></a>
+ <h3 class="api-name" id="OUTCOME_UNSPECIFIED()">OUTCOME_UNSPECIFIED</h3>
+ <pre class="api-signature no-pretty-print">public static final @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/ai/type/Outcome.html">Outcome</a> <a href="/docs/reference/android/com/google/firebase/ai/type/Outcome.Companion.html#OUTCOME_UNSPECIFIED()">OUTCOME_UNSPECIFIED</a></pre>
+ <p>Represents that the code execution outcome is unspecified</p>
+ </div>
+ <div class="api-item"><a name="getOrdinal()"></a><a name="setOrdinal()"></a><a name="getOrdinal--"></a><a name="setOrdinal--"></a>
+ <h3 class="api-name" id="ordinal()">ordinal</h3>
+ <pre class="api-signature no-pretty-print">public final int <a href="/docs/reference/android/com/google/firebase/ai/type/Outcome.html#ordinal()">ordinal</a></pre>
+ </div>
+ </div>
+ </body>
+</html>
+ --- /home/runner/diff/original/firebase-kotlindoc/android/com/google/firebase/ai/type/Part.html 2025-08-20 17:50:16.206131990 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/android/com/google/firebase/ai/type/Part.html 2025-08-20 17:46:31.447040852 +0000
@@ -23,11 +23,15 @@
<tbody class="list">
<tr>
<td><code><a href="/docs/reference/android/com/google/firebase/ai/type/CodeExecutionResultPart.html">CodeExecutionResultPart</a></code></td>
- <td></td>
+ <td>
+ <p>Represents the code execution result from the model.</p>
+ </td>
</tr>
<tr>
<td><code><a href="/docs/reference/android/com/google/firebase/ai/type/ExecutableCodePart.html">ExecutableCodePart</a></code></td>
- <td></td>
+ <td>
+ <p>Represents the code that is executed by the model.</p>
+ </td>
</tr>
<tr>
<td><code><a href="/docs/reference/android/com/google/firebase/ai/type/FileDataPart.html">FileDataPart</a></code></td> --- /home/runner/diff/original/firebase-kotlindoc/android/com/google/firebase/ai/type/Tool.Companion.html 2025-08-20 17:50:16.173131258 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/android/com/google/firebase/ai/type/Tool.Companion.html 2025-08-20 17:46:31.419040168 +0000
@@ -27,6 +27,13 @@
<tr>
<td><code>static final @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/ai/type/Tool.html">Tool</a></code></td>
<td>
+ <div><code><a href="/docs/reference/android/com/google/firebase/ai/type/Tool.Companion.html#codeExecution()">codeExecution</a>()</code></div>
+ <p>Creates a <code><a href="/docs/reference/android/com/google/firebase/ai/type/Tool.html">Tool</a></code> instance that allows the model to use Code Execution.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>static final @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/ai/type/Tool.html">Tool</a></code></td>
+ <td>
<div><code><a href="/docs/reference/android/com/google/firebase/ai/type/Tool.Companion.html#functionDeclarations(kotlin.collections.List)">functionDeclarations</a>(<br> @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/kotlin/java/util/List.html">List</a><@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/ai/type/FunctionDeclaration.html">FunctionDeclaration</a>> functionDeclarations<br>)</code></div>
<p>Creates a <code><a href="/docs/reference/android/com/google/firebase/ai/type/Tool.html">Tool</a></code> instance that provides the model with access to the <code><a href="/docs/reference/android/com/google/firebase/ai/type/Tool.Companion.html#functionDeclarations(kotlin.collections.List)">functionDeclarations</a></code>.</p>
</td>
@@ -43,6 +50,11 @@
</div>
<div class="list">
<h2>Public methods</h2>
+ <div class="api-item"><a name="codeExecution--"></a><a name="codeexecution"></a>
+ <h3 class="api-name" id="codeExecution()">codeExecution</h3>
+ <pre class="api-signature no-pretty-print">public static final @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/ai/type/Tool.html">Tool</a> <a href="/docs/reference/android/com/google/firebase/ai/type/Tool.Companion.html#codeExecution()">codeExecution</a>()</pre>
+ <p>Creates a <code><a href="/docs/reference/android/com/google/firebase/ai/type/Tool.html">Tool</a></code> instance that allows the model to use Code Execution.</p>
+ </div>
<div class="api-item"><a name="functionDeclarations-kotlin.collections.List-"></a><a name="functiondeclarations"></a>
<h3 class="api-name" id="functionDeclarations(kotlin.collections.List)">functionDeclarations</h3>
<pre class="api-signature no-pretty-print">public static final @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/ai/type/Tool.html">Tool</a> <a href="/docs/reference/android/com/google/firebase/ai/type/Tool.Companion.html#functionDeclarations(kotlin.collections.List)">functionDeclarations</a>(<br> @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/kotlin/java/util/List.html">List</a><@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/ai/type/FunctionDeclaration.html">FunctionDeclaration</a>> functionDeclarations<br>)</pre> --- /home/runner/diff/original/firebase-kotlindoc/android/com/google/firebase/ai/type/Tool.html 2025-08-20 17:50:16.205131968 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/android/com/google/firebase/ai/type/Tool.html 2025-08-20 17:46:31.447040852 +0000
@@ -48,6 +48,13 @@
<tr>
<td><code>static final @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/ai/type/Tool.html">Tool</a></code></td>
<td>
+ <div><code><a href="/docs/reference/android/com/google/firebase/ai/type/Tool.Companion.html#codeExecution()">codeExecution</a>()</code></div>
+ <p>Creates a <code><a href="/docs/reference/android/com/google/firebase/ai/type/Tool.html">Tool</a></code> instance that allows the model to use Code Execution.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>static final @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/ai/type/Tool.html">Tool</a></code></td>
+ <td>
<div><code><a href="/docs/reference/android/com/google/firebase/ai/type/Tool.Companion.html#functionDeclarations(kotlin.collections.List)">functionDeclarations</a>(<br> @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/kotlin/java/util/List.html">List</a><@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/ai/type/FunctionDeclaration.html">FunctionDeclaration</a>> functionDeclarations<br>)</code></div>
<p>Creates a <code><a href="/docs/reference/android/com/google/firebase/ai/type/Tool.html">Tool</a></code> instance that provides the model with access to the <code><a href="/docs/reference/android/com/google/firebase/ai/type/Tool.Companion.html#functionDeclarations(kotlin.collections.List)">functionDeclarations</a></code>.</p>
</td>
@@ -64,6 +71,11 @@
</div>
<div class="list">
<h2>Public methods</h2>
+ <div class="api-item"><a name="codeExecution--"></a><a name="codeexecution"></a>
+ <h3 class="api-name" id="codeExecution()">codeExecution</h3>
+ <pre class="api-signature no-pretty-print">public static final @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/ai/type/Tool.html">Tool</a> <a href="/docs/reference/android/com/google/firebase/ai/type/Tool.Companion.html#codeExecution()">codeExecution</a>()</pre>
+ <p>Creates a <code><a href="/docs/reference/android/com/google/firebase/ai/type/Tool.html">Tool</a></code> instance that allows the model to use Code Execution.</p>
+ </div>
<div class="api-item"><a name="functionDeclarations-kotlin.collections.List-"></a><a name="functiondeclarations"></a>
<h3 class="api-name" id="functionDeclarations(kotlin.collections.List)">functionDeclarations</h3>
<pre class="api-signature no-pretty-print">public static final @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/ai/type/Tool.html">Tool</a> <a href="/docs/reference/android/com/google/firebase/ai/type/Tool.Companion.html#functionDeclarations(kotlin.collections.List)">functionDeclarations</a>(<br> @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/kotlin/java/util/List.html">List</a><@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/ai/type/FunctionDeclaration.html">FunctionDeclaration</a>> functionDeclarations<br>)</pre> --- /home/runner/diff/original/firebase-kotlindoc/android/com/google/firebase/ai/type/package-summary.html 2025-08-20 17:50:16.186131546 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/android/com/google/firebase/ai/type/package-summary.html 2025-08-20 17:46:31.431040461 +0000
@@ -78,7 +78,9 @@
</tr>
<tr>
<td><code><a href="/docs/reference/android/com/google/firebase/ai/type/CodeExecutionResultPart.html">CodeExecutionResultPart</a></code></td>
- <td></td>
+ <td>
+ <p>Represents the code execution result from the model.</p>
+ </td>
</tr>
<tr>
<td><code><a href="/docs/reference/android/com/google/firebase/ai/type/Content.html">Content</a></code></td>
@@ -116,7 +118,9 @@
</tr>
<tr>
<td><code><a href="/docs/reference/android/com/google/firebase/ai/type/ExecutableCodePart.html">ExecutableCodePart</a></code></td>
- <td></td>
+ <td>
+ <p>Represents the code that is executed by the model.</p>
+ </td>
</tr>
<tr>
<td><code><a href="/docs/reference/android/com/google/firebase/ai/type/FileDataPart.html">FileDataPart</a></code></td>
@@ -463,6 +467,12 @@
</td>
</tr>
<tr>
+ <td><code><a href="/docs/reference/android/com/google/firebase/ai/type/Outcome.html">Outcome</a></code></td>
+ <td>
+ <p>Represents the result of the code execution</p>
+ </td>
+ </tr>
+ <tr>
<td><code><a href="/docs/reference/android/com/google/firebase/ai/type/PartKt.html">PartKt</a></code></td>
<td></td>
</tr> --- /home/runner/diff/original/firebase-kotlindoc/kotlin/client/firebase-ai/_toc.yaml 2025-08-20 17:50:16.046128440 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/kotlin/client/firebase-ai/_toc.yaml 2025-08-20 17:46:31.360038728 +0000
@@ -182,6 +182,8 @@
path: "/docs/reference/kotlin/com/google/firebase/ai/type/MediaData.html"
- title: "ModalityTokenCount"
path: "/docs/reference/kotlin/com/google/firebase/ai/type/ModalityTokenCount.html"
+ - title: "Outcome"
+ path: "/docs/reference/kotlin/com/google/firebase/ai/type/Outcome.html"
- title: "PromptFeedback"
path: "/docs/reference/kotlin/com/google/firebase/ai/type/PromptFeedback.html"
- title: "RequestOptions" --- /home/runner/diff/original/firebase-kotlindoc/kotlin/com/google/firebase/ai/type/CodeExecutionResultPart.html 2025-08-20 17:50:16.094129505 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/kotlin/com/google/firebase/ai/type/CodeExecutionResultPart.html 2025-08-20 17:46:31.378039168 +0000
@@ -11,6 +11,7 @@
<pre>class <a href="/docs/reference/kotlin/com/google/firebase/ai/type/CodeExecutionResultPart.html">CodeExecutionResultPart</a> : <a href="/docs/reference/kotlin/com/google/firebase/ai/type/Part.html">Part</a></pre>
</p>
<hr>
+ <p>Represents the code execution result from the model.</p>
<h2>Summary</h2>
<div class="devsite-table-wrapper">
<table class="responsive">
@@ -26,7 +27,7 @@
<tbody class="list">
<tr>
<td>
- <div><code><a href="/docs/reference/kotlin/com/google/firebase/ai/type/CodeExecutionResultPart.html#CodeExecutionResultPart(kotlin.String,kotlin.String)">CodeExecutionResultPart</a>(outcome: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a>, output: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a>)</code></div>
+ <div><code><a href="/docs/reference/kotlin/com/google/firebase/ai/type/CodeExecutionResultPart.html#CodeExecutionResultPart(com.google.firebase.ai.type.Outcome,kotlin.String)">CodeExecutionResultPart</a>(outcome: <a href="/docs/reference/kotlin/com/google/firebase/ai/type/Outcome.html">Outcome</a>, output: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a>)</code></div>
</td>
</tr>
</tbody>
@@ -48,18 +49,21 @@
<td><code>open <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html">Boolean</a></code></td>
<td>
<div><code><a href="/docs/reference/kotlin/com/google/firebase/ai/type/CodeExecutionResultPart.html#isThought()">isThought</a></code></div>
+ <p>Indicates whether the response is a thought.</p>
</td>
</tr>
<tr>
- <td><code><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a></code></td>
+ <td><code><a href="/docs/reference/kotlin/com/google/firebase/ai/type/Outcome.html">Outcome</a></code></td>
<td>
<div><code><a href="/docs/reference/kotlin/com/google/firebase/ai/type/CodeExecutionResultPart.html#outcome()">outcome</a></code></div>
+ <p>The result of the execution.</p>
</td>
</tr>
<tr>
<td><code><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a></code></td>
<td>
<div><code><a href="/docs/reference/kotlin/com/google/firebase/ai/type/CodeExecutionResultPart.html#output()">output</a></code></div>
+ <p>The stdout from the code execution, or an error message if it failed.</p>
</td>
</tr>
</tbody>
@@ -67,9 +71,9 @@
</div>
<div class="list">
<h2>Public constructors</h2>
- <div class="api-item"><a name="CodeExecutionResultPart(kotlin.String, kotlin.String)"></a><a name="CodeExecutionResultPart-kotlin.String-kotlin.String-"></a><a name="codeexecutionresultpart"></a>
- <h3 class="api-name" id="CodeExecutionResultPart(kotlin.String,kotlin.String)">CodeExecutionResultPart</h3>
- <pre class="api-signature no-pretty-print"><a href="/docs/reference/kotlin/com/google/firebase/ai/type/CodeExecutionResultPart.html#CodeExecutionResultPart(kotlin.String,kotlin.String)">CodeExecutionResultPart</a>(outcome: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a>, output: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a>)</pre>
+ <div class="api-item"><a name="CodeExecutionResultPart(com.google.firebase.ai.type.Outcome, kotlin.String)"></a><a name="CodeExecutionResultPart-com.google.firebase.ai.type.Outcome-kotlin.String-"></a><a name="codeexecutionresultpart"></a>
+ <h3 class="api-name" id="CodeExecutionResultPart(com.google.firebase.ai.type.Outcome,kotlin.String)">CodeExecutionResultPart</h3>
+ <pre class="api-signature no-pretty-print"><a href="/docs/reference/kotlin/com/google/firebase/ai/type/CodeExecutionResultPart.html#CodeExecutionResultPart(com.google.firebase.ai.type.Outcome,kotlin.String)">CodeExecutionResultPart</a>(outcome: <a href="/docs/reference/kotlin/com/google/firebase/ai/type/Outcome.html">Outcome</a>, output: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a>)</pre>
</div>
</div>
<div class="list">
@@ -77,14 +81,17 @@
<div class="api-item"><a name="getIsThought()"></a><a name="setIsThought()"></a><a name="getIsThought--"></a><a name="setIsThought--"></a>
<h3 class="api-name" id="isThought()">isThought</h3>
<pre class="api-signature no-pretty-print">open val <a href="/docs/reference/kotlin/com/google/firebase/ai/type/CodeExecutionResultPart.html#isThought()">isThought</a>: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html">Boolean</a></pre>
+ <p>Indicates whether the response is a thought.</p>
</div>
<div class="api-item"><a name="getOutcome()"></a><a name="setOutcome()"></a><a name="getOutcome--"></a><a name="setOutcome--"></a>
<h3 class="api-name" id="outcome()">outcome</h3>
- <pre class="api-signature no-pretty-print">val <a href="/docs/reference/kotlin/com/google/firebase/ai/type/CodeExecutionResultPart.html#outcome()">outcome</a>: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a></pre>
+ <pre class="api-signature no-pretty-print">val <a href="/docs/reference/kotlin/com/google/firebase/ai/type/CodeExecutionResultPart.html#outcome()">outcome</a>: <a href="/docs/reference/kotlin/com/google/firebase/ai/type/Outcome.html">Outcome</a></pre>
+ <p>The result of the execution.</p>
</div>
<div class="api-item"><a name="getOutput()"></a><a name="setOutput()"></a><a name="getOutput--"></a><a name="setOutput--"></a>
<h3 class="api-name" id="output()">output</h3>
<pre class="api-signature no-pretty-print">val <a href="/docs/reference/kotlin/com/google/firebase/ai/type/CodeExecutionResultPart.html#output()">output</a>: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a></pre>
+ <p>The stdout from the code execution, or an error message if it failed.</p>
</div>
</div>
</body> --- /home/runner/diff/original/firebase-kotlindoc/kotlin/com/google/firebase/ai/type/ExecutableCodePart.html 2025-08-20 17:50:16.096129549 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/kotlin/com/google/firebase/ai/type/ExecutableCodePart.html 2025-08-20 17:46:31.379039192 +0000
@@ -11,6 +11,7 @@
<pre>class <a href="/docs/reference/kotlin/com/google/firebase/ai/type/ExecutableCodePart.html">ExecutableCodePart</a> : <a href="/docs/reference/kotlin/com/google/firebase/ai/type/Part.html">Part</a></pre>
</p>
<hr>
+ <p>Represents the code that is executed by the model.</p>
<h2>Summary</h2>
<div class="devsite-table-wrapper">
<table class="responsive">
@@ -48,18 +49,21 @@
<td><code><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a></code></td>
<td>
<div><code><a href="/docs/reference/kotlin/com/google/firebase/ai/type/ExecutableCodePart.html#code()">code</a></code></div>
+ <p>The source code to be executed.</p>
</td>
</tr>
<tr>
<td><code>open <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html">Boolean</a></code></td>
<td>
<div><code><a href="/docs/reference/kotlin/com/google/firebase/ai/type/ExecutableCodePart.html#isThought()">isThought</a></code></div>
+ <p>Indicates whether the response is a thought.</p>
</td>
</tr>
<tr>
<td><code><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a></code></td>
<td>
<div><code><a href="/docs/reference/kotlin/com/google/firebase/ai/type/ExecutableCodePart.html#language()">language</a></code></div>
+ <p>The programming language of the code.</p>
</td>
</tr>
</tbody>
@@ -77,14 +81,17 @@
<div class="api-item"><a name="getCode()"></a><a name="setCode()"></a><a name="getCode--"></a><a name="setCode--"></a>
<h3 class="api-name" id="code()">code</h3>
<pre class="api-signature no-pretty-print">val <a href="/docs/reference/kotlin/com/google/firebase/ai/type/ExecutableCodePart.html#code()">code</a>: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a></pre>
+ <p>The source code to be executed.</p>
</div>
<div class="api-item"><a name="getIsThought()"></a><a name="setIsThought()"></a><a name="getIsThought--"></a><a name="setIsThought--"></a>
<h3 class="api-name" id="isThought()">isThought</h3>
<pre class="api-signature no-pretty-print">open val <a href="/docs/reference/kotlin/com/google/firebase/ai/type/ExecutableCodePart.html#isThought()">isThought</a>: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html">Boolean</a></pre>
+ <p>Indicates whether the response is a thought.</p>
</div>
<div class="api-item"><a name="getLanguage()"></a><a name="setLanguage()"></a><a name="getLanguage--"></a><a name="setLanguage--"></a>
<h3 class="api-name" id="language()">language</h3>
<pre class="api-signature no-pretty-print">val <a href="/docs/reference/kotlin/com/google/firebase/ai/type/ExecutableCodePart.html#language()">language</a>: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a></pre>
+ <p>The programming language of the code.</p>
</div>
</div>
</body> --- /home/runner/diff/original/firebase-kotlindoc/kotlin/com/google/firebase/ai/type/Outcome.html 1970-01-01 00:00:00.000000000 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/kotlin/com/google/firebase/ai/type/Outcome.html 2025-08-20 17:46:31.367038899 +0000
@@ -0,0 +1,112 @@
+<html devsite="true">
+ <head>
+ <title>Outcome</title>
+{% setvar book_path %}/_book.yaml{% endsetvar %}
+{% include "docs/reference/kotlin/_reference-head-tags.html" %}
+ </head>
+ <body>
+ <div id="metadata-info-block"></div>
+ <h1>Outcome</h1>
+ <p>
+ <pre>class <a href="/docs/reference/kotlin/com/google/firebase/ai/type/Outcome.html">Outcome</a></pre>
+ </p>
+ <hr>
+ <p>Represents the result of the code execution</p>
+ <h2>Summary</h2>
+ <div class="devsite-table-wrapper">
+ <table class="responsive">
+ <colgroup>
+ <col width="40%">
+ <col>
+ </colgroup>
+ <thead>
+ <tr>
+ <th colspan="100%"><h3>Public companion properties</h3></th>
+ </tr>
+ </thead>
+ <tbody class="list">
+ <tr>
+ <td><code><a href="/docs/reference/kotlin/com/google/firebase/ai/type/Outcome.html">Outcome</a></code></td>
+ <td>
+ <div><code><a href="/docs/reference/kotlin/com/google/firebase/ai/type/Outcome.Companion.html#OUTCOME_DEADLINE_EXCEEDED()">OUTCOME_DEADLINE_EXCEEDED</a></code></div>
+ <p>Represents that the code execution timed out</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code><a href="/docs/reference/kotlin/com/google/firebase/ai/type/Outcome.html">Outcome</a></code></td>
+ <td>
+ <div><code><a href="/docs/reference/kotlin/com/google/firebase/ai/type/Outcome.Companion.html#OUTCOME_FAILED()">OUTCOME_FAILED</a></code></div>
+ <p>Represents that the code execution failed</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code><a href="/docs/reference/kotlin/com/google/firebase/ai/type/Outcome.html">Outcome</a></code></td>
+ <td>
+ <div><code><a href="/docs/reference/kotlin/com/google/firebase/ai/type/Outcome.Companion.html#OUTCOME_OK()">OUTCOME_OK</a></code></div>
+ <p>Represents that the code execution succeeded</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code><a href="/docs/reference/kotlin/com/google/firebase/ai/type/Outcome.html">Outcome</a></code></td>
+ <td>
+ <div><code><a href="/docs/reference/kotlin/com/google/firebase/ai/type/Outcome.Companion.html#OUTCOME_UNSPECIFIED()">OUTCOME_UNSPECIFIED</a></code></div>
+ <p>Represents that the code execution outcome is unspecified</p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ <div class="devsite-table-wrapper">
+ <table class="responsive">
+ <colgroup>
+ <col width="40%">
+ <col>
+ </colgroup>
+ <thead>
+ <tr>
+ <th colspan="100%"><h3>Public properties</h3></th>
+ </tr>
+ </thead>
+ <tbody class="list">
+ <tr>
+ <td><code><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html">Int</a></code></td>
+ <td>
+ <div><code><a href="/docs/reference/kotlin/com/google/firebase/ai/type/Outcome.html#ordinal()">ordinal</a></code></div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ <div class="list">
+ <h2>Public companion properties</h2>
+ <div class="api-item"><a name="getOUTCOME_DEADLINE_EXCEEDED()"></a><a name="setOUTCOME_DEADLINE_EXCEEDED()"></a><a name="getOUTCOME_DEADLINE_EXCEEDED--"></a><a name="setOUTCOME_DEADLINE_EXCEEDED--"></a>
+ <h3 class="api-name" id="OUTCOME_DEADLINE_EXCEEDED()">OUTCOME_DEADLINE_EXCEEDED</h3>
+ <pre class="api-signature no-pretty-print">val <a href="/docs/reference/kotlin/com/google/firebase/ai/type/Outcome.Companion.html#OUTCOME_DEADLINE_EXCEEDED()">OUTCOME_DEADLINE_EXCEEDED</a>: <a href="/docs/reference/kotlin/com/google/firebase/ai/type/Outcome.html">Outcome</a></pre>
+ <p>Represents that the code execution timed out</p>
+ </div>
+ <div class="api-item"><a name="getOUTCOME_FAILED()"></a><a name="setOUTCOME_FAILED()"></a><a name="getOUTCOME_FAILED--"></a><a name="setOUTCOME_FAILED--"></a>
+ <h3 class="api-name" id="OUTCOME_FAILED()">OUTCOME_FAILED</h3>
+ <pre class="api-signature no-pretty-print">val <a href="/docs/reference/kotlin/com/google/firebase/ai/type/Outcome.Companion.html#OUTCOME_FAILED()">OUTCOME_FAILED</a>: <a href="/docs/reference/kotlin/com/google/firebase/ai/type/Outcome.html">Outcome</a></pre>
+ <p>Represents that the code execution failed</p>
+ </div>
+ <div class="api-item"><a name="getOUTCOME_OK()"></a><a name="setOUTCOME_OK()"></a><a name="getOUTCOME_OK--"></a><a name="setOUTCOME_OK--"></a>
+ <h3 class="api-name" id="OUTCOME_OK()">OUTCOME_OK</h3>
+ <pre class="api-signature no-pretty-print">val <a href="/docs/reference/kotlin/com/google/firebase/ai/type/Outcome.Companion.html#OUTCOME_OK()">OUTCOME_OK</a>: <a href="/docs/reference/kotlin/com/google/firebase/ai/type/Outcome.html">Outcome</a></pre>
+ <p>Represents that the code execution succeeded</p>
+ </div>
+ <div class="api-item"><a name="getOUTCOME_UNSPECIFIED()"></a><a name="setOUTCOME_UNSPECIFIED()"></a><a name="getOUTCOME_UNSPECIFIED--"></a><a name="setOUTCOME_UNSPECIFIED--"></a>
+ <h3 class="api-name" id="OUTCOME_UNSPECIFIED()">OUTCOME_UNSPECIFIED</h3>
+ <pre class="api-signature no-pretty-print">val <a href="/docs/reference/kotlin/com/google/firebase/ai/type/Outcome.Companion.html#OUTCOME_UNSPECIFIED()">OUTCOME_UNSPECIFIED</a>: <a href="/docs/reference/kotlin/com/google/firebase/ai/type/Outcome.html">Outcome</a></pre>
+ <p>Represents that the code execution outcome is unspecified</p>
+ </div>
+ </div>
+ <div class="list">
+ <h2>Public properties</h2>
+ <div class="api-item"><a name="getOrdinal()"></a><a name="setOrdinal()"></a><a name="getOrdinal--"></a><a name="setOrdinal--"></a>
+ <h3 class="api-name" id="ordinal()">ordinal</h3>
+ <pre class="api-signature no-pretty-print">val <a href="/docs/reference/kotlin/com/google/firebase/ai/type/Outcome.html#ordinal()">ordinal</a>: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html">Int</a></pre>
+ </div>
+ </div>
+ </body>
+</html>
+ --- /home/runner/diff/original/firebase-kotlindoc/kotlin/com/google/firebase/ai/type/Part.html 2025-08-20 17:50:16.121130104 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/kotlin/com/google/firebase/ai/type/Part.html 2025-08-20 17:46:31.394039558 +0000
@@ -23,11 +23,15 @@
<tbody class="list">
<tr>
<td><code><a href="/docs/reference/kotlin/com/google/firebase/ai/type/CodeExecutionResultPart.html">CodeExecutionResultPart</a></code></td>
- <td></td>
+ <td>
+ <p>Represents the code execution result from the model.</p>
+ </td>
</tr>
<tr>
<td><code><a href="/docs/reference/kotlin/com/google/firebase/ai/type/ExecutableCodePart.html">ExecutableCodePart</a></code></td>
- <td></td>
+ <td>
+ <p>Represents the code that is executed by the model.</p>
+ </td>
</tr>
<tr>
<td><code><a href="/docs/reference/kotlin/com/google/firebase/ai/type/FileDataPart.html">FileDataPart</a></code></td> --- /home/runner/diff/original/firebase-kotlindoc/kotlin/com/google/firebase/ai/type/Tool.html 2025-08-20 17:50:16.120130082 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/kotlin/com/google/firebase/ai/type/Tool.html 2025-08-20 17:46:31.390039460 +0000
@@ -28,6 +28,13 @@
<tr>
<td><code><a href="/docs/reference/kotlin/com/google/firebase/ai/type/Tool.html">Tool</a></code></td>
<td>
+ <div><code><a href="/docs/reference/kotlin/com/google/firebase/ai/type/Tool.Companion.html#codeExecution()">codeExecution</a>()</code></div>
+ <p>Creates a <code><a href="/docs/reference/kotlin/com/google/firebase/ai/type/Tool.html">Tool</a></code> instance that allows the model to use Code Execution.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code><a href="/docs/reference/kotlin/com/google/firebase/ai/type/Tool.html">Tool</a></code></td>
+ <td>
<div><code><a href="/docs/reference/kotlin/com/google/firebase/ai/type/Tool.Companion.html#functionDeclarations(kotlin.collections.List)">functionDeclarations</a>(functionDeclarations: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html">List</a><<a href="/docs/reference/kotlin/com/google/firebase/ai/type/FunctionDeclaration.html">FunctionDeclaration</a>>)</code></div>
<p>Creates a <code><a href="/docs/reference/kotlin/com/google/firebase/ai/type/Tool.html">Tool</a></code> instance that provides the model with access to the <code><a href="/docs/reference/kotlin/com/google/firebase/ai/type/Tool.Companion.html#functionDeclarations(kotlin.collections.List)">functionDeclarations</a></code>.</p>
</td>
@@ -44,6 +51,11 @@
</div>
<div class="list">
<h2>Public companion functions</h2>
+ <div class="api-item"><a name="codeExecution--"></a><a name="codeexecution"></a>
+ <h3 class="api-name" id="codeExecution()">codeExecution</h3>
+ <pre class="api-signature no-pretty-print">fun <a href="/docs/reference/kotlin/com/google/firebase/ai/type/Tool.Companion.html#codeExecution()">codeExecution</a>(): <a href="/docs/reference/kotlin/com/google/firebase/ai/type/Tool.html">Tool</a></pre>
+ <p>Creates a <code><a href="/docs/reference/kotlin/com/google/firebase/ai/type/Tool.html">Tool</a></code> instance that allows the model to use Code Execution.</p>
+ </div>
<div class="api-item"><a name="functionDeclarations-kotlin.collections.List-"></a><a name="functiondeclarations"></a>
<h3 class="api-name" id="functionDeclarations(kotlin.collections.List)">functionDeclarations</h3>
<pre class="api-signature no-pretty-print">fun <a href="/docs/reference/kotlin/com/google/firebase/ai/type/Tool.Companion.html#functionDeclarations(kotlin.collections.List)">functionDeclarations</a>(functionDeclarations: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html">List</a><<a href="/docs/reference/kotlin/com/google/firebase/ai/type/FunctionDeclaration.html">FunctionDeclaration</a>>): <a href="/docs/reference/kotlin/com/google/firebase/ai/type/Tool.html">Tool</a></pre> --- /home/runner/diff/original/firebase-kotlindoc/kotlin/com/google/firebase/ai/type/package-summary.html 2025-08-20 17:50:16.102129682 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/kotlin/com/google/firebase/ai/type/package-summary.html 2025-08-20 17:46:31.384039314 +0000
@@ -63,7 +63,9 @@
</tr>
<tr>
<td><code><a href="/docs/reference/kotlin/com/google/firebase/ai/type/CodeExecutionResultPart.html">CodeExecutionResultPart</a></code></td>
- <td></td>
+ <td>
+ <p>Represents the code execution result from the model.</p>
+ </td>
</tr>
<tr>
<td><code><a href="/docs/reference/kotlin/com/google/firebase/ai/type/Content.html">Content</a></code></td>
@@ -97,7 +99,9 @@
</tr>
<tr>
<td><code><a href="/docs/reference/kotlin/com/google/firebase/ai/type/ExecutableCodePart.html">ExecutableCodePart</a></code></td>
- <td></td>
+ <td>
+ <p>Represents the code that is executed by the model.</p>
+ </td>
</tr>
<tr>
<td><code><a href="/docs/reference/kotlin/com/google/firebase/ai/type/FileDataPart.html">FileDataPart</a></code></td>
@@ -428,6 +432,12 @@
</td>
</tr>
<tr>
+ <td><code><a href="/docs/reference/kotlin/com/google/firebase/ai/type/Outcome.html">Outcome</a></code></td>
+ <td>
+ <p>Represents the result of the code execution</p>
+ </td>
+ </tr>
+ <tr>
<td><code><a href="/docs/reference/kotlin/com/google/firebase/ai/type/PromptFeedback.html">PromptFeedback</a></code></td>
<td>
<p>Feedback on the prompt provided in the request.</p> --- /home/runner/diff/original/reports/problems/problems-report.html 2025-08-20 17:51:27.178656162 +0000
+++ /home/runner/diff/modified/reports/problems/problems-report.html 2025-08-20 17:48:52.159282492 +0000
@@ -650,7 +650,7 @@
<script type="text/javascript">
function configurationCacheProblems() { return (
// begin-report-data
-{"diagnostics":[{"locations":[{"pluginId":"firebase-library"}],"problem":[{"text":"The Report.destination property has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 9.0."}],"contextualLabel":"The Report.destination property has been deprecated.","documentationLink":"https://docs.gradle.org/8.13/dsl/org.gradle.api.reporting.Report.html#org.gradle.api.reporting.Report:destination","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"the-report-destination-property-has-been-deprecated","displayName":"The Report.destination property has been deprecated."}],"solutions":[[{"text":"Please use the outputLocation property instead."}]]},{"locations":[{"path":"build file '/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-abt/firebase-abt.gradle'","line":31}],"problem":[{"text":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.13/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"properties-should-be-assigned-using-the-propname-value-syntax-setting-a-property-via-the-gradle-generated-propname-value-or-propname-value-syntax-in-groovy-dsl","displayName":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('abortOnError = <value>') instead."}]]},{"locations":[{"path":"build file '/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-abt/firebase-abt.gradle'","line":34}],"problem":[{"text":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.13/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"properties-should-be-assigned-using-the-propname-value-syntax-setting-a-property-via-the-gradle-generated-propname-value-or-propname-value-syntax-in-groovy-dsl","displayName":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('namespace = <value>') instead."}]]},{"locations":[{"pluginId":"firebase-java-library"}],"problem":[{"text":"The Report.destination property has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 9.0."}],"contextualLabel":"The Report.destination property has been deprecated.","documentationLink":"https://docs.gradle.org/8.13/dsl/org.gradle.api.reporting.Report.html#org.gradle.api.reporting.Report:destination","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"the-report-destination-property-has-been-deprecated","displayName":"The Report.destination property has been deprecated."}],"solutions":[[{"text":"Please use the outputLocation property instead."}]]},{"locations":[{"path":"build file '/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-appdistribution/firebase-appdistribution.gradle'","line":31}],"problem":[{"text":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.13/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"properties-should-be-assigned-using-the-propname-value-syntax-setting-a-property-via-the-gradle-generated-propname-value-or-propname-value-syntax-in-groovy-dsl","displayName":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('namespace = <value>') instead."}]]},{"locations":[{"path":"build file '/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-appdistribution/firebase-appdistribution.gradle'","line":37}],"problem":[{"text":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.13/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"properties-should-be-assigned-using-the-propname-value-syntax-setting-a-property-via-the-gradle-generated-propname-value-or-propname-value-syntax-in-groovy-dsl","displayName":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('multiDexEnabled = <value>') instead."}]]},{"locations":[{"path":"build file '/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-appdistribution-api/firebase-appdistribution-api.gradle'","line":30}],"problem":[{"text":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.13/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"properties-should-be-assigned-using-the-propname-value-syntax-setting-a-property-via-the-gradle-generated-propname-value-or-propname-value-syntax-in-groovy-dsl","displayName":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('namespace = <value>') instead."}]]},{"locations":[{"path":"build file '/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-appdistribution-api/firebase-appdistribution-api.gradle'","line":36}],"problem":[{"text":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.13/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"properties-should-be-assigned-using-the-propname-value-syntax-setting-a-property-via-the-gradle-generated-propname-value-or-propname-value-syntax-in-groovy-dsl","displayName":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('multiDexEnabled = <value>') instead."}]]},{"problem":[{"text":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.13/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"properties-should-be-assigned-using-the-propname-value-syntax-setting-a-property-via-the-gradle-generated-propname-value-or-propname-value-syntax-in-groovy-dsl","displayName":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('namespace = <value>') instead."}]]},{"problem":[{"text":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.13/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"properties-should-be-assigned-using-the-propname-value-syntax-setting-a-property-via-the-gradle-generated-propname-value-or-propname-value-syntax-in-groovy-dsl","displayName":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('multiDexEnabled = <value>') instead."}]]},{"problem":[{"text":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.13/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"properties-should-be-assigned-using-the-propname-value-syntax-setting-a-property-via-the-gradle-generated-propname-value-or-propname-value-syntax-in-groovy-dsl","displayName":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('ndkVersion = <value>') instead."}]]},{"problem":[{"text":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.13/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"properties-should-be-assigned-using-the-propname-value-syntax-setting-a-property-via-the-gradle-generated-propname-value-or-propname-value-syntax-in-groovy-dsl","displayName":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('includeAndroidResources = <value>') instead."}]]},{"problem":[{"text":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.13/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"properties-should-be-assigned-using-the-propname-value-syntax-setting-a-property-via-the-gradle-generated-propname-value-or-propname-value-syntax-in-groovy-dsl","displayName":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('compileSdk = <value>') instead."}]]},{"problem":[{"text":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.13/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"properties-should-be-assigned-using-the-propname-value-syntax-setting-a-property-via-the-gradle-generated-propname-value-or-propname-value-syntax-in-groovy-dsl","displayName":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('abortOnError = <value>') instead."}]]},{"problem":[{"text":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.13/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"properties-should-be-assigned-using-the-propname-value-syntax-setting-a-property-via-the-gradle-generated-propname-value-or-propname-value-syntax-in-groovy-dsl","displayName":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('sourceCompatibility = <value>') instead."}]]},{"problem":[{"text":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.13/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"properties-should-be-assigned-using-the-propname-value-syntax-setting-a-property-via-the-gradle-generated-propname-value-or-propname-value-syntax-in-groovy-dsl","displayName":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('targetCompatibility = <value>') instead."}]]},{"problem":[{"text":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.13/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"properties-should-be-assigned-using-the-propname-value-syntax-setting-a-property-via-the-gradle-generated-propname-value-or-propname-value-syntax-in-groovy-dsl","displayName":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('testBuildType = <value>') instead."}]]}],"problemsReport":{"totalProblemCount":17,"buildName":"com.google.firebase","requestedTasks":"kotlindoc","documentationLink":"https://docs.gradle.org/8.13/userguide/reporting_problems.html","documentationLinkCaption":"Problem report","summaries":[{"problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"properties-should-be-assigned-using-the-propname-value-syntax-setting-a-property-via-the-gradle-generated-propname-value-or-propname-value-syntax-in-groovy-dsl","displayName":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"count":4}]}}
+{"diagnostics":[{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/plugins/src/main/java/com/google/firebase/gradle/plugins/ci/device/FirebaseTestServer.java"},{"taskPath":":plugins:compileJava"}],"problem":[{"text":"Java compilation note"}],"severity":"ADVICE","problemDetails":[{"text":"Note: Some input files use or override a deprecated API."}],"contextualLabel":"Some input files use or override a deprecated API.","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-note-deprecated-plural","displayName":"Java compilation note"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/plugins/src/main/java/com/google/firebase/gradle/plugins/ci/device/FirebaseTestServer.java"},{"taskPath":":plugins:compileJava"}],"problem":[{"text":"Java compilation note"}],"severity":"ADVICE","problemDetails":[{"text":"Note: Recompile with -Xlint:deprecation for details."}],"contextualLabel":"Recompile with -Xlint:deprecation for details.","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-note-deprecated-recompile","displayName":"Java compilation note"}]},{"locations":[{"pluginId":"com.android.internal.library"}],"problem":[{"text":"Declaring an 'is-' property with a Boolean type has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"Starting with Gradle 9.0, this property will be ignored by Gradle."}],"contextualLabel":"Declaring an 'is-' property with a Boolean type has been deprecated.","documentationLink":"https://docs.gradle.org/8.13/userguide/upgrading_version_8.html#groovy_boolean_properties","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"declaring-an-is-property-with-a-boolean-type","displayName":"Declaring an 'is-' property with a Boolean type has been deprecated."}],"solutions":[[{"text":"Add a method named 'getCrunchPngs' with the same behavior and mark the old one with @Deprecated, or change the type of 'com.android.build.gradle.internal.dsl.BuildType$AgpDecorated.isCrunchPngs' (and the setter) to 'boolean'."}],[{"text":"The combination of method name and return type is not consistent with Java Bean property rules and will become unsupported in future versions of Groovy."}]]},{"locations":[{"pluginId":"com.android.internal.library"}],"problem":[{"text":"Declaring an 'is-' property with a Boolean type has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"Starting with Gradle 9.0, this property will be ignored by Gradle."}],"contextualLabel":"Declaring an 'is-' property with a Boolean type has been deprecated.","documentationLink":"https://docs.gradle.org/8.13/userguide/upgrading_version_8.html#groovy_boolean_properties","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"declaring-an-is-property-with-a-boolean-type","displayName":"Declaring an 'is-' property with a Boolean type has been deprecated."}],"solutions":[[{"text":"Add a method named 'getUseProguard' with the same behavior and mark the old one with @Deprecated, or change the type of 'com.android.build.gradle.internal.dsl.BuildType.isUseProguard' (and the setter) to 'boolean'."}],[{"text":"The combination of method name and return type is not consistent with Java Bean property rules and will become unsupported in future versions of Groovy."}]]},{"locations":[{"pluginId":"firebase-library"}],"problem":[{"text":"The Report.destination property has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 9.0."}],"contextualLabel":"The Report.destination property has been deprecated.","documentationLink":"https://docs.gradle.org/8.13/dsl/org.gradle.api.reporting.Report.html#org.gradle.api.reporting.Report:destination","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"the-report-destination-property-has-been-deprecated","displayName":"The Report.destination property has been deprecated."}],"solutions":[[{"text":"Please use the outputLocation property instead."}]]},{"locations":[{"path":"build file '/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-abt/firebase-abt.gradle'","line":31}],"problem":[{"text":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.13/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"properties-should-be-assigned-using-the-propname-value-syntax-setting-a-property-via-the-gradle-generated-propname-value-or-propname-value-syntax-in-groovy-dsl","displayName":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('abortOnError = <value>') instead."}]]},{"locations":[{"path":"build file '/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-abt/firebase-abt.gradle'","line":34}],"problem":[{"text":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.13/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"properties-should-be-assigned-using-the-propname-value-syntax-setting-a-property-via-the-gradle-generated-propname-value-or-propname-value-syntax-in-groovy-dsl","displayName":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('namespace = <value>') instead."}]]},{"locations":[{"pluginId":"firebase-java-library"}],"problem":[{"text":"The Report.destination property has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 9.0."}],"contextualLabel":"The Report.destination property has been deprecated.","documentationLink":"https://docs.gradle.org/8.13/dsl/org.gradle.api.reporting.Report.html#org.gradle.api.reporting.Report:destination","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"the-report-destination-property-has-been-deprecated","displayName":"The Report.destination property has been deprecated."}],"solutions":[[{"text":"Please use the outputLocation property instead."}]]},{"locations":[{"path":"build file '/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-appdistribution/firebase-appdistribution.gradle'","line":31}],"problem":[{"text":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.13/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"properties-should-be-assigned-using-the-propname-value-syntax-setting-a-property-via-the-gradle-generated-propname-value-or-propname-value-syntax-in-groovy-dsl","displayName":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('namespace = <value>') instead."}]]},{"locations":[{"path":"build file '/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-appdistribution/firebase-appdistribution.gradle'","line":37}],"problem":[{"text":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.13/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"properties-should-be-assigned-using-the-propname-value-syntax-setting-a-property-via-the-gradle-generated-propname-value-or-propname-value-syntax-in-groovy-dsl","displayName":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('multiDexEnabled = <value>') instead."}]]},{"locations":[{"path":"build file '/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-appdistribution-api/firebase-appdistribution-api.gradle'","line":30}],"problem":[{"text":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.13/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"properties-should-be-assigned-using-the-propname-value-syntax-setting-a-property-via-the-gradle-generated-propname-value-or-propname-value-syntax-in-groovy-dsl","displayName":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('namespace = <value>') instead."}]]},{"locations":[{"path":"build file '/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-appdistribution-api/firebase-appdistribution-api.gradle'","line":36}],"problem":[{"text":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.13/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"properties-should-be-assigned-using-the-propname-value-syntax-setting-a-property-via-the-gradle-generated-propname-value-or-propname-value-syntax-in-groovy-dsl","displayName":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('multiDexEnabled = <value>') instead."}]]},{"problem":[{"text":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.13/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"properties-should-be-assigned-using-the-propname-value-syntax-setting-a-property-via-the-gradle-generated-propname-value-or-propname-value-syntax-in-groovy-dsl","displayName":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('namespace = <value>') instead."}]]},{"problem":[{"text":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.13/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"properties-should-be-assigned-using-the-propname-value-syntax-setting-a-property-via-the-gradle-generated-propname-value-or-propname-value-syntax-in-groovy-dsl","displayName":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('multiDexEnabled = <value>') instead."}]]},{"problem":[{"text":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.13/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"properties-should-be-assigned-using-the-propname-value-syntax-setting-a-property-via-the-gradle-generated-propname-value-or-propname-value-syntax-in-groovy-dsl","displayName":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('ndkVersion = <value>') instead."}]]},{"problem":[{"text":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.13/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"properties-should-be-assigned-using-the-propname-value-syntax-setting-a-property-via-the-gradle-generated-propname-value-or-propname-value-syntax-in-groovy-dsl","displayName":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('includeAndroidResources = <value>') instead."}]]},{"problem":[{"text":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.13/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"properties-should-be-assigned-using-the-propname-value-syntax-setting-a-property-via-the-gradle-generated-propname-value-or-propname-value-syntax-in-groovy-dsl","displayName":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('compileSdk = <value>') instead."}]]},{"problem":[{"text":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.13/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"properties-should-be-assigned-using-the-propname-value-syntax-setting-a-property-via-the-gradle-generated-propname-value-or-propname-value-syntax-in-groovy-dsl","displayName":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('abortOnError = <value>') instead."}]]},{"problem":[{"text":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.13/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"properties-should-be-assigned-using-the-propname-value-syntax-setting-a-property-via-the-gradle-generated-propname-value-or-propname-value-syntax-in-groovy-dsl","displayName":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('sourceCompatibility = <value>') instead."}]]},{"problem":[{"text":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.13/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"properties-should-be-assigned-using-the-propname-value-syntax-setting-a-property-via-the-gradle-generated-propname-value-or-propname-value-syntax-in-groovy-dsl","displayName":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('targetCompatibility = <value>') instead."}]]},{"locations":[{"pluginId":"com.android.internal.application"}],"problem":[{"text":"Declaring an 'is-' property with a Boolean type has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"Starting with Gradle 9.0, this property will be ignored by Gradle."}],"contextualLabel":"Declaring an 'is-' property with a Boolean type has been deprecated.","documentationLink":"https://docs.gradle.org/8.13/userguide/upgrading_version_8.html#groovy_boolean_properties","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"declaring-an-is-property-with-a-boolean-type","displayName":"Declaring an 'is-' property with a Boolean type has been deprecated."}],"solutions":[[{"text":"Add a method named 'getWearAppUnbundled' with the same behavior and mark the old one with @Deprecated, or change the type of 'com.android.build.api.variant.impl.ApplicationVariantImpl.isWearAppUnbundled' (and the setter) to 'boolean'."}],[{"text":"The combination of method name and return type is not consistent with Java Bean property rules and will become unsupported in future versions of Groovy."}]]},{"problem":[{"text":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.13/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"properties-should-be-assigned-using-the-propname-value-syntax-setting-a-property-via-the-gradle-generated-propname-value-or-propname-value-syntax-in-groovy-dsl","displayName":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('testBuildType = <value>') instead."}]]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-config/src/main/java/com/google/firebase/remoteconfig/RemoteConfigComponent.java"},{"taskPath":":firebase-config:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation note"}],"severity":"ADVICE","problemDetails":[{"text":"Note: Some input files use or override a deprecated API."}],"contextualLabel":"Some input files use or override a deprecated API.","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-note-deprecated-plural","displayName":"Java compilation note"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-config/src/main/java/com/google/firebase/remoteconfig/RemoteConfigComponent.java"},{"taskPath":":firebase-config:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation note"}],"severity":"ADVICE","problemDetails":[{"text":"Note: Recompile with -Xlint:deprecation for details."}],"contextualLabel":"Recompile with -Xlint:deprecation for details.","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-note-deprecated-recompile","displayName":"Java compilation note"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-common/src/main/java/com/google/firebase/FirebaseCommonRegistrar.java"},{"taskPath":":firebase-common:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation note"}],"severity":"ADVICE","problemDetails":[{"text":"Note: Some input files use or override a deprecated API."}],"contextualLabel":"Some input files use or override a deprecated API.","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-note-deprecated-plural","displayName":"Java compilation note"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-common/src/main/java/com/google/firebase/FirebaseCommonRegistrar.java"},{"taskPath":":firebase-common:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation note"}],"severity":"ADVICE","problemDetails":[{"text":"Note: Recompile with -Xlint:deprecation for details."}],"contextualLabel":"Recompile with -Xlint:deprecation for details.","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-note-deprecated-recompile","displayName":"Java compilation note"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-common/src/main/java/com/google/firebase/heartbeatinfo/HeartBeatInfoStorage.java"},{"taskPath":":firebase-common:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation note"}],"severity":"ADVICE","problemDetails":[{"text":"Note: /home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-common/src/main/java/com/google/firebase/heartbeatinfo/HeartBeatInfoStorage.java uses unchecked or unsafe operations."}],"contextualLabel":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-common/src/main/java/com/google/firebase/heartbeatinfo/HeartBeatInfoStorage.java uses unchecked or unsafe operations.","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-note-unchecked-filename","displayName":"Java compilation note"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-common/src/main/java/com/google/firebase/heartbeatinfo/HeartBeatInfoStorage.java"},{"taskPath":":firebase-common:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation note"}],"severity":"ADVICE","problemDetails":[{"text":"Note: Recompile with -Xlint:unchecked for details."}],"contextualLabel":"Recompile with -Xlint:unchecked for details.","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-note-unchecked-recompile","displayName":"Java compilation note"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-database/src/main/java/com/google/firebase/database/core/utilities/Utilities.java"},{"taskPath":":firebase-database:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation note"}],"severity":"ADVICE","problemDetails":[{"text":"Note: Some input files use unchecked or unsafe operations."}],"contextualLabel":"Some input files use unchecked or unsafe operations.","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-note-unchecked-plural","displayName":"Java compilation note"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-database/src/main/java/com/google/firebase/database/core/utilities/Utilities.java"},{"taskPath":":firebase-database:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation note"}],"severity":"ADVICE","problemDetails":[{"text":"Note: Recompile with -Xlint:unchecked for details."}],"contextualLabel":"Recompile with -Xlint:unchecked for details.","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-note-unchecked-recompile","displayName":"Java compilation note"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-crashlytics/src/main/java/com/google/firebase/crashlytics/internal/model/CrashlyticsReport.java","line":246,"column":30,"length":14},{"taskPath":":firebase-crashlytics:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation warning"}],"severity":"WARNING","problemDetails":[{"text":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-crashlytics/src/main/java/com/google/firebase/crashlytics/internal/model/CrashlyticsReport.java:246: warning: [AutoValueMutable] An @AutoValue property that is a primitive array returns the original array, which can therefore be modified by the caller. If this is OK, you can suppress this warning with @SuppressWarnings(\"mutable\"). Otherwise, you should replace the property with an immutable type, perhaps a simple wrapper around the original array.\n public abstract byte[] getContents();\n ^"}],"contextualLabel":"[AutoValueMutable] An @AutoValue property that is a primitive array returns the original array, which can therefore be modified by the caller. If this is OK, you can suppress this warning with @SuppressWarnings(\"mutable\"). Otherwise, you should replace the property with an immutable type, perhaps a simple wrapper around the original array.","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-warn-proc-messager","displayName":"Java compilation warning"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-crashlytics/src/main/java/com/google/firebase/crashlytics/internal/common/CommonUtils.java"},{"taskPath":":firebase-crashlytics:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation note"}],"severity":"ADVICE","problemDetails":[{"text":"Note: Some input files use or override a deprecated API."}],"contextualLabel":"Some input files use or override a deprecated API.","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-note-deprecated-plural","displayName":"Java compilation note"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-crashlytics/src/main/java/com/google/firebase/crashlytics/internal/common/CommonUtils.java"},{"taskPath":":firebase-crashlytics:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation note"}],"severity":"ADVICE","problemDetails":[{"text":"Note: Recompile with -Xlint:deprecation for details."}],"contextualLabel":"Recompile with -Xlint:deprecation for details.","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-note-deprecated-recompile","displayName":"Java compilation note"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-firestore/src/main/java/com/google/firebase/firestore/util/Executors.java","line":17,"column":18,"length":10},{"taskPath":":firebase-firestore:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation warning"}],"severity":"WARNING","problemDetails":[{"text":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-firestore/src/main/java/com/google/firebase/firestore/util/Executors.java:17: warning: [deprecation] AsyncTask in android.os has been deprecated\nimport android.os.AsyncTask;\n ^"}],"contextualLabel":"android.os.AsyncTask in android.os has been deprecated","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-warn-has-been-deprecated","displayName":"Java compilation warning"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-firestore/src/main/java/com/google/firebase/firestore/FirestoreRegistrar.java","line":56,"column":28,"length":9},{"taskPath":":firebase-firestore:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation warning"}],"severity":"WARNING","problemDetails":[{"text":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-firestore/src/main/java/com/google/firebase/firestore/FirestoreRegistrar.java:56: warning: [deprecation] optional(Class<?>) in Dependency has been deprecated\n .add(Dependency.optional(FirebaseOptions.class))\n ^"}],"contextualLabel":"optional(java.lang.Class<?>) in com.google.firebase.components.Dependency has been deprecated","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-warn-has-been-deprecated","displayName":"Java compilation warning"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-firestore/src/main/java/com/google/firebase/firestore/FirebaseFirestore.java","line":417,"column":21,"length":21},{"taskPath":":firebase-firestore:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation warning"}],"severity":"WARNING","problemDetails":[{"text":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-firestore/src/main/java/com/google/firebase/firestore/FirebaseFirestore.java:417: warning: [deprecation] isPersistenceEnabled() in FirebaseFirestoreSettings has been deprecated\n && (settings.isPersistenceEnabled()\n ^"}],"contextualLabel":"isPersistenceEnabled() in com.google.firebase.firestore.FirebaseFirestoreSettings has been deprecated","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-warn-has-been-deprecated","displayName":"Java compilation warning"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-firestore/src/main/java/com/google/firebase/firestore/FirebaseFirestore.java","line":499,"column":18,"length":5},{"taskPath":":firebase-firestore:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation warning"}],"severity":"WARNING","problemDetails":[{"text":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-firestore/src/main/java/com/google/firebase/firestore/FirebaseFirestore.java:499: warning: [deprecation] <TResult>call(Executor,Callable<TResult>) in Tasks has been deprecated\n Tasks.call(\n ^\n where TResult is a type-variable:\n TResult extends Object declared in method <TResult>call(Executor,Callable<TResult>)"}],"contextualLabel":"<TResult>call(java.util.concurrent.Executor,java.util.concurrent.Callable<TResult>) in com.google.android.gms.tasks.Tasks has been deprecated","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-warn-has-been-deprecated","displayName":"Java compilation warning"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-firestore/src/main/java/com/google/firebase/firestore/core/ComponentProvider.java","line":62,"column":20,"length":21},{"taskPath":":firebase-firestore:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation warning"}],"severity":"WARNING","problemDetails":[{"text":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-firestore/src/main/java/com/google/firebase/firestore/core/ComponentProvider.java:62: warning: [deprecation] isPersistenceEnabled() in FirebaseFirestoreSettings has been deprecated\n return settings.isPersistenceEnabled()\n ^"}],"contextualLabel":"isPersistenceEnabled() in com.google.firebase.firestore.FirebaseFirestoreSettings has been deprecated","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-warn-has-been-deprecated","displayName":"Java compilation warning"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-firestore/src/main/java/com/google/firebase/firestore/remote/GrpcCallProvider.java","line":239,"column":14,"length":5},{"taskPath":":firebase-firestore:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation warning"}],"severity":"WARNING","problemDetails":[{"text":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-firestore/src/main/java/com/google/firebase/firestore/remote/GrpcCallProvider.java:239: warning: [deprecation] <TResult>call(Executor,Callable<TResult>) in Tasks has been deprecated\n Tasks.call(\n ^\n where TResult is a type-variable:\n TResult extends Object declared in method <TResult>call(Executor,Callable<TResult>)"}],"contextualLabel":"<TResult>call(java.util.concurrent.Executor,java.util.concurrent.Callable<TResult>) in com.google.android.gms.tasks.Tasks has been deprecated","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-warn-has-been-deprecated","displayName":"Java compilation warning"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-firestore/src/main/java/com/google/firebase/firestore/core/MemoryComponentProvider.java","line":83,"column":65,"length":18},{"taskPath":":firebase-firestore:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation warning"}],"severity":"WARNING","problemDetails":[{"text":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-firestore/src/main/java/com/google/firebase/firestore/core/MemoryComponentProvider.java:83: warning: [deprecation] getCacheSizeBytes() in FirebaseFirestoreSettings has been deprecated\n LruGarbageCollector.Params.WithCacheSizeBytes(settings.getCacheSizeBytes());\n ^"}],"contextualLabel":"getCacheSizeBytes() in com.google.firebase.firestore.FirebaseFirestoreSettings has been deprecated","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-warn-has-been-deprecated","displayName":"Java compilation warning"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-firestore/src/main/java/com/google/firebase/firestore/core/SQLiteComponentProvider.java","line":49,"column":63,"length":18},{"taskPath":":firebase-firestore:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation warning"}],"severity":"WARNING","problemDetails":[{"text":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-firestore/src/main/java/com/google/firebase/firestore/core/SQLiteComponentProvider.java:49: warning: [deprecation] getCacheSizeBytes() in FirebaseFirestoreSettings has been deprecated\n LruGarbageCollector.Params.WithCacheSizeBytes(settings.getCacheSizeBytes());\n ^"}],"contextualLabel":"getCacheSizeBytes() in com.google.firebase.firestore.FirebaseFirestoreSettings has been deprecated","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-warn-has-been-deprecated","displayName":"Java compilation warning"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-firestore/src/main/java/com/google/firebase/firestore/remote/FirestoreCallCredentials.java","line":52,"column":15,"length":24},{"taskPath":":firebase-firestore:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation warning"}],"severity":"WARNING","problemDetails":[{"text":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-firestore/src/main/java/com/google/firebase/firestore/remote/FirestoreCallCredentials.java:52: warning: [deprecation] thisUsesUnstableApi() in CallCredentials has been deprecated\n public void thisUsesUnstableApi() {}\n ^"}],"contextualLabel":"thisUsesUnstableApi() in io.grpc.CallCredentials has been deprecated","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-warn-has-been-deprecated","displayName":"Java compilation warning"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-firestore/src/main/java/com/google/firebase/firestore/remote/AndroidConnectivityMonitor.java","line":209,"column":16,"length":12},{"taskPath":":firebase-firestore:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation warning"}],"severity":"WARNING","problemDetails":[{"text":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-firestore/src/main/java/com/google/firebase/firestore/remote/AndroidConnectivityMonitor.java:209: warning: [deprecation] NetworkInfo in android.net has been deprecated\n android.net.NetworkInfo networkInfo = conn.getActiveNetworkInfo();\n ^"}],"contextualLabel":"android.net.NetworkInfo in android.net has been deprecated","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-warn-has-been-deprecated","displayName":"Java compilation warning"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-firestore/src/main/java/com/google/firebase/firestore/remote/AndroidConnectivityMonitor.java","line":209,"column":47,"length":21},{"taskPath":":firebase-firestore:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation warning"}],"severity":"WARNING","problemDetails":[{"text":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-firestore/src/main/java/com/google/firebase/firestore/remote/AndroidConnectivityMonitor.java:209: warning: [deprecation] getActiveNetworkInfo() in ConnectivityManager has been deprecated\n android.net.NetworkInfo networkInfo = conn.getActiveNetworkInfo();\n ^"}],"contextualLabel":"getActiveNetworkInfo() in android.net.ConnectivityManager has been deprecated","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-warn-has-been-deprecated","displayName":"Java compilation warning"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-firestore/src/main/java/com/google/firebase/firestore/remote/AndroidConnectivityMonitor.java","line":210,"column":46,"length":12},{"taskPath":":firebase-firestore:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation warning"}],"severity":"WARNING","problemDetails":[{"text":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-firestore/src/main/java/com/google/firebase/firestore/remote/AndroidConnectivityMonitor.java:210: warning: [deprecation] isConnected() in NetworkInfo has been deprecated\n return networkInfo != null && networkInfo.isConnected();\n ^"}],"contextualLabel":"isConnected() in android.net.NetworkInfo has been deprecated","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-warn-has-been-deprecated","displayName":"Java compilation warning"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-firestore/src/main/java/com/google/firebase/firestore/util/Executors.java","line":44,"column":50,"length":9},{"taskPath":":firebase-firestore:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation warning"}],"severity":"WARNING","problemDetails":[{"text":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-firestore/src/main/java/com/google/firebase/firestore/util/Executors.java:44: warning: [deprecation] AsyncTask in android.os has been deprecated\n ASYNC_THREAD_POOL_MAXIMUM_CONCURRENCY, AsyncTask.THREAD_POOL_EXECUTOR);\n ^"}],"contextualLabel":"android.os.AsyncTask in android.os has been deprecated","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-warn-has-been-deprecated","displayName":"Java compilation warning"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-firestore/src/main/java/com/google/firebase/firestore/util/Executors.java","line":44,"column":59,"length":21},{"taskPath":":firebase-firestore:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation warning"}],"severity":"WARNING","problemDetails":[{"text":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-firestore/src/main/java/com/google/firebase/firestore/util/Executors.java:44: warning: [deprecation] THREAD_POOL_EXECUTOR in AsyncTask has been deprecated\n ASYNC_THREAD_POOL_MAXIMUM_CONCURRENCY, AsyncTask.THREAD_POOL_EXECUTOR);\n ^"}],"contextualLabel":"THREAD_POOL_EXECUTOR in android.os.AsyncTask has been deprecated","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-warn-has-been-deprecated","displayName":"Java compilation warning"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-firestore/src/main/java/com/google/firebase/firestore/model/BasePath.java"},{"taskPath":":firebase-firestore:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation note"}],"severity":"ADVICE","problemDetails":[{"text":"Note: Some input files use unchecked or unsafe operations."}],"contextualLabel":"Some input files use unchecked or unsafe operations.","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-note-unchecked-plural","displayName":"Java compilation note"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-firestore/src/main/java/com/google/firebase/firestore/model/BasePath.java"},{"taskPath":":firebase-firestore:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation note"}],"severity":"ADVICE","problemDetails":[{"text":"Note: Recompile with -Xlint:unchecked for details."}],"contextualLabel":"Recompile with -Xlint:unchecked for details.","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-note-unchecked-recompile","displayName":"Java compilation note"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-inappmessaging/src/main/java/com/google/firebase/inappmessaging/internal/ForegroundNotifier.java"},{"taskPath":":firebase-inappmessaging:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation note"}],"severity":"ADVICE","problemDetails":[{"text":"Note: Some input files use or override a deprecated API."}],"contextualLabel":"Some input files use or override a deprecated API.","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-note-deprecated-plural","displayName":"Java compilation note"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-inappmessaging/src/main/java/com/google/firebase/inappmessaging/internal/ForegroundNotifier.java"},{"taskPath":":firebase-inappmessaging:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation note"}],"severity":"ADVICE","problemDetails":[{"text":"Note: Recompile with -Xlint:deprecation for details."}],"contextualLabel":"Recompile with -Xlint:deprecation for details.","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-note-deprecated-recompile","displayName":"Java compilation note"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-inappmessaging/src/main/java/com/google/firebase/inappmessaging/internal/DeveloperListenerManager.java"},{"taskPath":":firebase-inappmessaging:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation note"}],"severity":"ADVICE","problemDetails":[{"text":"Note: /home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-inappmessaging/src/main/java/com/google/firebase/inappmessaging/internal/DeveloperListenerManager.java uses unchecked or unsafe operations."}],"contextualLabel":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-inappmessaging/src/main/java/com/google/firebase/inappmessaging/internal/DeveloperListenerManager.java uses unchecked or unsafe operations.","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-note-unchecked-filename","displayName":"Java compilation note"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-inappmessaging/src/main/java/com/google/firebase/inappmessaging/internal/DeveloperListenerManager.java"},{"taskPath":":firebase-inappmessaging:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation note"}],"severity":"ADVICE","problemDetails":[{"text":"Note: Recompile with -Xlint:unchecked for details."}],"contextualLabel":"Recompile with -Xlint:unchecked for details.","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-note-unchecked-recompile","displayName":"Java compilation note"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-installations/src/main/java/com/google/firebase/installations/FirebaseInstallationsException.java"},{"taskPath":":firebase-installations:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation note"}],"severity":"ADVICE","problemDetails":[{"text":"Note: Some input files use or override a deprecated API."}],"contextualLabel":"Some input files use or override a deprecated API.","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-note-deprecated-plural","displayName":"Java compilation note"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-installations/src/main/java/com/google/firebase/installations/FirebaseInstallationsException.java"},{"taskPath":":firebase-installations:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation note"}],"severity":"ADVICE","problemDetails":[{"text":"Note: Recompile with -Xlint:deprecation for details."}],"contextualLabel":"Recompile with -Xlint:deprecation for details.","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-note-deprecated-recompile","displayName":"Java compilation note"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-ml-modeldownloader/src/main/java/com/google/firebase/ml/modeldownloader/internal/CustomModelDownloadService.java"},{"taskPath":":firebase-ml-modeldownloader:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation note"}],"severity":"ADVICE","problemDetails":[{"text":"Note: Some input files use or override a deprecated API."}],"contextualLabel":"Some input files use or override a deprecated API.","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-note-deprecated-plural","displayName":"Java compilation note"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-ml-modeldownloader/src/main/java/com/google/firebase/ml/modeldownloader/internal/CustomModelDownloadService.java"},{"taskPath":":firebase-ml-modeldownloader:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation note"}],"severity":"ADVICE","problemDetails":[{"text":"Note: Recompile with -Xlint:deprecation for details."}],"contextualLabel":"Recompile with -Xlint:deprecation for details.","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-note-deprecated-recompile","displayName":"Java compilation note"}]},{"locations":[{"taskPath":":encoders:protoc-gen-firebase-encoders:shadowJar"}],"problem":[{"text":"The FileTreeElement.getMode() method has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 9.0."}],"contextualLabel":"The FileTreeElement.getMode() method has been deprecated.","documentationLink":"https://docs.gradle.org/8.13/userguide/upgrading_version_8.html#unix_file_permissions_deprecated","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"the-filetreeelement-getmode-method-has-been-deprecated","displayName":"The FileTreeElement.getMode() method has been deprecated."}],"solutions":[[{"text":"Please use the getPermissions() method instead."}]]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-messaging/src/main/java/com/google/firebase/messaging/TopicsSyncTask.java"},{"taskPath":":firebase-messaging:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation note"}],"severity":"ADVICE","problemDetails":[{"text":"Note: Some input files use or override a deprecated API."}],"contextualLabel":"Some input files use or override a deprecated API.","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-note-deprecated-plural","displayName":"Java compilation note"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-messaging/src/main/java/com/google/firebase/messaging/TopicsSyncTask.java"},{"taskPath":":firebase-messaging:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation note"}],"severity":"ADVICE","problemDetails":[{"text":"Note: Recompile with -Xlint:deprecation for details."}],"contextualLabel":"Recompile with -Xlint:deprecation for details.","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-note-deprecated-recompile","displayName":"Java compilation note"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-inappmessaging-display/src/main/java/com/google/firebase/inappmessaging/display/internal/bindingwrappers/CardBindingWrapper.java"},{"taskPath":":firebase-inappmessaging-display:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation note"}],"severity":"ADVICE","problemDetails":[{"text":"Note: Some input files use or override a deprecated API."}],"contextualLabel":"Some input files use or override a deprecated API.","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-note-deprecated-plural","displayName":"Java compilation note"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-inappmessaging-display/src/main/java/com/google/firebase/inappmessaging/display/internal/bindingwrappers/CardBindingWrapper.java"},{"taskPath":":firebase-inappmessaging-display:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation note"}],"severity":"ADVICE","problemDetails":[{"text":"Note: Recompile with -Xlint:deprecation for details."}],"contextualLabel":"Recompile with -Xlint:deprecation for details.","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-note-deprecated-recompile","displayName":"Java compilation note"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-perf/src/main/java/com/google/firebase/perf/metrics/AppStartTrace.java"},{"taskPath":":firebase-perf:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation note"}],"severity":"ADVICE","problemDetails":[{"text":"Note: Some input files use or override a deprecated API."}],"contextualLabel":"Some input files use or override a deprecated API.","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-note-deprecated-plural","displayName":"Java compilation note"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/firebase-perf/src/main/java/com/google/firebase/perf/metrics/AppStartTrace.java"},{"taskPath":":firebase-perf:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation note"}],"severity":"ADVICE","problemDetails":[{"text":"Note: Recompile with -Xlint:deprecation for details."}],"contextualLabel":"Recompile with -Xlint:deprecation for details.","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-note-deprecated-recompile","displayName":"Java compilation note"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/appcheck/firebase-appcheck/src/main/java/com/google/firebase/appcheck/internal/NetworkClient.java"},{"taskPath":":appcheck:firebase-appcheck:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation note"}],"severity":"ADVICE","problemDetails":[{"text":"Note: /home/runner/work/firebase-android-sdk/firebase-android-sdk/appcheck/firebase-appcheck/src/main/java/com/google/firebase/appcheck/internal/NetworkClient.java uses or overrides a deprecated API."}],"contextualLabel":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/appcheck/firebase-appcheck/src/main/java/com/google/firebase/appcheck/internal/NetworkClient.java uses or overrides a deprecated API.","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-note-deprecated-filename","displayName":"Java compilation note"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/appcheck/firebase-appcheck/src/main/java/com/google/firebase/appcheck/internal/NetworkClient.java"},{"taskPath":":appcheck:firebase-appcheck:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation note"}],"severity":"ADVICE","problemDetails":[{"text":"Note: Recompile with -Xlint:deprecation for details."}],"contextualLabel":"Recompile with -Xlint:deprecation for details.","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-note-deprecated-recompile","displayName":"Java compilation note"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/appcheck/firebase-appcheck/src/main/java/com/google/firebase/appcheck/internal/StorageHelper.java"},{"taskPath":":appcheck:firebase-appcheck:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation note"}],"severity":"ADVICE","problemDetails":[{"text":"Note: /home/runner/work/firebase-android-sdk/firebase-android-sdk/appcheck/firebase-appcheck/src/main/java/com/google/firebase/appcheck/internal/StorageHelper.java uses unchecked or unsafe operations."}],"contextualLabel":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/appcheck/firebase-appcheck/src/main/java/com/google/firebase/appcheck/internal/StorageHelper.java uses unchecked or unsafe operations.","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-note-unchecked-filename","displayName":"Java compilation note"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/appcheck/firebase-appcheck/src/main/java/com/google/firebase/appcheck/internal/StorageHelper.java"},{"taskPath":":appcheck:firebase-appcheck:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation note"}],"severity":"ADVICE","problemDetails":[{"text":"Note: Recompile with -Xlint:unchecked for details."}],"contextualLabel":"Recompile with -Xlint:unchecked for details.","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-note-unchecked-recompile","displayName":"Java compilation note"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/appcheck/firebase-appcheck-debug/src/main/java/com/google/firebase/appcheck/debug/internal/DebugAppCheckProvider.java"},{"taskPath":":appcheck:firebase-appcheck-debug:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation note"}],"severity":"ADVICE","problemDetails":[{"text":"Note: /home/runner/work/firebase-android-sdk/firebase-android-sdk/appcheck/firebase-appcheck-debug/src/main/java/com/google/firebase/appcheck/debug/internal/DebugAppCheckProvider.java uses or overrides a deprecated API."}],"contextualLabel":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/appcheck/firebase-appcheck-debug/src/main/java/com/google/firebase/appcheck/debug/internal/DebugAppCheckProvider.java uses or overrides a deprecated API.","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-note-deprecated-filename","displayName":"Java compilation note"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/appcheck/firebase-appcheck-debug/src/main/java/com/google/firebase/appcheck/debug/internal/DebugAppCheckProvider.java"},{"taskPath":":appcheck:firebase-appcheck-debug:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation note"}],"severity":"ADVICE","problemDetails":[{"text":"Note: Recompile with -Xlint:deprecation for details."}],"contextualLabel":"Recompile with -Xlint:deprecation for details.","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-note-deprecated-recompile","displayName":"Java compilation note"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/appcheck/firebase-appcheck-debug-testing/src/main/java/com/google/firebase/appcheck/debug/testing/DebugAppCheckTestHelper.java"},{"taskPath":":appcheck:firebase-appcheck-debug-testing:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation note"}],"severity":"ADVICE","problemDetails":[{"text":"Note: /home/runner/work/firebase-android-sdk/firebase-android-sdk/appcheck/firebase-appcheck-debug-testing/src/main/java/com/google/firebase/appcheck/debug/testing/DebugAppCheckTestHelper.java uses unchecked or unsafe operations."}],"contextualLabel":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/appcheck/firebase-appcheck-debug-testing/src/main/java/com/google/firebase/appcheck/debug/testing/DebugAppCheckTestHelper.java uses unchecked or unsafe operations.","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-note-unchecked-filename","displayName":"Java compilation note"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/appcheck/firebase-appcheck-debug-testing/src/main/java/com/google/firebase/appcheck/debug/testing/DebugAppCheckTestHelper.java"},{"taskPath":":appcheck:firebase-appcheck-debug-testing:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation note"}],"severity":"ADVICE","problemDetails":[{"text":"Note: Recompile with -Xlint:unchecked for details."}],"contextualLabel":"Recompile with -Xlint:unchecked for details.","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-note-unchecked-recompile","displayName":"Java compilation note"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/appcheck/firebase-appcheck-playintegrity/src/main/java/com/google/firebase/appcheck/playintegrity/internal/PlayIntegrityAppCheckProvider.java"},{"taskPath":":appcheck:firebase-appcheck-playintegrity:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation note"}],"severity":"ADVICE","problemDetails":[{"text":"Note: /home/runner/work/firebase-android-sdk/firebase-android-sdk/appcheck/firebase-appcheck-playintegrity/src/main/java/com/google/firebase/appcheck/playintegrity/internal/PlayIntegrityAppCheckProvider.java uses or overrides a deprecated API."}],"contextualLabel":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/appcheck/firebase-appcheck-playintegrity/src/main/java/com/google/firebase/appcheck/playintegrity/internal/PlayIntegrityAppCheckProvider.java uses or overrides a deprecated API.","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-note-deprecated-filename","displayName":"Java compilation note"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/appcheck/firebase-appcheck-playintegrity/src/main/java/com/google/firebase/appcheck/playintegrity/internal/PlayIntegrityAppCheckProvider.java"},{"taskPath":":appcheck:firebase-appcheck-playintegrity:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation note"}],"severity":"ADVICE","problemDetails":[{"text":"Note: Recompile with -Xlint:deprecation for details."}],"contextualLabel":"Recompile with -Xlint:deprecation for details.","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-note-deprecated-recompile","displayName":"Java compilation note"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/appcheck/firebase-appcheck-recaptchaenterprise/src/main/java/com/google/firebase/appcheck/recaptchaenterprise/internal/RecaptchaEnterpriseAppCheckProvider.java"},{"taskPath":":appcheck:firebase-appcheck-recaptchaenterprise:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation note"}],"severity":"ADVICE","problemDetails":[{"text":"Note: /home/runner/work/firebase-android-sdk/firebase-android-sdk/appcheck/firebase-appcheck-recaptchaenterprise/src/main/java/com/google/firebase/appcheck/recaptchaenterprise/internal/RecaptchaEnterpriseAppCheckProvider.java uses or overrides a deprecated API."}],"contextualLabel":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/appcheck/firebase-appcheck-recaptchaenterprise/src/main/java/com/google/firebase/appcheck/recaptchaenterprise/internal/RecaptchaEnterpriseAppCheckProvider.java uses or overrides a deprecated API.","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-note-deprecated-filename","displayName":"Java compilation note"}]},{"locations":[{"path":"/home/runner/work/firebase-android-sdk/firebase-android-sdk/appcheck/firebase-appcheck-recaptchaenterprise/src/main/java/com/google/firebase/appcheck/recaptchaenterprise/internal/RecaptchaEnterpriseAppCheckProvider.java"},{"taskPath":":appcheck:firebase-appcheck-recaptchaenterprise:compileReleaseJavaWithJavac"}],"problem":[{"text":"Java compilation note"}],"severity":"ADVICE","problemDetails":[{"text":"Note: Recompile with -Xlint:deprecation for details."}],"contextualLabel":"Recompile with -Xlint:deprecation for details.","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler-note-deprecated-recompile","displayName":"Java compilation note"}]}],"problemsReport":{"totalProblemCount":76,"buildName":"com.google.firebase","requestedTasks":"kotlindoc","documentationLink":"https://docs.gradle.org/8.13/userguide/reporting_problems.html","documentationLinkCaption":"Problem report","summaries":[{"problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"properties-should-be-assigned-using-the-propname-value-syntax-setting-a-property-via-the-gradle-generated-propname-value-or-propname-value-syntax-in-groovy-dsl","displayName":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"count":4}]}}
// end-report-data
);}
</script> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Summary of Changes
Hello @VinayGuthal, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!
This pull request introduces significant enhancements to the generative AI system by adding explicit support for code execution. It modifies the GenerateContentResponse
to easily expose code execution results and executable code parts, and extends the Tool
class to allow the AI model to specify or request code execution as a capability. These changes lay the groundwork for AI models to interact with and leverage external code execution environments.
Highlights
- Enhanced AI Response Handling for Code Execution: This change introduces two new convenience properties,
codeExecutionResults
andexecutableCodeList
, to theGenerateContentResponse
class. These properties allow for easy retrieval ofCodeExecutionResultPart
andExecutableCodePart
instances, respectively, from the AI model's response. - Integration of Code Execution into AI Tooling: The
Tool
class has been extended to support code execution. A newcodeExecution
property (of typeJsonObject?
) was added to its constructor and internal representation. This enables the AI model to specify or request code execution as a tool. - New Factory Method for Code Execution Tool: A new static factory method,
Tool.codeExecution()
, has been added. This method provides a straightforward way to create aTool
instance specifically configured for code execution, simplifying the setup for developers. - Updated Tool Factory Methods for Compatibility: Existing factory methods like
Tool.functionDeclarations()
andTool.googleSearch()
were updated to accommodate the newcodeExecution
parameter, ensuring backward compatibility and proper initialization ofTool
instances across different use cases.
Using Gemini Code Assist
The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.
Invoking Gemini
You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command>
or @gemini-code-assist <command>
. Below is a summary of the supported commands.
Feature | Command | Description |
---|---|---|
Code Review | /gemini review |
Performs a code review for the current pull request in its current state. |
Pull Request Summary | /gemini summary |
Provides a summary of the current pull request in its current state. |
Comment | @gemini-code-assist | Responds in comments when explicitly tagged, both in issue comments and review comments. |
Help | /gemini help |
Displays a list of available commands. |
Customization
To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/
folder in the base of the repository. Detailed instructions can be found here.
Limitations & Feedback
Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.
You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.
Footnotes
-
Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩
Generated by 🚫 Danger |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request adds support for code execution to the generative AI functionality. The changes introduce new properties in GenerateContentResponse
and a new factory method in Tool
. My review has identified a critical issue in GenerateContentResponse
that could lead to a crash if the model returns no candidates. I've also noted that the new public API in Tool.kt
is missing unit tests, which is important for long-term maintainability. Please see the detailed comments for suggestions on how to address these points.
* Convenience field to list all the [CodeExecutionResultPart]s in the response, if they exist. | ||
*/ | ||
public val codeExecutionResults: List<CodeExecutionResultPart> by lazy { | ||
candidates.first().content.parts.filterIsInstance<CodeExecutionResultPart>() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Calling candidates.first()
will throw a NoSuchElementException
if the candidates
list is empty. This can happen if the model returns no candidates in the response, which would cause a crash. To prevent this, you should safely access the first candidate using firstOrNull()
and provide a default empty list using the elvis operator ?:
.
candidates.first().content.parts.filterIsInstance<CodeExecutionResultPart>() | |
candidates.firstOrNull()?.content?.parts?.filterIsInstance<CodeExecutionResultPart>() ?: emptyList() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is actually a great catch by Gemini. https://github.com/firebase/firebase-android-sdk/pull/7270/files/04ba803802f8c1e8d2563e2f7384e51a487c9ae3#diff-96bec27f04d310266c9b09f561314e8cd13284ebcc32f2d69ab187ca6e13d3d6 fixes it for other cases
Please address here and below
firebase-ai/src/main/kotlin/com/google/firebase/ai/type/GenerateContentResponse.kt
Outdated
Show resolved
Hide resolved
The public api surface has changed for the subproject firebase-ai: Please update the api.txt files for the subprojects being affected by this change by running ./gradlew ${subproject}:generateApiTxtFile. Also perform a major/minor bump accordingly. |
Coverage Report 1Affected ProductsNo changes between base commit (be8f480) and merge commit (6590dba).Test Logs |
Size Report 1Affected Products
Test Logs |
The public api surface has changed for the subproject firebase-ai: Please update the api.txt files for the subprojects being affected by this change by running ./gradlew ${subproject}:generateApiTxtFile. Also perform a major/minor bump accordingly. |
The public api surface has changed for the subproject firebase-ai: Please update the api.txt files for the subprojects being affected by this change by running ./gradlew ${subproject}:generateApiTxtFile. Also perform a major/minor bump accordingly. |
The public api surface has changed for the subproject firebase-ai: Please update the api.txt files for the subprojects being affected by this change by running ./gradlew ${subproject}:generateApiTxtFile. Also perform a major/minor bump accordingly. |
This PR integrates code execution functionality into the Firebase AI Logic SDK. This enhancement enables developers to activate code execution in their requests, providing visibility into the code snippets run by the backend and their corresponding results.
This aligns with the functionality described in the official Gemini API documentation on code execution.
Changes
Tool Class Enhancement: Implements a new function within the Tool class that allows developers to enable the code execution feature in their requests.