Bazelisk (অটোমোটিভ) দিয়ে ক্লায়েন্ট লাইব্রেরি তৈরি করুন

ক্লায়েন্ট লাইব্রেরি হল একটি API-এর জন্য ভাষা-নির্দিষ্ট ইন্টারফেস। এই নথিটি বর্ণনা করে কিভাবে Bazelisk , Bazel- এর একটি লঞ্চার, বিভিন্ন প্রোগ্রামিং ভাষায় অটোমোটিভের জন্য রুট API-এর জন্য ক্লায়েন্ট লাইব্রেরি তৈরি করতে। Bazelisk নিশ্চিত করে যে Bazel এর সঠিক সংস্করণটি বিল্ড কমান্ড চালানোর জন্য ব্যবহার করা হয়েছে।

লাইব্রেরি তৈরি করার জন্য প্রয়োজনীয় কোডটি একটি ব্যক্তিগত Gerrit সংগ্রহস্থলে হোস্ট করা হয়। ক্লায়েন্ট লাইব্রেরি কীভাবে কাজ করে তার ব্যাখ্যার জন্য, ক্লায়েন্ট লাইব্রেরি ব্যাখ্যা করা দেখুন।

পূর্বশর্ত

সফ্টওয়্যার প্রয়োজনীয়তা

নিম্নলিখিত ইনস্টল করুন:

অনুমতির প্রয়োজনীয়তা

  • সংগ্রহস্থলে অ্যাক্সেস একটি নির্দিষ্ট <partner>@google.com গ্রুপের সদস্যদের প্রদান করা হয়, যা আপনার কোম্পানির একজন প্রতিনিধি দ্বারা পরিচালিত হয়। এই গোষ্ঠীতে যুক্ত হতে, আপনার কোম্পানির যোগাযোগের স্থান বা Google ব্যবসায়িক অংশীদারের সাথে যোগাযোগ করুন।

ধাপ 1: গেরিট অ্যাক্সেস করুন

গেরিট অ্যাক্সেস করতে:
  1. নিশ্চিত করুন যে আপনি পূর্বশর্ত বিভাগে তালিকাভুক্ত সংগ্রহস্থলের অনুমতির প্রয়োজনীয়তাগুলি সম্পূর্ণ করেছেন৷
  2. একটি Google অ্যাকাউন্ট তৈরি করুন-এ নির্দেশনা অনুসরণ করে একটি কর্পোরেট ইমেল ঠিকানা দিয়ে একটি Google অ্যাকাউন্ট তৈরি করুন।
    • একটি Google অ্যাকাউন্ট তৈরি করার সময়, Google অ্যাকাউন্ট সাইন-ইন পৃষ্ঠায় যাওয়ার আগে আপনি gmail.com বা অন্য Google ডোমেন পরিষেবা অ্যাকাউন্টে লগ ইন করেননি তা নিশ্চিত করুন৷ একটি পরিষ্কার প্রোফাইল নিশ্চিত করতে, আপনার ব্রাউজার বন্ধ করুন এবং পুনরায় চালু করুন এবং একটি ছদ্মবেশী (ব্যক্তিগত) ব্রাউজিং উইন্ডো খুলুন।
    • অন্যদের জন্য অ্যাক্সেসের অনুরোধ করার সময়, অ্যাক্সেসের প্রয়োজন এমন প্রতিটি ব্যক্তির জন্য একটি অ্যাকাউন্ট তৈরি করুন। তারপর আপনার Google ব্যবসায়িক অংশীদারকে নতুন Google অ্যাকাউন্টের তালিকা পাঠান। আপনার ব্যবসায়িক অংশীদার উপযুক্ত অ্যাক্সেস গ্রুপে ইমেল ঠিকানা যোগ করবে।
  3. আপনার তৈরি করা Google অ্যাকাউন্ট ব্যবহার করে, https://partner-code.googlesource.com- এ যান। আপনি যখন Gerrit হোস্ট অ্যাক্সেস করবেন, তখন একজন ব্যবহারকারী তৈরি হবে এবং স্বয়ংক্রিয়ভাবে আপনার জন্য লগ ইন হবে।
  4. https://partner-code.googlesource.com থেকে, পাসওয়ার্ড তৈরি করুন ক্লিক করুন। আপনার Google অ্যাকাউন্ট নির্বাচন করতে, googlesource.com অ্যাক্সেসের অনুমতি দিতে এবং অন্যান্য অন-স্ক্রীন নির্দেশাবলী অনুসরণ করতে অন-স্ক্রীন প্রম্পটগুলি অনুসরণ করুন৷
  5. একটি স্ক্রিপ্ট সহ উপস্থাপন করা হলে, আপনার টার্মিনালে স্ক্রিপ্টটি অনুলিপি করুন এবং পেস্ট করুন।

ধাপ 2: সংগ্রহস্থল ক্লোন করুন

এই ধাপে, আপনি googleapis এবং routes-auto-early-access রিপোজিটরি ক্লোন করবেন।

  1. routes-auto-early-access রিপোজিটরি ক্লোন করুন:
    git clone https://partner-code.googlesource.com/routes-auto-early-access
  2. সর্বজনীন Google googleapis সংগ্রহস্থল ক্লোন করুন:
    git clone https://github.com/googleapis/googleapis.git

ধাপ 3: সংগ্রহস্থলগুলিকে একত্রিত করুন

এই ধাপে, আপনি routes-auto-early-access/google/maps/routing/v2 সাবডিরেক্টরি googleapis/google/maps/routing/v2 এ স্থানান্তর করবেন।

  1. রেপো ক্লোন করার পরে, নিশ্চিত করুন যে আপনার বর্তমান ওয়ার্কিং ডিরেক্টরি ( pwd ) routes-auto-early-access এবং googleapis সাবডিরেক্টরি উভয়ই অন্তর্ভুক্ত করে।
    .
       ├── routes-auto-early-access
       └── googleapis
       
  2. লক্ষ্য অবস্থানে একটি routing/v2 ডিরেক্টরি তৈরি করুন এবং googleapis/google/maps/routing/v2routing/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 এ) সেই ভাষার জন্য বিল্ড লক্ষ্য চিহ্নিত করুন এবং সেই লক্ষ্যটি তৈরি করুন। আপনি <LANGUAGE>_gapic_assembly_pkg অবজেক্টের ভিতরে লক্ষ্যের name খুঁজে পেতে পারেন। আরও তথ্যের জন্য Bazel ডকুমেন্টেশনে একটি লক্ষ্য তৈরি করা দেখুন।

উদাহরণস্বরূপ, জাভা ক্লায়েন্ট লাইব্রেরি তৈরি করতে, নিম্নলিখিতগুলি করুন:

  1. googleapis ডিরেক্টরিতে পরিবর্তন করুন:
    cd googleapis
  2. নিম্নলিখিত কমান্ডটি চালান:
    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 build google/maps/routing/v2:google-cloud-maps-routing-v2-java
যাওয়া bazelisk build google/maps/routing/v2:gapi-cloud-maps-routing-v2-go
পিএইচপি 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

নতুন রিলিজ হলে আপডেট অন্তর্ভুক্ত করুন

যখন এপিআইতে নতুন রিলিজ থাকে, তখন আপনাকে ক্লায়েন্ট লাইব্রেরিগুলি পুনর্নির্মাণ করতে হবে। ধরে নিচ্ছি আপনি পূর্ববর্তী বিভাগগুলির নির্দেশনা অনুসরণ করে ইতিমধ্যেই রেপো ক্লোন করেছেন, নতুন প্রকাশের জন্য নিম্নলিখিতগুলি করুন:

  1. বর্তমান কার্যকারী ডিরেক্টরিতে পরিবর্তন করুন যাতে উভয় সংগ্রহস্থল রয়েছে:
    .
       ├── routes-auto-early-access
       └── googleapis
    
  2. googleapis/google/maps এর ভিতরে routing/v2 এর পূর্ববর্তী উদাহরণটি সরান :
    rm -rf googleapis/google/maps/routing/v2
    
  3. উভয় routes-auto-early-access এবং googleapis সংগ্রহস্থলে যান এবং সর্বশেষ আপডেট পেতে git pull চালান।
  4. googleapis/google/maps/routing/v2routing/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 বিল্ডের জন্য প্রয়োজনীয় অন্যান্য ফাইল থাকা উচিত।

  5. পূর্ববর্তী বিভাগে তালিকাভুক্ত Bazelisk বিল্ড কমান্ডগুলি চালান ধাপ 4: Bazelisk ব্যবহার করে একটি ক্লায়েন্ট লাইব্রেরি তৈরি করুন

জাভা ক্লায়েন্ট লাইব্রেরির জন্য Javadocs তৈরি করুন

ক্লায়েন্ট লাইব্রেরি আপনাকে ভাষা নির্দিষ্ট ক্লাস এবং পদ্ধতি ব্যবহার করে স্বয়ংচালিত জন্য রুট API কল করার ক্ষমতা দেয়। দুর্ভাগ্যবশত, আউটপুট ক্লায়েন্ট লাইব্রেরির জন্য Javadoc ডকুমেন্টেশন অন্তর্ভুক্ত করে না। এই বিভাগটি ব্যাখ্যা করে কিভাবে জাভা ক্লায়েন্ট লাইব্রেরির জন্য Javadoc তৈরি করতে হয়।

পূর্বশর্ত

Javadoc তৈরি করতে:

  1. আপনি Gradle (8.0 বা উচ্চতর) এবং JDK (17 বা নিম্ন) এর সামঞ্জস্যপূর্ণ সংস্করণ ইনস্টল করেছেন তা নিশ্চিত করুন। আপনি আপনার টার্মিনালে ./gradlew --version এবং java -version চালিয়ে আপনার ইনস্টল করা সংস্করণগুলি পরীক্ষা করতে পারেন।

  2. Java ক্লায়েন্ট লাইব্রেরিটি নিম্নলিখিত 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
  3. মূল ডিরেক্টরিতে নেভিগেট করুন:

    cd /PATH/TO/PARENT/DIRECTORY
    
  4. 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
    }
    
  5. আপনি Gradle 8.0 বা উচ্চতর ব্যবহার করছেন কিনা পরীক্ষা করুন: ./gradlew --version । আপনার সংস্করণ 7 হলে, নিম্নলিখিতগুলি করুন: google-cloud-maps-routing-v2-java ডিরেক্টরি থেকে, gradlew এবং gradlew.bat ফাইলগুলি মুছুন৷ তারপর 8.0 এ স্যুইচ করতে gradle wrapper --gradle-version=8.0 চালান।

  6. google-cloud-maps-routing-v2-java ডিরেক্টরি থেকে, Javadocs তৈরি করতে Gradle ব্যবহার করুন:

    ./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
  7. একটি ওয়েব ব্রাউজার ব্যবহার করে প্রতিটি ডিরেক্টরির overview-tree.html ফাইল খুলুন।