Клиентские библиотеки — это языковые интерфейсы для API. В этом документе описывается, как использовать Bazelisk , средство запуска для Bazel , для создания клиентских библиотек для API маршрутов для автомобильной промышленности на различных языках программирования. Bazelisk гарантирует, что для выполнения команд сборки используется правильная версия Bazel.
Код, необходимый для создания библиотек, размещен в частном репозитории Gerrit. Объяснение того, как работают клиентские библиотеки, см. в разделе Объяснение клиентских библиотек .
Предварительные условия
Требования к программному обеспечению
Установите следующее:
Требования к разрешениям
- Доступ к хранилищу предоставляется участникам определенной группы <partner>@google.com , которой управляет представитель вашей компании. Чтобы вас добавили в эту группу, обратитесь к контактному лицу вашей компании или деловому партнеру Google.
Шаг 1: Получите доступ к Герриту
Чтобы получить доступ к Герриту:- Убедитесь, что вы выполнили требования к разрешениям репозитория, перечисленные в разделе «Предварительные условия» .
- Создайте учетную запись Google с корпоративным адресом электронной почты, следуя инструкциям в разделе «Создание учетной записи Google» .
- При создании учетной записи Google убедитесь, что вы не вошли в учетную запись gmail.com или другую учетную запись доменной службы Google, прежде чем посещать страницу входа в учетную запись Google. Чтобы обеспечить чистоту профиля, закройте и перезапустите браузер и откройте окно просмотра в режиме инкогнито (частное).
- Запрашивая доступ для других, создайте учетную запись для каждого человека, которому нужен доступ. Затем отправьте список новых аккаунтов Google своему деловому партнеру Google. Ваш деловой партнер добавит адреса электронной почты в соответствующие группы доступа.
- Используя только что созданную учетную запись Google, перейдите по адресу https://partner-code.googlesource.com . Когда вы получаете доступ к хосту Gerrit, для вас будет создан пользователь, который автоматически войдет в систему.
- На странице https://partner-code.googlesource.com нажмите «Создать пароль» . Следуйте инструкциям на экране, чтобы выбрать свою учетную запись Google, разрешить доступ googlesource.com и следовать другим инструкциям на экране.
- Когда появится сценарий, скопируйте и вставьте его в свой терминал.
Шаг 2. Клонируйте репозитории.
На этом этапе вы клонируете репозитории googleapis
и routes-auto-early-access
.
- Клонируйте репозиторий
routes-auto-early-access
:git clone https://partner-code.googlesource.com/routes-auto-early-access
- Клонируйте общедоступный репозиторий Google
googleapis
:git clone https://github.com/googleapis/googleapis.git
Шаг 3. Объедините репозитории
На этом этапе вы переместите подкаталог routes-auto-early-access/google/maps/routing/v2
в googleapis/google/maps/routing/v2
.
- После клонирования репозиториев убедитесь, что ваш текущий рабочий каталог (
pwd
) включает подкаталогиroutes-auto-early-access
иgoogleapis
.. ├── routes-auto-early-access └── googleapis
- Создайте каталог
routing/v2
в целевом расположении и скопируйтеrouting/v2
вgoogleapis/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"
Чтобы убедиться, что каталог routing/v2
успешно объединен с каталогом googleapis/google/maps/routing/v2
, перейдите в googleapis/google/maps/routing/v2
. В папке должны находиться файлы прототипа, файл BUILD.bazel
и другие файлы, необходимые для сборки.
Шаг 4. Создайте клиентскую библиотеку с помощью Bazelisk.
Чтобы создать клиентскую библиотеку для определенного языка, определите цель сборки для этого языка в файле BUILD.bazel
(по адресу googleapis/google/maps/routing/v2/BUILD.bazel
) и создайте эту цель. Целевое name
можно найти внутри объектов <LANGUAGE>_gapic_assembly_pkg
. Дополнительную информацию см. в разделе «Построение одной цели» в документации Bazel.
Например, чтобы создать клиентскую библиотеку Java, выполните следующие действия:
- Перейдите в каталог
googleapis
:cd googleapis
- Выполните следующую команду:
bazelisk build google/maps/routing/v2:google-cloud-maps-routing-v2-java
Эта команда создает клиентскую библиотеку Java по адресу
googleapis/bazel-bin/google/maps/routing/v2/google-cloud-maps-routing-v2-java.tar.gz
.
Для вашего удобства в следующей таблице перечислены команды сборки для каждого доступного языка.
Язык | Команда сборки Базелиска |
---|---|
Джава | bazelisk build google/maps/routing/v2:google-cloud-maps-routing-v2-java |
Идти | bazelisk build google/maps/routing/v2:gapi-cloud-maps-routing-v2-go |
PHP | bazelisk build google/maps/routing/v2:google-cloud-maps-routing-v2-php |
Рубин | bazelisk build google/maps/routing/v2:google-cloud-maps-routing-v2-ruby |
С# | bazelisk build google/maps/routing/v2:google-cloud-maps-routing-v2-csharp |
Узел | bazelisk build google/maps/routing/v2:maps-routing-v2-nodejs |
Включайте обновления при выходе новых выпусков
При выходе новых версий API необходимо пересобрать клиентские библиотеки. Предполагая, что вы уже клонировали репозитории, следуя инструкциям в предыдущих разделах, выполните следующие действия для новых выпусков:
- Перейдите в текущий рабочий каталог, содержащий оба репозитория:
. ├── routes-auto-early-access └── googleapis
- Удалите предыдущий экземпляр
routing/v2
внутриgoogleapis/google/maps
:rm -rf googleapis/google/maps/routing/v2
- Перейдите в репозитории
routes-auto-early-access
иgoogleapis
и запуститеgit pull
, чтобы получить последние обновления. - Скопируйте
routing/v2
вgoogleapis/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"
Чтобы убедиться, что репозиторий
routing/v2
успешно объединен с каталогомgoogleapis/google/maps/routing/v2
, перейдите вgoogleapis/google/maps/routing/v2
. Папка должна содержать файлы прототипов, файлBUILD.bazel
и другие файлы, необходимые для сборки Bazel. - Запустите команды сборки Bazelisk, перечисленные в предыдущем разделе . Шаг 4. Создайте клиентскую библиотеку с помощью Bazelisk .
Создайте Javadocs для клиентской библиотеки Java.
Клиентская библиотека дает вам возможность вызывать API маршрутов для автомобильной промышленности, используя классы и методы, специфичные для этого языка. К сожалению, выходные данные не включают документацию Javadoc для клиентской библиотеки. В этом разделе объясняется, как создать документацию Javadoc для клиентской библиотеки Java.
Предварительные условия
Чтобы создать Javadoc:
Убедитесь, что у вас установлены совместимые версии Gradle (8.0 или выше) и JDK (17 или ниже). Вы можете проверить установленные версии, запустив
./gradlew --version
иjava -version
в своем терминале.Клиентская библиотека Java построена на основе следующего файла
tar.gz
, который вам необходимо извлечь:googleapis/bazel-bin/google/maps/routing/v2/google-cloud-maps-routing-v2-java.tar.gz
.Предполагая, что вы находитесь в каталоге
googleapis
, выполните следующую команду, заменив/PATH/TO/PARENT/DIRECTORY
выбранным вами путем для извлеченной библиотеки: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
Перейдите в родительский каталог:
cd /PATH/TO/PARENT/DIRECTORY
В каталоге
google-cloud-maps-routing-v2-java
откройте файлыbuild.gradle
в каждом из следующих каталогов :-
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
Убедитесь, что каждый из них содержит следующие задачи. Из-за ошибки замените существующие две похожие задачи и артефакты этим кодом:
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 }
-
Убедитесь, что вы используете Gradle 8.0 или выше:
./gradlew --version
. Если у вас версия 7, сделайте следующее: из каталогаgoogle-cloud-maps-routing-v2-java
удалите файлыgradlew
иgradlew.bat
. Затем запуститеgradle wrapper --gradle-version=8.0
чтобы переключиться на 8.0.В каталоге
google-cloud-maps-routing-v2-java
используйте Gradle для создания Javadocs:./gradlew build
Сгенерированный Javadoc появится в следующих каталогах:
-
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
-
Откройте
overview-tree.html
каждого каталога с помощью веб-браузера.