Membuat library klien dengan Bazelisk (Automotive)

Library klien adalah antarmuka spesifik per bahasa untuk API. Dokumen ini menjelaskan cara menggunakan Bazelisk, peluncur untuk Bazel, guna membuat library klien untuk Routes API for Automotive dalam berbagai bahasa pemrograman. Bazelisk memastikan bahwa versi Bazel yang benar digunakan untuk menjalankan perintah build.

Kode yang diperlukan untuk menghasilkan library dihosting di repositori Gerrit pribadi. Untuk penjelasan tentang cara kerja library klien, lihat Library klien dijelaskan.

Prasyarat

Persyaratan software

Instal yang berikut:

Persyaratan izin

  • Akses ke repositori diberikan kepada anggota <partner>@google.com grup tertentu, yang dikelola oleh perwakilan perusahaan Anda. Agar ditambahkan ke grup ini, hubungi kontak (POC) perusahaan Anda atau partner bisnis Google.

Langkah 1: Akses Gerrit

Untuk mengakses Gerrit:
  1. Pastikan Anda menyelesaikan persyaratan izin repositori yang tercantum di bagian Prasyarat.
  2. Buat Akun Google menggunakan alamat email perusahaan dengan mengikuti petunjuk di Membuat Akun Google.
    • Saat membuat Akun Google, pastikan Anda tidak login ke gmail.com atau akun layanan domain Google lainnya sebelum mengunjungi halaman Login Akun Google. Untuk memastikan profil tetap bersih, tutup dan mulai ulang browser, serta buka jendela penjelajahan samaran (pribadi).
    • Saat meminta akses untuk orang lain, buat akun untuk setiap orang yang memerlukan akses. Kemudian kirim daftar Akun Google baru ke partner bisnis Google Anda. Partner bisnis Anda akan menambahkan alamat email ke grup akses yang sesuai.
  3. Dengan menggunakan Akun Google yang baru saja Anda buat, buka https://partner-code.googlesource.com. Saat Anda mengakses host Gerrit, pengguna akan dibuat dan otomatis login untuk Anda.
  4. Dari https://partner-code.googlesource.com, klik Buat Sandi. Ikuti petunjuk di layar untuk memilih Akun Google Anda, mengizinkan akses googlesource.com, dan mengikuti petunjuk lainnya di layar.
  5. Jika melihat skrip, salin dan tempel skrip ke terminal Anda.

Langkah 2: Clone repositori

Pada langkah ini, Anda akan meng-clone repositori googleapis dan routes-auto-early-access.

  1. Clone repositori routes-auto-early-access:
    git clone https://partner-code.googlesource.com/routes-auto-early-access
  2. Clone repositori googleapis Google publik:
    git clone https://github.com/googleapis/googleapis.git

Langkah 3: Gabungkan repositori

Pada langkah ini, Anda akan memindahkan subdirektori routes-auto-early-access/google/maps/routing/v2 ke googleapis/google/maps/routing/v2.

  1. Setelah meng-clone repositori, pastikan direktori kerja Anda saat ini (pwd) menyertakan subdirektori routes-auto-early-access dan googleapis.
    .
       ├── routes-auto-early-access
       └── googleapis
       
  2. Buat direktori routing/v2 di lokasi target dan salin routing/v2 ke 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"

Untuk mengonfirmasi bahwa direktori routing/v2 berhasil digabungkan ke direktori googleapis/google/maps/routing/v2, buka googleapis/google/maps/routing/v2. Folder tersebut harus berisi file proto, file BUILD.bazel, dan file lain yang diperlukan untuk build.

Langkah 4: Bangun library klien menggunakan Bazelisk

Guna mem-build library klien untuk bahasa tertentu, identifikasi target build untuk bahasa tersebut dalam file BUILD.bazel (di googleapis/google/maps/routing/v2/BUILD.bazel) dan build target tersebut. Anda dapat menemukan name target di dalam objek <LANGUAGE>_gapic_assembly_pkg. Lihat Membuat satu target dalam dokumentasi Bazel untuk informasi selengkapnya.

Misalnya, untuk membangun library klien Java, lakukan langkah berikut:

  1. Ubah ke direktori googleapis:
    cd googleapis
  2. Jalankan perintah berikut:
    bazelisk build google/maps/routing/v2:google-cloud-maps-routing-v2-java

    Perintah ini menghasilkan library klien Java di googleapis/bazel-bin/google/maps/routing/v2/google-cloud-maps-routing-v2-java.tar.gz.

Untuk memudahkan Anda, tabel berikut mencantumkan perintah build untuk setiap bahasa yang tersedia.

Bahasa Perintah build 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
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
Node bazelisk build google/maps/routing/v2:maps-routing-v2-nodejs

Sertakan update saat ada rilis baru

Jika ada rilis baru untuk API, Anda harus membangun ulang library klien. Dengan asumsi Anda sudah meng-clone repo dengan mengikuti petunjuk di bagian sebelumnya, lakukan hal berikut untuk rilis baru:

  1. Ubah ke direktori kerja saat ini yang berisi kedua repositori:
    .
       ├── routes-auto-early-access
       └── googleapis
    
  2. Hapus instance routing/v2 sebelumnya di dalam googleapis/google/maps:
    rm -rf googleapis/google/maps/routing/v2
    
  3. Buka repositori routes-auto-early-access dan googleapis, lalu jalankan git pull untuk mendapatkan update terbaru.
  4. Salin routing/v2 ke googleapis/google/maps/routing/v2, seperti sebelumnya:
    mkdir -p "googleapis/google/maps/routing/v2" && cp -R "routes-auto-early-access/google/maps/routing/v2" "googleapis/google/maps/routing"

    Untuk mengonfirmasi bahwa repositori routing/v2 berhasil digabungkan ke direktori googleapis/google/maps/routing/v2, buka googleapis/google/maps/routing/v2. Folder tersebut harus berisi file proto, file BUILD.bazel, dan file lain yang diperlukan untuk build Bazel.

  5. Jalankan perintah build Bazelisk yang tercantum di bagian sebelumnya Langkah 4: Bangun library klien menggunakan Bazelisk.

Membuat Javadocs untuk library klien Java

Library klien memberi Anda kemampuan untuk memanggil Routes API for Automotive menggunakan class dan metode khusus untuk bahasa tersebut. Sayangnya, output tidak menyertakan dokumentasi Javadoc untuk library klien. Bagian ini menjelaskan cara membuat Javadoc untuk library klien Java.

Prasyarat

Untuk membangun Javadoc:

  1. Pastikan Anda telah menginstal versi Gradle (8.0 atau yang lebih tinggi) dan JDK (17 atau yang lebih rendah) yang kompatibel. Anda dapat memeriksa versi yang diinstal dengan menjalankan ./gradlew --version dan java -version di terminal Anda.

  2. Library klien Java di-build untuk file tar.gz berikut, yang harus Anda ekstrak: googleapis/bazel-bin/google/maps/routing/v2/google-cloud-maps-routing-v2-java.tar.gz.

    Dengan asumsi Anda berada di direktori googleapis, jalankan perintah berikut, yang mengganti /PATH/TO/PARENT/DIRECTORY dengan jalur yang Anda pilih untuk library yang diekstrak:

    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. Buka direktori induk:

    cd /PATH/TO/PARENT/DIRECTORY
    
  4. Dari direktori google-cloud-maps-routing-v2-java, buka file build.gradle di setiap direktori berikut:

    • 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

    Pastikan setiap tugas berisi tugas-tugas berikut. Karena adanya bug, ganti dua tugas dan artefak serupa yang sudah ada dengan kode ini:

    
    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. Pastikan Anda menggunakan Gradle 8.0 atau yang lebih tinggi: ./gradlew --version. Jika versi Anda adalah 7, lakukan hal berikut: dari direktori google-cloud-maps-routing-v2-java, hapus file gradlew dan gradlew.bat. Kemudian, jalankan gradle wrapper --gradle-version=8.0 untuk beralih ke versi 8.0.

  6. Dari direktori google-cloud-maps-routing-v2-java, gunakan Gradle untuk membuat Javadocs:

    ./gradlew build
    

    Javadoc yang dihasilkan akan muncul dalam direktori berikut:

    • 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. Buka file overview-tree.html setiap direktori menggunakan browser web.