Generowanie bibliotek klienta za pomocą Bazelisk (Automotive)

Biblioteki klienta to interfejsy API przeznaczone do określonych języków. W tym dokumencie opisujemy, jak używać Bazeliska – programu uruchamiającego do aplikacji Bazel, aby generować biblioteki klienta dla interfejsu Routes API for Automotive w różnych językach programowania. Bazelisk dba o to, aby do wykonywania poleceń kompilacji używana była prawidłowa wersja bazy danych.

Kod potrzebny do wygenerowania bibliotek jest hostowany w prywatnym repozytorium Gerrit. Więcej informacji o tym, jak działają biblioteki klienta, znajdziesz w opisie bibliotek klienta.

Wymagania wstępne

Wymagania dotyczące oprogramowania

Zainstaluj następujące elementy:

Wymagania dotyczące uprawnień

  • Dostęp do repozytorium mają członkowie określonej grupy <partner>@google.com, którą zarządza przedstawiciel Twojej firmy. Aby dodać Cię do tej grupy, skontaktuj się z osobą kontaktową w Twojej firmie lub z partnerem biznesowym Google.

Krok 1. Uzyskaj dostęp do Gerrit

Aby uzyskać dostęp do Gerrit:
  1. Sprawdź, czy spełniasz wymagania dotyczące uprawnień do repozytorium wymienione w sekcji Wymagania wstępne.
  2. Utwórz konto Google z firmowym adresem e-mail, postępując zgodnie z instrukcjami podanymi w artykule Tworzenie konta Google.
    • Podczas tworzenia konta Google upewnij się, że nie jesteś zalogowany na gmail.com ani na inne konto usług domeny Google, zanim wejdziesz na stronę logowania na konto Google. Aby profil był czysty, zamknij i ponownie uruchom przeglądarkę oraz otwórz okno przeglądania w trybie incognito (prywatnym).
    • Kiedy prosisz o dostęp dla innych osób, utwórz konto dla każdej osoby, która potrzebuje dostępu. Następnie wyślij listę nowych kont Google do partnera biznesowego Google. Partner biznesowy doda te adresy e-mail do odpowiednich grup dostępu.
  3. Za pomocą utworzonego właśnie konta Google wejdź na https://partner-code.googlesource.com. Gdy uzyskasz dostęp do hosta Gerrit, zostanie utworzony użytkownik, który automatycznie się zaloguje.
  4. Na stronie https://partner-code.googlesource.com kliknij Wygeneruj hasło. Postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, aby wybrać swoje konto Google, zezwolić na dostęp z witryny googlesource.com i wykonać inne instrukcje wyświetlane na ekranie.
  5. Gdy zostanie wyświetlony skrypt, skopiuj go i wklej do terminala.

Krok 2. Sklonuj repozytoria

W tym kroku sklonujesz repozytoria googleapis i routes-auto-early-access.

  1. Skopiuj repozytorium routes-auto-early-access:
    git clone https://partner-code.googlesource.com/routes-auto-early-access
  2. Sklonuj publiczne repozytorium Google googleapis:
    git clone https://github.com/googleapis/googleapis.git

Krok 3. Scal repozytoria

W tym kroku przeniesiesz podkatalog routes-auto-early-access/google/maps/routing/v2 do googleapis/google/maps/routing/v2.

  1. Po sklonowaniu repozytorium sprawdź, czy obecny katalog roboczy (pwd) zawiera podkatalogi routes-auto-early-access i googleapis.
    .
       ├── routes-auto-early-access
       └── googleapis
       
  2. Utwórz katalog routing/v2 w lokalizacji docelowej i skopiuj routing/v2 do folderu 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"

Aby sprawdzić, czy katalog routing/v2 został scalony z katalogiem googleapis/google/maps/routing/v2, otwórz googleapis/google/maps/routing/v2. Folder powinien zawierać pliki proto, plik BUILD.bazel i inne pliki niezbędne do kompilacji.

Krok 4. Utwórz bibliotekę klienta przy użyciu Bazeliska

Aby utworzyć bibliotekę klienta dla określonego języka, w pliku BUILD.bazel (w pliku googleapis/google/maps/routing/v2/BUILD.bazel) określ środowisko docelowe kompilacji dla tego języka i utwórz ten cel. Obiekt docelowy name znajdziesz w obiektach <LANGUAGE>_gapic_assembly_pkg. Więcej informacji znajdziesz w artykule o tworzeniu jednego celu w dokumentacji Bazela.

Aby na przykład utworzyć bibliotekę klienta w Javie, wykonaj te czynności:

  1. Przejdź do katalogu googleapis:
    cd googleapis
  2. Uruchom to polecenie:
    bazelisk build google/maps/routing/v2:google-cloud-maps-routing-v2-java

    To polecenie generuje bibliotekę klienta w języku Java pod adresem googleapis/bazel-bin/google/maps/routing/v2/google-cloud-maps-routing-v2-java.tar.gz.

Dla Twojej wygody w tabeli poniżej znajdziesz polecenia kompilacji dla każdego dostępnego języka.

Język Polecenie kompilacji Baidu
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
PHP 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
Węzeł bazelisk build google/maps/routing/v2:maps-routing-v2-nodejs

Uwzględnianie aktualizacji o nowych wersjach

Gdy pojawią się nowe wersje interfejsu API, konieczne będzie ponowne skompilowanie bibliotek klienta. Zakładając, że repozytoria zostały już sklonowane zgodnie z instrukcjami z poprzednich sekcji, w przypadku nowych wersji wykonaj te czynności:

  1. Przejdź do obecnego katalogu roboczego zawierającego oba repozytoria:
    .
       ├── routes-auto-early-access
       └── googleapis
    
  2. Usuń poprzednie wystąpienie routing/v2 w googleapis/google/maps:
    rm -rf googleapis/google/maps/routing/v2
    
  3. Otwórz repozytoria routes-auto-early-access i googleapis, a następnie uruchom polecenie git pull, aby uzyskać najnowsze aktualizacje.
  4. Skopiuj routing/v2 do aplikacji googleapis/google/maps/routing/v2, podobnie jak wcześniej:
    mkdir -p "googleapis/google/maps/routing/v2" && cp -R "routes-auto-early-access/google/maps/routing/v2" "googleapis/google/maps/routing"

    Aby sprawdzić, czy repozytorium routing/v2 zostało scalone z katalogiem googleapis/google/maps/routing/v2, otwórz googleapis/google/maps/routing/v2. Folder powinien zawierać pliki proto, plik BUILD.bazel i inne pliki niezbędne dla kompilacji Bazel.

  5. Uruchom polecenia kompilacji Bazelisk wymienione we wcześniejszej sekcji Krok 4. Utwórz bibliotekę klienta przy użyciu Bazeliska.

Wygeneruj dokumenty Javadocs na potrzeby biblioteki klienta w Javie

Biblioteka klienta umożliwia wywoływanie interfejsu Routes API for Automotive za pomocą klas i metod typowych dla danego języka. Dane wyjściowe nie zawierają dokumentacji Javadoc z biblioteką klienta. W tej sekcji wyjaśniamy, jak wygenerować dokument Javadoc dla biblioteki klienta w Javie.

Wymagania wstępne

Aby utworzyć dokument Javadoc:

  1. Sprawdź, czy masz zainstalowane zgodne wersje Gradle (8.0 lub nowsze) i JDK (17 lub starsze). Aby sprawdzić zainstalowane wersje, uruchom w terminalu programy ./gradlew --version i java -version.

  2. Biblioteka klienta w języku Java jest oparta na tym pliku tar.gz, który musisz rozpakować: googleapis/bazel-bin/google/maps/routing/v2/google-cloud-maps-routing-v2-java.tar.gz.

    Zakładając, że jesteś w katalogu googleapis, uruchom następujące polecenie, zastępując /PATH/TO/PARENT/DIRECTORY wybraną ścieżką do wyodrębnionej biblioteki:

    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
  3. Przejdź do katalogu nadrzędnego:

    cd /PATH/TO/PARENT/DIRECTORY
    
  4. W katalogu google-cloud-maps-routing-v2-java otwórz pliki build.gradle w każdym z tych katalogów:

    • 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

    Upewnij się, że każdy zawiera te zadania. Z powodu błędu zastąp tym kodem istniejące 2 podobne zadania i artefakty:

    
    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
    }
    
  5. Upewnij się, że używasz Gradle w wersji 8.0 lub nowszej: ./gradlew --version. Jeśli masz wersję 7, wykonaj te czynności: z katalogu google-cloud-maps-routing-v2-java usuń pliki gradlew i gradlew.bat. Następnie uruchom polecenie gradle wrapper --gradle-version=8.0, aby przejść na wersję 8.0.

  6. W katalogu google-cloud-maps-routing-v2-java użyj Gradle, aby utworzyć dokumenty Javadocs:

    ./gradlew build
    

    Wygenerowany dokument Javadoc pojawi się w tych katalogach:

    • 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
  7. W przeglądarce otwórz plik overview-tree.html każdego katalogu.