클라이언트 라이브러리는 API의 언어별 인터페이스입니다. 이 문서에서는 Bazel용 런처인 Bazelisk를 사용하여 다양한 프로그래밍 언어로 Automotive용 Routes API의 클라이언트 라이브러리를 생성하는 방법을 설명합니다. 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에서 비밀번호 생성을 클릭합니다. 화면에 표시되는 안내에 따라 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
로 이동합니다.
폴더에는 proto 파일, 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 빌드 명령어 |
---|---|
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
|
2,399필리핀 | 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
|
새 버전이 출시되면 업데이트 반영하기
API에 대한 새 출시가 있으면 클라이언트 라이브러리를 다시 빌드해야 합니다. 이전 섹션의 안내에 따라 저장소를 이미 클론했다고 가정하고 새 출시 버전에 대해 다음을 수행합니다.
- 두 저장소가 모두 포함된 현재 작업 디렉터리로 변경합니다.
. ├── routes-auto-early-access └── googleapis
googleapis/google/maps
내에서 이전routing/v2
인스턴스를 삭제합니다.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
로 이동합니다. 폴더에는 proto 파일,BUILD.bazel
파일, Bazel 빌드에 필요한 기타 파일이 포함되어야 합니다. - 이전 섹션 4단계: Bazelisk를 사용하여 클라이언트 라이브러리 빌드에 나열된 Bazelisk 빌드 명령어를 실행합니다.
자바 클라이언트 라이브러리용 Javadocs 생성
클라이언트 라이브러리를 사용하면 언어별 클래스 및 메서드를 사용하여 Automotive용 Routes API를 호출할 수 있습니다. 안타깝게도 출력에는 클라이언트 라이브러리의 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
파일을 엽니다.