Bazelisk (ऑटोमोटिव) की मदद से क्लाइंट लाइब्रेरी जनरेट करें

क्लाइंट लाइब्रेरी, किसी एपीआई के लिए अलग-अलग भाषा के इंटरफ़ेस होते हैं. इस दस्तावेज़ में बताया गया है कि अलग-अलग प्रोग्रामिंग भाषाओं में, Automotive के रूट एपीआई के लिए क्लाइंट लाइब्रेरी जनरेट करने के लिए, Bazel के लॉन्चर Bazelisk का इस्तेमाल कैसे किया जाए. Bazelisk यह पक्का करता है कि बिल्ड कमांड लागू करने के लिए, Bazel के सही वर्शन का इस्तेमाल किया जाए.

लाइब्रेरी जनरेट करने के लिए ज़रूरी कोड, एक निजी गेरिट रिपॉज़िटरी (डेटा स्टोर करने की जगह) में होस्ट किया जाता है. क्लाइंट लाइब्रेरी के काम करने के तरीके के बारे में जानने के लिए, क्लाइंट लाइब्रेरी की जानकारी देखें.

ज़रूरी शर्तें

ज़रूरी सॉफ़्टवेयर

इन्हें इंस्टॉल करें:

अनुमतियों से जुड़ी ज़रूरी शर्तें

  • डेटा स्टोर करने की जगह का ऐक्सेस, किसी खास <partner>@google.com ग्रुप के सदस्यों को दिया जाता है. इस ग्रुप को आपकी कंपनी का कोई प्रतिनिधि मैनेज करता है. इस ग्रुप में शामिल होने के लिए, अपनी कंपनी के पीओसी या Google के बिज़नेस पार्टनर से संपर्क करें.

पहला चरण: Gerrit को ऐक्सेस करना

Gerrit को ऐक्सेस करने के लिए:
  1. पक्का करें कि आपने ज़रूरी शर्तें सेक्शन में, डेटा स्टोर करने की अनुमति से जुड़ी ज़रूरी शर्तों को पूरा कर लिया है.
  2. Google खाता बनाएं में दिए गए निर्देश का पालन करके, कॉर्पोरेट ईमेल पते का इस्तेमाल करके Google खाता बनाएं.
    • Google खाता बनाते समय, पक्का करें कि आपने 'Google खाता' के साइन-इन पेज पर जाने से पहले gmail.com या किसी दूसरे Google डोमेन की सेवाओं के खाते में लॉग इन नहीं किया हो. प्रोफ़ाइल को साफ़ करने के लिए, अपने ब्राउज़र को बंद करके रीस्टार्ट करें. इसके बाद, गुप्त (निजी) ब्राउज़िंग विंडो खोलें.
    • दूसरों के लिए ऐक्सेस का अनुरोध करते समय, हर उस व्यक्ति के लिए खाता बनाएं जिसे ऐक्सेस की ज़रूरत है. इसके बाद, अपने Google बिज़नेस पार्टनर को नए Google खातों की सूची भेजें. आपका कारोबार पार्टनर, सही ऐक्सेस ग्रुप में ईमेल पते जोड़ देगा.
  3. आपने अभी-अभी जो Google खाता बनाया है उसका इस्तेमाल करके, https://partner-code.googlesource.com पर जाएं. जब आप गेरिट होस्ट को ऐक्सेस करेंगे, तो एक उपयोगकर्ता बन जाएगा और वह अपने-आप आपके लिए लॉग इन हो जाएगा.
  4. https://partner-code.googlesource.com पर जाकर, पासवर्ड जनरेट करें पर क्लिक करें. अपना Google खाता चुनने, googlesource.com का ऐक्सेस देने, और स्क्रीन पर दिए गए अन्य निर्देशों का पालन करने के लिए, स्क्रीन पर दिए गए निर्देशों का पालन करें.
  5. स्क्रिप्ट मिलने पर, उसे कॉपी करके अपने टर्मिनल में चिपकाएं.

दूसरा चरण: डेटा स्टोर करने की जगहों का क्लोन बनाएं

इस चरण में, 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 डायरेक्ट्री बनाएं और 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 फ़ाइल होनी चाहिए. साथ ही, बिल्ड के लिए ज़रूरी अन्य फ़ाइलें भी होनी चाहिए.

चौथा चरण: Bazelisk का इस्तेमाल करके क्लाइंट लाइब्रेरी बनाना

किसी खास भाषा के लिए क्लाइंट लाइब्रेरी बनाने के लिए, BUILD.bazel फ़ाइल (googleapis/google/maps/routing/v2/BUILD.bazel पर) में उस भाषा के लिए बिल्ड टारगेट की पहचान करें और वह टारगेट बनाएं. टारगेट name को <LANGUAGE>_gapic_assembly_pkg ऑब्जेक्ट के अंदर देखा जा सकता है. ज़्यादा जानकारी के लिए, Bazel दस्तावेज़ में एक टारगेट बनाना देखें.

उदाहरण के लिए, Java क्लाइंट लाइब्रेरी बनाने के लिए, ये काम करें:

  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 पर मौजूद Java क्लाइंट लाइब्रेरी जनरेट करता है.

आपकी सुविधा के लिए, नीचे दी गई टेबल में हर उपलब्ध भाषा के लिए बिल्ड निर्देश दिए गए हैं.

भाषा बेज़ेलिस्क बिल्ड कमांड
Java 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
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
नोड 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. 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 बिल्ड के लिए ज़रूरी अन्य फ़ाइलें होनी चाहिए.

  5. पहले सेक्शन में दिए गए Bazelisk बिल्ड निर्देश चलाएं चौथा चरण: Bazelisk में इस्तेमाल करके क्लाइंट लाइब्रेरी बनाएं.

Java क्लाइंट लाइब्रेरी के लिए, Javadocs जनरेट करें

क्लाइंट लाइब्रेरी की मदद से सिर्फ़ भाषा से जुड़ी क्लास और तरीकों का इस्तेमाल करके, Automotive के लिए Routes API को कॉल किया जा सकता है. माफ़ करें, आउटपुट में क्लाइंट लाइब्रेरी के लिए Javadoc दस्तावेज़ शामिल नहीं है. इस सेक्शन में बताया गया है कि Java क्लाइंट लाइब्रेरी के लिए, 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 फ़ाइल खोलें.