Thư viện ứng dụng là giao diện dành riêng cho ngôn ngữ của một API. Tài liệu này mô tả cách sử dụng Bazelisk (một trình chạy cho Bazel) để tạo thư viện ứng dụng cho Routes API for Automotive bằng nhiều ngôn ngữ lập trình. Bazelisk đảm bảo rằng hệ thống sử dụng đúng phiên bản Bazel để thực thi các lệnh tạo bản dựng.
Mã cần thiết để tạo thư viện được lưu trữ trong một kho lưu trữ Gerrit riêng tư. Để được giải thích về cách hoạt động của thư viện ứng dụng, hãy xem phần Giải thích về thư viện ứng dụng.
Điều kiện tiên quyết
Yêu cầu về phần mềm
Cài đặt các mục sau:
Yêu cầu về quyền
- Quyền truy cập vào kho lưu trữ được cấp cho các thành viên của một nhóm<partner>@google.com cụ thể do đại diện của công ty bạn quản lý. Để được thêm vào nhóm này, hãy liên hệ với đầu mối liên hệ của công ty bạn hoặc đối tác kinh doanh của Google.
Bước 1: Truy cập vào Gerrit
Cách truy cập vào Gerrit:- Đảm bảo bạn đã hoàn thành các yêu cầu về quyền truy cập vào kho lưu trữ nêu trong phần Điều kiện tiên quyết.
- Tạo Tài khoản Google bằng
địa chỉ email công ty bằng cách làm theo hướng dẫn trong phần Tạo Tài khoản Google.
- Khi tạo Tài khoản Google, hãy đảm bảo bạn không đăng nhập vào gmail.com hoặc một tài khoản dịch vụ khác của miền Google trước khi truy cập trang Đăng nhập bằng Tài khoản Google. Để đảm bảo hồ sơ sạch, hãy đóng rồi khởi động lại trình duyệt, đồng thời mở một cửa sổ duyệt web ở chế độ ẩn danh (riêng tư).
- Khi yêu cầu người khác cấp quyền truy cập, hãy tạo tài khoản cho từng cá nhân cần quyền truy cập. Sau đó, gửi danh sách Tài khoản Google mới cho đối tác kinh doanh của Google. Đối tác kinh doanh của bạn sẽ thêm địa chỉ email vào các nhóm truy cập thích hợp.
- Truy cập vào https://partner-code.googlesource.com bằng Tài khoản Google bạn vừa tạo. Khi bạn truy cập vào máy chủ lưu trữ của Gerrit, một người dùng sẽ được tạo và tự động đăng nhập cho bạn.
- Trên https://partner-code.googlesource.com, hãy nhấp vào Generate Password (Tạo mật khẩu). Làm theo hướng dẫn trên màn hình để chọn Tài khoản Google của bạn, cho phép truy cập vào googlesource.com và làm theo hướng dẫn khác trên màn hình.
- Khi thấy một tập lệnh, hãy sao chép và dán tập lệnh đó vào dòng lệnh của bạn.
Bước 2: Sao chép các kho lưu trữ
Trong bước này, bạn sẽ sao chép kho lưu trữ googleapis
và routes-auto-early-access
.
- Sao chép kho lưu trữ
routes-auto-early-access
:git clone https://partner-code.googlesource.com/routes-auto-early-access
- Sao chép kho lưu trữ
googleapis
công khai của Google:git clone https://github.com/googleapis/googleapis.git
Bước 3: Hợp nhất các kho lưu trữ
Trong bước này, bạn sẽ di chuyển thư mục con routes-auto-early-access/google/maps/routing/v2
vào googleapis/google/maps/routing/v2
.
- Sau khi sao chép kho lưu trữ, hãy đảm bảo thư mục đang hoạt động (
pwd
) hiện có chứa cả thư mục conroutes-auto-early-access
vàgoogleapis
.. ├── routes-auto-early-access └── googleapis
- Tạo thư mục
routing/v2
ở vị trí đích rồi sao chéprouting/v2
vàogoogleapis/google/maps/routing/v2
:mkdir -p "googleapis/google/maps/routing/v2" && cp -R "routes-auto-early-access/google/maps/routing/v2" "googleapis/google/maps/routing"
Để xác nhận đã hợp nhất thành công thư mục routing/v2
vào thư mục googleapis/google/maps/routing/v2
, hãy chuyển đến googleapis/google/maps/routing/v2
.
Thư mục này phải chứa các tệp proto, một tệp BUILD.bazel
và các tệp khác cần thiết để xây dựng.
Bước 4: Xây dựng thư viện ứng dụng bằng Bazelisk
Để xây dựng thư viện ứng dụng cho một ngôn ngữ cụ thể, hãy xác định mục tiêu bản dựng cho ngôn ngữ đó trong tệp BUILD.bazel
(tại googleapis/google/maps/routing/v2/BUILD.bazel
) và tạo mục tiêu đó. Bạn có thể tìm thấy name
mục tiêu bên trong các đối tượng <LANGUAGE>_gapic_assembly_pkg
.
Xem phần Xây dựng một mục tiêu trong tài liệu về Bazel để biết thêm thông tin.
Ví dụ: để xây dựng thư viện ứng dụng Java, hãy làm như sau:
- Đổi sang thư mục
googleapis
:cd googleapis
- Chạy lệnh sau:
bazelisk build google/maps/routing/v2:google-cloud-maps-routing-v2-java
Lệnh này tạo thư viện ứng dụng Java tại
googleapis/bazel-bin/google/maps/routing/v2/google-cloud-maps-routing-v2-java.tar.gz
.
Để thuận tiện cho bạn, bảng sau đây liệt kê các lệnh tạo cho từng ngôn ngữ hiện có.
Ngôn ngữ | Lệnh tạo Bazelisk |
---|---|
Java | bazelisk build google/maps/routing/v2:google-cloud-maps-routing-v2-java
|
Go | bazelisk build google/maps/routing/v2:gapi-cloud-maps-routing-v2-go
|
1.199 | bazelisk build google/maps/routing/v2:google-cloud-maps-routing-v2-php
|
Ruby | bazelisk build google/maps/routing/v2:google-cloud-maps-routing-v2-ruby
|
C# | bazelisk build google/maps/routing/v2:google-cloud-maps-routing-v2-csharp
|
Nút | bazelisk build google/maps/routing/v2:maps-routing-v2-nodejs
|
Tích hợp nội dung cập nhật khi có bản phát hành mới
Khi có bản phát hành mới cho API, bạn cần tạo lại thư viện ứng dụng. Giả sử bạn đã sao chép kho lưu trữ theo hướng dẫn trong các phần trước, hãy làm như sau cho các bản phát hành mới:
- Thay đổi thành thư mục đang hoạt động hiện tại chứa cả hai kho lưu trữ:
. ├── routes-auto-early-access └── googleapis
- Xoá thực thể trước đó của
routing/v2
bên tronggoogleapis/google/maps
:rm -rf googleapis/google/maps/routing/v2
- Truy cập vào cả kho lưu trữ
routes-auto-early-access
vàgoogleapis
, đồng thời chạygit pull
để nhận thông tin cập nhật mới nhất. - Sao chép
routing/v2
vàogoogleapis/google/maps/routing/v2
, tương tự như trước:mkdir -p "googleapis/google/maps/routing/v2" && cp -R "routes-auto-early-access/google/maps/routing/v2" "googleapis/google/maps/routing"
Để xác nhận rằng kho lưu trữ
routing/v2
đã được hợp nhất vào thư mụcgoogleapis/google/maps/routing/v2
, hãy chuyển đếngoogleapis/google/maps/routing/v2
. Thư mục này phải chứa các tệp proto, một tệpBUILD.bazel
và các tệp khác cần thiết cho bản dựng Bazel. - Chạy các lệnh tạo bản dựng Bazelisk được nêu trong phần trước Bước 4: Tạo thư viện ứng dụng bằng Bazelisk.
Tạo tài liệu Java cho thư viện ứng dụng Java
Thư viện ứng dụng cho phép bạn gọi Routes API for Automotive bằng cách sử dụng các lớp và phương thức dành riêng cho ngôn ngữ đó. Rất tiếc, kết quả đầu ra không bao gồm tài liệu Javadoc cho thư viện ứng dụng. Phần này giải thích cách tạo Javadoc cho thư viện ứng dụng Java.
Điều kiện tiên quyết
Cách xây dựng Javadoc:
Đảm bảo bạn đã cài đặt các phiên bản Gradle (8.0 trở lên) và JDK (17 trở xuống) tương thích. Bạn có thể kiểm tra các phiên bản đã cài đặt bằng cách chạy
./gradlew --version
vàjava -version
trong cửa sổ dòng lệnh.Thư viện ứng dụng Java được xây dựng cho tệp
tar.gz
sau đây mà bạn cần trích xuất:googleapis/bazel-bin/google/maps/routing/v2/google-cloud-maps-routing-v2-java.tar.gz
.Giả sử bạn đang ở trong thư mục
googleapis
, hãy chạy lệnh sau và thay/PATH/TO/PARENT/DIRECTORY
bằng đường dẫn mà bạn đã chọn cho thư viện đã trích xuất:mkdir -p /PATH/TO/PARENT/DIRECTORY && tar -xzpf bazel-bin/google/maps/routing/v2/google-cloud-maps-routing-v2-java.tar.gz -C /PATH/TO/PARENT/DIRECTORY
Chuyển đến thư mục mẹ:
cd /PATH/TO/PARENT/DIRECTORY
Trên thư mục
google-cloud-maps-routing-v2-java
, hãy mở các tệpbuild.gradle
trong mỗi thư mục sau:gapic-google-cloud-maps-routing-v2-java/build.gradle
grpc-google-cloud-maps-routing-v2-java/build.gradle
proto-google-cloud-maps-routing-v2-java/build.gradle
Hãy đảm bảo mỗi biến đều có các việc cần làm sau. Do có lỗi, hãy thay thế hai tác vụ và cấu phần phần mềm tương tự hiện có bằng mã sau:
task javadocJar(type: Jar, dependsOn: javadoc) { archiveClassifier.set('javadoc') from javadoc.destinationDir } task sourcesJar(type: Jar) { archiveClassifier.set('sources') from sourceSets.main.allSource } artifacts { archives javadocJar }
Kiểm tra để đảm bảo bạn đang sử dụng Gradle 8.0 trở lên:
./gradlew --version
. Nếu phiên bản của bạn là 7, hãy làm như sau: trong thư mụcgoogle-cloud-maps-routing-v2-java
, hãy xoá các tệpgradlew
vàgradlew.bat
. Sau đó, hãy chạygradle wrapper --gradle-version=8.0
để chuyển sang phiên bản 8.0.Trong thư mục
google-cloud-maps-routing-v2-java
, hãy sử dụng Gradle để tạo các tài liệu Java:./gradlew build
Javadoc được tạo sẽ xuất hiện trong các thư mục sau:
google-cloud-maps-routing-v2-java/gapic-google-cloud-maps-routing-v2-java/build/docs/javadoc
google-cloud-maps-routing-v2-java/grpc-google-cloud-maps-routing-v2-java/build/docs/javadoc
google-cloud-maps-routing-v2-java/proto-google-cloud-maps-routing-v2-java/build/docs/javadoc
Mở tệp
overview-tree.html
của từng thư mục bằng trình duyệt web.