Bazelisk (Otomotiv) ile istemci kitaplıkları oluşturma

İstemci kitaplıkları, API'lerin dile özgü arayüzleridir. Bu dokümanda, çeşitli programlama dillerinde Routes API for Automotive için istemci kitaplıkları oluşturmak amacıyla Bazel başlatıcısı olan Bazelisk'in nasıl kullanılacağı açıklanmaktadır. Bazelisk, derleme komutlarını yürütmek için Bazel'ın doğru sürümünün kullanılmasını sağlar.

Kitaplıkları oluşturmak için gereken kod, özel bir Gerrit deposunda barındırılır. İstemci kitaplıklarının işleyiş şekliyle ilgili bir açıklama için İstemci kitaplıklarının açıklaması bölümüne bakın.

Ön koşullar

Yazılım gereksinimleri

Aşağıdakileri yükleyin:

İzin gereksinimleri

  • Depoya erişim, şirketinizin bir temsilcisi tarafından yönetilen belirli bir <partner>@google.com grubunun üyelerine sağlanır. Bu gruba eklenmek için şirketinizin irtibat kişisi veya Google iş ortağı ile iletişime geçin.

1. Adım: Gerrit'e erişin

Gerrit'e erişmek için:
  1. Ön koşullar bölümünde listelenen depo izni koşullarını tamamladığınızdan emin olun.
  2. Google Hesabı Oluşturma başlıklı makaledeki talimatları uygulayarak kurumsal bir e-posta adresiyle bir Google Hesabı oluşturun.
    • Google Hesabı oluştururken Google Hesabı'nda Oturum Açma sayfasını ziyaret etmeden önce gmail.com adresine veya başka bir Google alan hizmetleri hesabına giriş yapmadığınızdan emin olun. Profilinizin temiz olduğundan emin olmak için tarayıcınızı kapatıp yeniden başlatın ve bir gizli (gizli) tarama penceresi açın.
    • Başkaları için erişim isteğinde bulunurken, erişime ihtiyacı olan her kullanıcı için bir hesap oluşturun. Ardından, yeni Google Hesaplarının listesini Google iş ortağınıza gönderin. İş ortağınız, e-posta adreslerini uygun erişim gruplarına ekleyecektir.
  3. Az önce oluşturduğunuz Google Hesabı'nı kullanarak https://partner-code.googlesource.com adresine gidin. Gerrit ana makinesine eriştiğinizde bir kullanıcı oluşturulur ve sizin için otomatik olarak giriş yapılır.
  4. https://partner-code.googlesource.com adresinde Şifre Oluştur'u tıklayın. Google Hesabınızı seçmek, googlesource.com erişimine izin vermek ve ekrandaki diğer talimatları uygulamak için ekrandaki talimatları uygulayın.
  5. Bir komut dosyası sunulduğunda, komut dosyasını kopyalayıp terminalinize yapıştırın.

2. Adım: Depoları klonlayın

Bu adımda googleapis ve routes-auto-early-access depolarını klonlayacaksınız.

  1. routes-auto-early-access deposunu klonlayın:
    git clone https://partner-code.googlesource.com/routes-auto-early-access
  2. Herkese açık Google googleapis deposunu klonlayın:
    git clone https://github.com/googleapis/googleapis.git

3. Adım: Kod depolarını birleştirin

Bu adımda, routes-auto-early-access/google/maps/routing/v2 alt dizinini googleapis/google/maps/routing/v2 içine taşıyacaksınız.

  1. Depoları klonladıktan sonra mevcut çalışma dizininizin (pwd) hem routes-auto-early-access hem de googleapis alt dizinini içerdiğinden emin olun.
    .
       ├── routes-auto-early-access
       └── googleapis
       
  2. Hedef konumda bir routing/v2 dizini oluşturun ve routing/v2 dizinini googleapis/google/maps/routing/v2 konumuna kopyalayın:
    mkdir -p "googleapis/google/maps/routing/v2" && cp -R "routes-auto-early-access/google/maps/routing/v2" "googleapis/google/maps/routing"

routing/v2 dizininin googleapis/google/maps/routing/v2 diziniyle başarıyla birleştirildiğini onaylamak için googleapis/google/maps/routing/v2 sayfasına gidin. Klasör; proto dosyaları, bir BUILD.bazel dosyası ve derleme için gerekli diğer dosyaları içermelidir.

4. Adım: Bazelisk kullanarak bir istemci kitaplığı oluşturun

Belirli bir dilde istemci kitaplığı oluşturmak için BUILD.bazel dosyasında (googleapis/google/maps/routing/v2/BUILD.bazel adresinde) bu dilin derleme hedefini belirleyin ve bu hedefi oluşturun. name hedefini <LANGUAGE>_gapic_assembly_pkg nesnelerinin içinde bulabilirsiniz. Daha fazla bilgi için Bazel belgelerindeki Tek bir hedef oluşturma bölümüne bakın.

Örneğin, Java istemci kitaplığını oluşturmak için aşağıdakileri yapın:

  1. googleapis dizinine geçin:
    cd googleapis
  2. Şu komutu çalıştırın:
    bazelisk build google/maps/routing/v2:google-cloud-maps-routing-v2-java

    Bu komut, googleapis/bazel-bin/google/maps/routing/v2/google-cloud-maps-routing-v2-java.tar.gz adresindeki Java istemci kitaplığını oluşturur.

Size kolaylık sağlamak amacıyla, aşağıdaki tabloda her bir dil için derleme komutları listelenmektedir.

Dil Bazelisk derleme komutu
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
Düğüm bazelisk build google/maps/routing/v2:maps-routing-v2-nodejs

Yeni sürümler çıktığında güncellemeleri dahil edin

Yeni API sürümleri olduğunda istemci kitaplıklarını yeniden oluşturmanız gerekir. Önceki bölümlerde verilen talimatları uygulayarak depoları klonladığınızı varsayarsak yeni sürümler için aşağıdakileri yapın:

  1. Her iki depoyu da içeren mevcut çalışma dizinine geçin:
    .
       ├── routes-auto-early-access
       └── googleapis
    
  2. googleapis/google/maps içindeki önceki routing/v2 örneğini kaldırın:
    rm -rf googleapis/google/maps/routing/v2
    
  3. En son güncellemeleri almak için hem routes-auto-early-access hem de googleapis depolarına gidip git pull kod deposunu çalıştırın.
  4. routing/v2 öğesini, öncekine benzer şekilde googleapis/google/maps/routing/v2 klasörüne kopyalayın:
    mkdir -p "googleapis/google/maps/routing/v2" && cp -R "routes-auto-early-access/google/maps/routing/v2" "googleapis/google/maps/routing"

    routing/v2 deposunun googleapis/google/maps/routing/v2 diziniyle başarıyla birleştirildiğini doğrulamak için googleapis/google/maps/routing/v2 sayfasına gidin. Klasör; proto dosyaları, bir BUILD.bazel dosyası ve Bazel derlemesi için gereken diğer dosyaları içermelidir.

  5. 4. Adım: Bazelisk kullanarak istemci kitaplığı oluşturma bölümünde listelenen Bazelisk derleme komutlarını çalıştırın.

Java istemci kitaplığı için Javadocs oluşturma

İstemci kitaplığı, dile özgü sınıf ve yöntemleri kullanarak Routes API for Automotive'i çağırmanıza olanak tanır. Maalesef çıktı, istemci kitaplığının Javadoc belgelerini içermiyor. Bu bölümde, Java istemci kitaplığı için Javadoc'un nasıl oluşturulacağı açıklanmaktadır.

Ön koşullar

Javadoc derlemek için:

  1. Uyumlu Gradle (8.0 veya üzeri) ve JDK (17 veya daha eski) sürümlerinin yüklü olduğundan emin olun. Terminalinizde ./gradlew --version ve java -version komutlarını çalıştırarak yüklü sürümlerinizi kontrol edebilirsiniz.

  2. Java istemci kitaplığı, çıkarmanız gereken şu tar.gz dosyasına oluşturulmuştur: googleapis/bazel-bin/google/maps/routing/v2/google-cloud-maps-routing-v2-java.tar.gz.

    googleapis dizininde olduğunuzu varsayarsak /PATH/TO/PARENT/DIRECTORY çıkartılan kitaplık için seçtiğiniz yol ile değiştirerek aşağıdaki komutu çalıştırın:

    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. Üst dizine gidin:

    cd /PATH/TO/PARENT/DIRECTORY
    
  4. google-cloud-maps-routing-v2-java dizininden aşağıdaki dizinlerdeki build.gradle dosyalarını açın:

    • 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

    Her bir görevin aşağıdaki görevleri içerdiğinden emin olun. Bir hatadan dolayı, mevcut iki benzer görevi ve yapıyı şu kodla değiştirin:

    
    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. Gradle 8.0 veya sonraki bir sürümü kullandığınızdan emin olun: ./gradlew --version. Sürümünüz 7 ise şunları yapın: google-cloud-maps-routing-v2-java dizininden gradlew ve gradlew.bat dosyalarını silin. Ardından 8.0'a geçmek için gradle wrapper --gradle-version=8.0 komutunu çalıştırın.

  6. google-cloud-maps-routing-v2-java dizininden Gradle'ı kullanarak Javadocs derleyin:

    ./gradlew build
    

    Oluşturulan Javadoc şu dizinlerde görünür:

    • 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. Her bir dizinin overview-tree.html dosyasını bir web tarayıcısı kullanarak açın.