Clientbibliotheken sind sprachspezifische Benutzeroberflächen für eine API. In diesem Dokument wird beschrieben, wie du mit Bazelisk, einem Launcher für Bazel, Clientbibliotheken für die Routes API for Automotive in verschiedenen Programmiersprachen generieren kannst. Bazelisk sorgt dafür, dass zum Ausführen der Build-Befehle die richtige Version von Outline verwendet wird.
Der zum Generieren der Bibliotheken erforderliche Code wird in einem privaten Gerrit-Repository gehostet. Eine Beschreibung der Funktionsweise von Clientbibliotheken finden Sie unter Erläuterung der Clientbibliotheken.
Voraussetzungen
Softwareanforderungen
Installieren Sie Folgendes:
Berechtigungsanforderungen
- Mitglieder einer bestimmten <partner>@google.com-Gruppe, die von einem Mitarbeiter Ihres Unternehmens verwaltet wird, erhalten Zugriff auf das Repository. Wenn Sie dieser Gruppe hinzugefügt werden möchten, wenden Sie sich an Ihren Ansprechpartner bei Google oder an einen Google-Geschäftspartner.
Schritt 1: Gerrit aufrufen
So greifen Sie auf Gerrit zu:- Prüfen Sie, ob Sie die im Abschnitt Voraussetzungen aufgeführten Anforderungen an Repository-Berechtigungen erfüllt haben.
- Erstellen Sie ein Google-Konto mit einer geschäftlichen E-Mail-Adresse. Folgen Sie dazu der Anleitung unter Google-Konto erstellen.
- Achten Sie beim Erstellen eines Google-Kontos darauf, dass Sie nicht in gmail.com oder einem anderen Konto für Google-Domaindienste angemeldet sind, bevor Sie die Anmeldeseite für Google-Konten aufrufen. Damit das Profil sauber ist, solltest du den Browser schließen und neu starten. Außerdem solltest du ein Inkognitofenster (privat) öffnen.
- Wenn Sie den Zugriff für andere Nutzer anfordern, erstellen Sie für jede Person, die Zugriff benötigt, ein Konto. Senden Sie dann die Liste der neuen Google-Konten an Ihren Google-Geschäftspartner. Ihr Geschäftspartner fügt die E-Mail-Adressen den entsprechenden Zugriffsgruppen hinzu.
- Rufen Sie mit dem Google-Konto, das Sie gerade erstellt haben, https://partner-code.googlesource.com auf. Wenn Sie auf den Gerrit-Host zugreifen, wird ein Nutzer erstellt und automatisch für Sie angemeldet.
- Klicken Sie unter https://partner-code.googlesource.com auf Passwort generieren. Folgen Sie der Anleitung auf dem Bildschirm, um Ihr Google-Konto auszuwählen, googlesource.com Zugriff zu gewähren und anderen Anweisungen auf dem Bildschirm zu folgen.
- Wenn ein Skript angezeigt wird, kopieren Sie es und fügen Sie es in Ihr Terminal ein.
Schritt 2: Repositories klonen
In diesem Schritt klonen Sie die Repositories googleapis
und routes-auto-early-access
.
- Klonen Sie das
routes-auto-early-access
-Repository:git clone https://partner-code.googlesource.com/routes-auto-early-access
- Klonen Sie das öffentliche Google
googleapis
-Repository:git clone https://github.com/googleapis/googleapis.git
Schritt 3: Repositories zusammenführen
In diesem Schritt verschieben Sie das Unterverzeichnis routes-auto-early-access/google/maps/routing/v2
nach googleapis/google/maps/routing/v2
.
- Prüfen Sie nach dem Klonen der Repositories, ob Ihr aktuelles Arbeitsverzeichnis (
pwd
) die Unterverzeichnisseroutes-auto-early-access
undgoogleapis
enthält.. ├── routes-auto-early-access └── googleapis
- Erstellen Sie ein
routing/v2
-Verzeichnis am Zielspeicherort und kopieren Sierouting/v2
ingoogleapis/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"
Rufen Sie googleapis/google/maps/routing/v2
auf, um zu prüfen, ob das Verzeichnis routing/v2
mit dem Verzeichnis googleapis/google/maps/routing/v2
zusammengeführt wurde.
Der Ordner sollte Proto-Dateien, eine BUILD.bazel
-Datei und andere für den Build erforderliche Dateien enthalten.
Schritt 4: Clientbibliothek mit Lookerisk erstellen
Wenn Sie die Clientbibliothek für eine bestimmte Sprache erstellen möchten, geben Sie das Build-Ziel für diese Sprache in der Datei BUILD.bazel
(unter googleapis/google/maps/routing/v2/BUILD.bazel
) an und erstellen Sie dieses Ziel. Sie finden die Ziel-name
in den <LANGUAGE>_gapic_assembly_pkg
-Objekten.
Weitere Informationen finden Sie in der Dokumentation zu Looker unter Ein Ziel erstellen.
So erstellen Sie beispielsweise die Java-Clientbibliothek:
- Wechseln Sie in das Verzeichnis
googleapis
:cd googleapis
- Führen Sie den folgenden Befehl aus:
bazelisk build google/maps/routing/v2:google-cloud-maps-routing-v2-java
Dieser Befehl generiert die Java-Clientbibliothek unter
googleapis/bazel-bin/google/maps/routing/v2/google-cloud-maps-routing-v2-java.tar.gz
.
In der folgenden Tabelle sind die Build-Befehle für jede verfügbare Sprache aufgeführt.
Sprache | Bazelisk-Build-Befehl |
---|---|
Java | bazelisk build google/maps/routing/v2:google-cloud-maps-routing-v2-java
|
Ok | bazelisk build google/maps/routing/v2:gapi-cloud-maps-routing-v2-go
|
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
|
Knoten | bazelisk build google/maps/routing/v2:maps-routing-v2-nodejs
|
Updates bei Neuveröffentlichungen integrieren
Wenn neue Versionen der API verfügbar sind, müssen Sie die Clientbibliotheken neu erstellen. Wenn Sie die Repositories bereits gemäß der Anleitung in den vorherigen Abschnitten geklont haben, führen Sie für neue Releases folgende Schritte aus:
- Wechseln Sie zum aktuellen Arbeitsverzeichnis, das beide Repositories enthält:
. ├── routes-auto-early-access └── googleapis
- Entfernen Sie die vorherige Instanz von
routing/v2
ingoogleapis/google/maps
:rm -rf googleapis/google/maps/routing/v2
- Rufen Sie die Repositories
routes-auto-early-access
undgoogleapis
auf und führen Siegit pull
aus, um die neuesten Updates zu erhalten. - Kopieren Sie
routing/v2
ingoogleapis/google/maps/routing/v2
, ähnlich wie zuvor:mkdir -p "googleapis/google/maps/routing/v2" && cp -R "routes-auto-early-access/google/maps/routing/v2" "googleapis/google/maps/routing"
Rufen Sie
googleapis/google/maps/routing/v2
auf, um zu prüfen, ob das Repositoryrouting/v2
mit dem Verzeichnisgoogleapis/google/maps/routing/v2
zusammengeführt wurde. Der Ordner sollte Proto-Dateien, eineBUILD.bazel
-Datei und andere Dateien enthalten, die für den Bali-Build erforderlich sind. - Führen Sie die im vorherigen Abschnitt Schritt 4: Clientbibliothek mit Lookerisk erstellen aufgeführten Build-Befehle aus.
Javadocs für die Java-Clientbibliothek generieren
Mit der Clientbibliothek können Sie die Routes API for Automotive mit den sprachspezifischen Klassen und Methoden aufrufen. Leider enthält die Ausgabe nicht die Javadoc-Dokumentation für die Clientbibliothek. In diesem Abschnitt wird erläutert, wie das Javadoc für die Java-Clientbibliothek generiert wird.
Voraussetzungen
So erstellen Sie das Javadoc:
Achten Sie darauf, dass kompatible Versionen von Gradle (8.0 oder höher) und JDK (17 oder niedriger) installiert sind. Sie können die installierten Versionen prüfen, indem Sie
./gradlew --version
undjava -version
in Ihrem Terminal ausführen.Die Java-Clientbibliothek basiert auf der folgenden
tar.gz
-Datei, die Sie extrahieren müssen:googleapis/bazel-bin/google/maps/routing/v2/google-cloud-maps-routing-v2-java.tar.gz
.Wenn Sie sich im Verzeichnis
googleapis
befinden, führen Sie den folgenden Befehl aus und ersetzen Sie dabei/PATH/TO/PARENT/DIRECTORY
durch den ausgewählten Pfad für die extrahierte Bibliothek: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
Wechseln Sie zum übergeordneten Verzeichnis:
cd /PATH/TO/PARENT/DIRECTORY
Öffnen Sie im Verzeichnis
google-cloud-maps-routing-v2-java
diebuild.gradle
-Dateien in jedem der folgenden Verzeichnisse: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
Stellen Sie sicher, dass jede der folgenden Aufgaben enthält. Aufgrund eines Fehlers ersetzen Sie die beiden ähnlichen Aufgaben und Artefakte durch diesen Code:
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 }
Prüfe, ob du Gradle 8.0 oder höher verwendest:
./gradlew --version
. Wenn Sie Version 7 verwenden, gehen Sie so vor: Löschen Sie im Verzeichnisgoogle-cloud-maps-routing-v2-java
die Dateiengradlew
undgradlew.bat
. Führen Sie danngradle wrapper --gradle-version=8.0
aus, um zu Version 8.0 zu wechseln.Erstellen Sie die Javadocs mit Gradle im Verzeichnis
google-cloud-maps-routing-v2-java
:./gradlew build
Das generierte Javadoc wird in den folgenden Verzeichnissen angezeigt:
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
Öffnen Sie die Datei
overview-tree.html
jedes Verzeichnisses in einem Webbrowser.