کتابخانه های سرویس گیرنده رابط های زبانی خاص برای یک API هستند. این سند نحوه استفاده از Bazelisk ، یک راهانداز برای Bazel را برای تولید کتابخانههای کلاینت برای Routes API for Automotive در انواع زبانهای برنامهنویسی شرح میدهد. Bazelisk تضمین می کند که از نسخه صحیح Bazel برای اجرای دستورات ساخت استفاده می شود.
کد مورد نیاز برای تولید کتابخانه ها در یک مخزن خصوصی Gerrit میزبانی می شود. برای توضیح نحوه عملکرد کتابخانه های سرویس گیرنده، به توضیح کتابخانه های مشتری مراجعه کنید.
پیش نیازها
الزامات نرم افزاری
موارد زیر را نصب کنید:
الزامات مجوز
- دسترسی به مخزن برای اعضای یک گروه خاص <partner>@google.com که توسط نماینده شرکت شما مدیریت میشود، ارائه میشود. برای اضافه شدن به این گروه، با محل تماس شرکت خود یا شریک تجاری Google تماس بگیرید.
مرحله 1: به Gerrit دسترسی پیدا کنید
برای دسترسی به Gerrit:- مطمئن شوید که الزامات مجوز مخزن فهرست شده در بخش پیش نیازها را تکمیل کرده اید.
- با دنبال کردن دستورالعمل ایجاد حساب Google، یک حساب Google با یک آدرس ایمیل شرکتی ایجاد کنید.
- هنگام ایجاد یک حساب Google، قبل از بازدید از صفحه ورود به حساب Google، مطمئن شوید که به gmail.com یا حساب خدمات دامنه Google دیگر وارد نشده اید. برای اطمینان از یک نمایه تمیز، مرورگر خود را ببندید و دوباره راه اندازی کنید و یک پنجره مرور ناشناس (خصوصی) باز کنید.
- هنگام درخواست دسترسی برای دیگران، یک حساب کاربری برای هر فردی که نیاز به دسترسی دارد ایجاد کنید. سپس فهرست حسابهای Google جدید را برای شریک تجاری Google خود ارسال کنید. شریک تجاری شما آدرس های ایمیل را به گروه های دسترسی مناسب اضافه می کند.
- با استفاده از حساب Google که ایجاد کردید، به https://partner-code.googlesource.com بروید. هنگامی که به میزبان Gerrit دسترسی پیدا می کنید، یک کاربر ایجاد می شود و به طور خودکار برای شما وارد می شود.
- از https://partner-code.googlesource.com ، روی Generate Password کلیک کنید. فرمانهای روی صفحه را دنبال کنید تا حساب 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 مراجعه کنید.
به عنوان مثال، برای ساخت کتابخانه سرویس گیرنده جاوا، موارد زیر را انجام دهید:
- به دایرکتوری
googleapis
تغییر دهید:cd googleapis
- دستور زیر را اجرا کنید:
bazelisk build google/maps/routing/v2:google-cloud-maps-routing-v2-java
این دستور کتابخانه سرویس گیرنده جاوا را در
googleapis/bazel-bin/google/maps/routing/v2/google-cloud-maps-routing-v2-java.tar.gz
ایجاد می کند.
برای راحتی شما، جدول زیر دستورات ساخت را برای هر زبان موجود فهرست می کند.
زبان | دستور ساخت Bazelisk |
---|---|
جاوا | 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 را برای کتابخانه مشتری جاوا ایجاد کنید
کتابخانه مشتری به شما این امکان را می دهد که با استفاده از کلاس ها و روش های خاص زبان، Routes API for Automotive را فراخوانی کنید. متأسفانه، خروجی شامل مستندات Javadoc برای کتابخانه مشتری نیست. این بخش نحوه تولید Javadoc برای کتابخانه مشتری جاوا را توضیح می دهد.
پیش نیازها
برای ساخت Javadoc:
مطمئن شوید که نسخه های سازگار Gradle (8.0 یا بالاتر) و JDK (17 یا پایین تر) را نصب کرده اید. می توانید نسخه های نصب شده خود را با اجرای
./gradlew --version
وjava -version
در ترمینال خود بررسی کنید.کتابخانه سرویس گیرنده جاوا بر روی فایل
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
هر دایرکتوری را با استفاده از یک مرورگر وب باز کنید.