Skip to content

Commit ee51209

Browse files
Merge branch 'main' into dependabot/maven/org.apache.httpcomponents.client5-httpclient5-5.6
2 parents 788f56e + b465586 commit ee51209

471 files changed

Lines changed: 2933 additions & 545 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.github/scripts/generate_changelog.sh‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/bin/bash
22

3-
# Copyright 2020 Google Inc.
3+
# Copyright 2020 Google LLC
44
#
55
# Licensed under the Apache License, Version 2.0 (the "License");
66
# you may not use this file except in compliance with the License.

‎.github/scripts/package_artifacts.sh‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/bin/bash
22

3-
# Copyright 2020 Google Inc.
3+
# Copyright 2020 Google LLC
44
#
55
# Licensed under the Apache License, Version 2.0 (the "License");
66
# you may not use this file except in compliance with the License.

‎.github/scripts/publish_artifacts.sh‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/bin/bash
22

3-
# Copyright 2020 Google Inc.
3+
# Copyright 2020 Google LLC
44
#
55
# Licensed under the Apache License, Version 2.0 (the "License");
66
# you may not use this file except in compliance with the License.

‎.github/scripts/publish_preflight_check.sh‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/bin/bash
22

3-
# Copyright 2020 Google Inc.
3+
# Copyright 2020 Google LLC
44
#
55
# Licensed under the Apache License, Version 2.0 (the "License");
66
# you may not use this file except in compliance with the License.

‎.github/workflows/ci.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright 2020 Google Inc.
1+
# Copyright 2020 Google LLC
22
#
33
# Licensed under the Apache License, Version 2.0 (the "License");
44
# you may not use this file except in compliance with the License.

‎.github/workflows/nightly.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright 2021 Google Inc.
1+
# Copyright 2021 Google LLC
22
#
33
# Licensed under the Apache License, Version 2.0 (the "License");
44
# you may not use this file except in compliance with the License.

‎.github/workflows/release.yml‎

Lines changed: 31 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright 2020 Google Inc.
1+
# Copyright 2020 Google LLC
22
#
33
# Licensed under the Apache License, Version 2.0 (the "License");
44
# you may not use this file except in compliance with the License.
@@ -15,34 +15,38 @@
1515
name: Release Candidate
1616

1717
on:
18-
# Only run the workflow when a PR is updated or when a developer explicitly requests
19-
# a build by sending a 'firebase_build' event.
18+
# Run the workflow when:
19+
# 1. A PR is updated (staging checks).
20+
# 2. A commit is pushed to main (release publication).
21+
# 3. A developer explicitly requests a build via 'firebase_build' event.
2022
pull_request:
21-
types: [opened, synchronize, closed]
23+
types: [opened, synchronize]
24+
25+
push:
26+
branches:
27+
- main
28+
paths:
29+
- 'pom.xml'
2230

2331
repository_dispatch:
2432
types:
2533
- firebase_build
2634

2735
jobs:
2836
stage_release:
29-
# To publish a release, merge the release PR with the label 'release:publish'.
37+
# To publish a release, merge a PR with the title prefix '[chore] Release ' to main
38+
# and ensure the squashed commit message also has the prefix.
3039
# To stage a release without publishing it, send a 'firebase_build' event or apply
3140
# the 'release:stage' label to a PR.
3241
if: github.event.action == 'firebase_build' ||
3342
contains(github.event.pull_request.labels.*.name, 'release:stage') ||
34-
(github.event.pull_request.merged &&
35-
contains(github.event.pull_request.labels.*.name, 'release:publish'))
43+
(github.event_name == 'push' && startsWith(github.event.head_commit.message, '[chore] Release '))
3644

3745
runs-on: ubuntu-latest
3846

39-
# When manually triggering the build, the requester can specify a target branch or a tag
40-
# via the 'ref' client parameter.
4147
steps:
4248
- name: Checkout source for staging
4349
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
44-
with:
45-
ref: ${{ github.event.client_payload.ref || github.ref }}
4650

4751
- name: Set up JDK 8
4852
uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4.8.0
@@ -67,15 +71,13 @@ jobs:
6771
publish_release:
6872
needs: stage_release
6973

70-
# Check whether the release should be published. We publish only when the trigger PR is
71-
# 1. merged
74+
# Check whether the release should be published. We publish only when the trigger is
75+
# 1. a push (merge)
7276
# 2. to the main branch
73-
# 3. with the label 'release:publish', and
74-
# 4. the title prefix '[chore] Release '.
75-
if: github.event.pull_request.merged &&
77+
# 3. and the commit message has the title prefix '[chore] Release '.
78+
if: github.event_name == 'push' &&
7679
github.ref == 'refs/heads/main' &&
77-
contains(github.event.pull_request.labels.*.name, 'release:publish') &&
78-
startsWith(github.event.pull_request.title, '[chore] Release ')
80+
startsWith(github.event.head_commit.message, '[chore] Release ')
7981

8082
runs-on: ubuntu-latest
8183
environment: Release
@@ -96,6 +98,17 @@ jobs:
9698
id: preflight
9799
run: ./.github/scripts/publish_preflight_check.sh
98100

101+
# See: https://cli.github.com/manual/gh_release_create
102+
- name: Create release tag
103+
env:
104+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
105+
RELEASE_VER: ${{ steps.preflight.outputs.version }}
106+
RELEASE_BODY: ${{ steps.preflight.outputs.changelog }}
107+
run: |
108+
gh release create "$RELEASE_VER" \
109+
--title "Firebase Admin Java SDK $RELEASE_VER" \
110+
--notes "$RELEASE_BODY"
111+
99112
- name: Publish to Maven Central
100113
run: ./.github/scripts/publish_artifacts.sh
101114
env:
@@ -104,12 +117,3 @@ jobs:
104117
GPG_KEY_ID: ${{ secrets.GPG_KEY_ID }}
105118
CENTRAL_USERNAME: ${{ secrets.CENTRAL_USERNAME }}
106119
CENTRAL_TOKEN: ${{ secrets.CENTRAL_TOKEN }}
107-
108-
# See: https://cli.github.com/manual/gh_release_create
109-
- name: Create release tag
110-
env:
111-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
112-
run: gh release create ${{ steps.preflight.outputs.version }}
113-
--title "Firebase Admin Java SDK ${{ steps.preflight.outputs.version }}"
114-
--notes '${{ steps.preflight.outputs.changelog }}'
115-

‎AGENTS.md‎

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# AI coding assistant guidelines: Firebase Admin Java SDK
2+
3+
This document defines repository-wide expectations, code styles, and Checkstyle compliance metrics that every autonomous AI coding agent or pair programming assistant must strictly follow when introducing or modifying code in this repository.
4+
5+
---
6+
7+
## 🎨 Code Style & Checkstyle Compliance
8+
9+
This repository enforces standard **Google Java Style** guidelines validated through automated Maven checkstyle executions (`checkstyle.xml`). Any compilation or pull request build will fail if these constraints are violated.
10+
11+
### 1. Strict 100-Character Line Limit
12+
* **Rule:** No line of code, comments, Javadoc documentation entries, or inline string literal concatenations may exceed **100 characters** under any circumstances.
13+
* **Remediation:**
14+
* Break long method parameters, array initializations, and logic comparisons onto separate lines.
15+
* Wrap long `assertThrows` statements or lambda chains across multiple contiguous lines.
16+
* Format long log messages, exception messages, or assertion string explanations using standard string block concatenation broken across separate lines.
17+
18+
### 2. Import Ordering & Grouping
19+
* **Rule:** Imports must be grouped and arranged alphabetically to avoid validation noise.
20+
* **Remediation:**
21+
1. Static imports placed first, grouped, and alphabetically arranged.
22+
2. Non-static imports grouped alphabetically by package tier.
23+
3. Avoid utilizing wildcard (`*`) imports. Every import declaration must be explicit.
24+
25+
### 3. Javadoc Completeness & Formatting
26+
* **Rule:** Every public class, package-private component interface, constructor, and public method signature must include fully formed Javadoc documentation blocks.
27+
* **Remediation:**
28+
* Document all arguments via `@param`, explain error flows via `@throws`, and clear return constraints via `@return`.
29+
* Wrap documentation description text explicitly so that no single javadoc documentation line passes the 100 characters limit.
30+
31+
### 4. Indentation & Spacing
32+
* **Rule:** Standard indentation uses exactly **2 spaces** per block indentation level. **4 spaces** are used explicitly for wrapped line continuation indentation.
33+
* **Remediation:** Never utilize tab characters. Ensure block braces follow the Google K&R opening line placement convention.

‎NOTICE.txt‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
Firebase Admin Java SDK
2-
Copyright 2019 Google Inc.
2+
Copyright 2019 Google LLC
33

44
This product includes software developed at
55
The Apache Software Foundation (http://www.apache.org/).

‎checkstyle.xml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0"?>
22
<!--
3-
~ Copyright 2017 Google Inc.
3+
~ Copyright 2017 Google LLC
44
~
55
~ Licensed under the Apache License, Version 2.0 (the "License");
66
~ you may not use this file except in compliance with the License.

0 commit comments

Comments
 (0)