

Amazon CodeCatalyst는 더 이상 신규 고객에게 공개되지 않습니다. 기존 고객은 정상적으로 서비스를 계속 이용할 수 있습니다. 자세한 내용은 [CodeCatalyst에서 마이그레이션하는 방법](migration.md) 단원을 참조하십시오.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Gradle Groovy 구성 및 사용
<a name="packages-maven-gradle"></a>

CodeCatalyst 에서 Gradle Groovy를 사용하려면 Gradle Groovy를 패키지 리포지토리에 연결하고 인증을 위한 개인 액세스 토큰(PAT)을 제공해야 합니다. CodeCatalyst 콘솔에서 Gradle Groovy를 패키지 리포지토리에 연결하기 위한 지침을 볼 수 있습니다.

**Contents**
+ [CodeCatalyst에서 종속성 가져오기](#gradle-fetch-dependencies)
+ [CodeCatalyst에서 플러그인 가져오기](#gradle-fetch-plugins)
+ [CodeCatalyst를 통해 외부 패키지 리포지토리에서 패키지 가져오기](#gradle-install-public)
+ [CodeCatalyst에 패키지 게시](#gradle-publish-packages)
+ [IntelliJ IDEA에서 Gradle 빌드 실행](#gradle-intellij)
  + [방법 1: PAT를 `gradle.properties`에 넣기](#gradle-intellij-gradle-properties)
  + [방법 2: PAT를 별도의 파일에 넣기](#gradle-intellij-file)

## CodeCatalyst에서 종속성 가져오기
<a name="gradle-fetch-dependencies"></a>

다음 지침에서는 CodeCatalyst 패키지 리포지토리의 종속성을 가져오도록 Gradle Groovy를 구성하는 방법을 설명합니다.

**Gradle Groovy를 사용하여 CodeCatalyst 패키지 리포지토리에서 종속성을 가져오려면**

1. [https://codecatalyst.aws/](https://codecatalyst.aws/)에서 CodeCatalyst 콘솔을 엽니다.

1. 프로젝트로 이동합니다.

1. 탐색 창에서 **패키지**를 선택합니다.

1. 패키지 리포지토리 목록에서 패키지 리포지토리를 선택합니다.

1. **리포지토리에 연결**을 선택합니다.

1. **리포지토리에 연결** 대화 상자의 패키지 관리자 클라이언트 목록에서 **Gradle Groovy**를 선택합니다.

1. CodeCatalyst로 Gradle Groovy를 인증하려면 개인 액세스 토큰(PAT)이 필요합니다. 이미 토큰이 있으면 그 토큰을 사용하면 됩니다. 없는 경우에는 여기에서 만들 수 있습니다.

   1. **토큰 생성**을 선택합니다.

   1. PAT를 복사하려면 **복사**를 선택합니다.
**주의**  
대화 상자를 닫으면 PAT를 다시 보거나 복사할 수 없습니다.

1. gradle 속성 파일을 액세스 자격 증명으로 업데이트합니다. *username*을 CodeCatalyst 사용자 이름으로 바꾸고 *PAT*를 자신의 CodeCatalyst 개인 액세스 토큰으로 바꿉니다. 다음 단계에서 동일한 값을 사용하는 한 *spaceUsername* 및 *spacePassword*에는 어떤 값이든 사용할 수 있습니다.

   ```
   spaceUsername=username
   spacePassword=PAT
   ```

1. Gradle 빌드의 CodeCatalyst에서 종속성을 가져오려면 `maven` 코드 조각을 복사하여 프로젝트 `build.gradle` 파일의 `repositories` 섹션에 추가합니다. 다음 값을 교체합니다. 다음 단계에서 동일한 값을 사용하는 한 *spaceName*에는 어떤 값이든 사용할 수 있습니다.
**참고**  
콘솔 지침에서 복사하는 경우 다음 값을 업데이트해야 하며 변경해서는 안 됩니다.
   + *space\$1name*을 CodeCatalyst 스페이스 이름으로 바꿉니다.
   + *proj\$1name*을 CodeCatalyst 프로젝트 이름으로 바꿉니다.
   + *my\$1repo*를 CodeCatalyst 패키지 리포지토리 이름으로 바꿉니다.

   ```
   maven {
     name = 'spaceName'
     url = uri('https://packages.region.codecatalyst.aws/maven/space_name/proj_name/repo_name/')
     credentials(PasswordCredentials)
   }
   ```

1. (선택 사항) - CodeCatalyst 패키지 리포지토리를 프로젝트 종속성의 유일한 소스로 사용하려면 `build.gradle` 파일에서 리포지토리의 다른 섹션을 모두 제거합니다. 리포지토리가 두 개 이상인 경우, Gradle은 나열된 순서대로 각 리포지토리에서 종속성을 검색합니다.

## CodeCatalyst에서 플러그인 가져오기
<a name="gradle-fetch-plugins"></a>

기본적으로 Gradle은 퍼블릭 [Gradle 플러그인 포털](https://plugins.gradle.org/)에서 플러그인을 확인합니다. 다음 단계에서는 CodeCatalyst 패키지 리포지토리의 플러그인을 확인하도록 Gradle 프로젝트를 구성합니다.

**Gradle을 사용하여 CodeCatalyst 패키지 리포지토리에서 플러그인을 가져오려면**

1. [https://codecatalyst.aws/](https://codecatalyst.aws/)에서 CodeCatalyst 콘솔을 엽니다.

1. 프로젝트로 이동합니다.

1. 탐색 창에서 **패키지**를 선택합니다.

1. 패키지 리포지토리 목록에서 패키지 리포지토리를 선택합니다.

1. **리포지토리에 연결**을 선택합니다.

1. **리포지토리에 연결** 대화 상자의 패키지 관리자 클라이언트 목록에서 **Gradle**을 선택합니다.

1. CodeCatalyst로 Gradle을 인증하려면 개인 액세스 토큰(PAT)이 필요합니다. 이미 토큰이 있으면 그 토큰을 사용하면 됩니다. 없는 경우에는 여기에서 만들 수 있습니다.

   1. **토큰 생성**을 선택합니다.

   1. PAT를 복사하려면 **복사**를 선택합니다.
**주의**  
대화 상자를 닫으면 PAT를 다시 보거나 복사할 수 없습니다.

1. gradle 속성 파일을 액세스 자격 증명으로 업데이트합니다. *username*을 CodeCatalyst 사용자 이름으로 바꾸고 *PAT*를 자신의 CodeCatalyst 개인 액세스 토큰으로 바꿉니다. 다음 단계에서 동일한 값을 사용하는 한 *spaceUsername* 및 *spacePassword*에는 어떤 값이든 사용할 수 있습니다.

   ```
   spaceUsername=username
   spacePassword=PAT
   ```

1. `settings.gradle` 파일에 `pluginManagement` 블록을 추가합니다. `pluginManagement` 블록은 `settings.gradle`에서 명령문 중에 가장 앞에 나타나야 합니다. 다음 값을 교체합니다.
**참고**  
콘솔 지침에서 복사하는 경우 다음 값을 업데이트해야 하며 변경해서는 안 됩니다.
   + *spaceName*을 이전 단계에서 사용한 이름 값으로 바꿉니다.
   + *space\$1name*을 CodeCatalyst 스페이스 이름으로 바꿉니다.
   + *proj\$1name*을 CodeCatalyst 프로젝트 이름으로 바꿉니다.
   + *my\$1repo*를 CodeCatalyst 패키지 리포지토리 이름으로 바꿉니다.

   ```
   pluginManagement {
       repositories {
           maven {
               name = 'spaceName'
               url = uri('https://packages.region.codecatalyst.aws/maven/space_name/proj_name/repo_name/')
               credentials(PasswordCredentials)
           }
       }
   }
   ```

   이렇게 하면 Gradle이 지정된 리포지토리의 플러그인을 확인할 수 있습니다. 일반적으로 필요한 Gradle 플러그인을 빌드에서 사용할 수 있도록 이 리포지토리에는 Gradle 플러그인 포털(`gradle-plugins-store`)에 대해 구성된 업스트림 연결이 있어야 합니다. 자세한 내용은 [Gradle 설명서](https://docs.gradle.org/current/userguide/plugins.html#sec:custom_plugin_repositories)를 참조하세요.

## CodeCatalyst를 통해 외부 패키지 리포지토리에서 패키지 가져오기
<a name="gradle-install-public"></a>

게이트웨이 리포지토리를 나타내는 게이트웨이에 대한 업스트림 연결로 구성하여 CodeCatalyst 리포지토리를 통해 퍼블릭 리포지토리에서 Maven 패키지를 설치할 수 있습니다. 게이트웨이 리포지토리에서 설치된 패키지는 수집되어 CodeCatalyst 리포지토리에 저장됩니다.

CodeCatalyst는 다음과 같은 퍼블릭 Maven 패키지 리포지토리를 지원합니다.
+ maven-central-gateway
+ google-android-gateway
+ gradle-plugins-gateway
+ commonsware-gateway

**퍼블릭 Maven 패키지 리포지토리에서 패키지를 설치하려면**

1. 아직 구성하지 않은 경우, [CodeCatalyst에서 종속성 가져오기](#gradle-fetch-dependencies) 또는[CodeCatalyst에서 플러그인 가져오기](#gradle-fetch-plugins)의 단계를 따라 CodeCatalyst 패키지 리포지토리로 Gradle을 구성합니다.

1. 리포지토리에 설치하려는 게이트웨이 리포지토리가 업스트림 연결로 추가되었는지 확인합니다. [업스트림 리포지토리 추가](packages-upstream-repositories-add.md)의 지침을 따라 업스트림으로 추가하려는 퍼블릭 패키지 리포지토리를 선택하여 이 작업을 수행할 수 있습니다.

업스트림 리포지토리에서 패키지를 요청하는 방법에 대한 자세한 내용은 [업스트림 리포지토리가 포함된 패키지 버전 요청](packages-upstream-repositories-request.md) 섹션을 참조하세요.

## CodeCatalyst에 패키지 게시
<a name="gradle-publish-packages"></a>

이 섹션에서는 Gradle Groovy로 빌드한 Java 라이브러리를 CodeCatalyst 리포지토리에 게시하는 방법을 설명합니다.

**Gradle Groovy를 사용하여 패키지를 CodeCatalyst 패키지 리포지토리에 게시하려면**

1. [https://codecatalyst.aws/](https://codecatalyst.aws/)에서 CodeCatalyst 콘솔을 엽니다.

1. 프로젝트의 개요 페이지에서 **패키지**를 선택합니다.

1. 패키지 리포지토리 목록에서 패키지 리포지토리를 선택합니다.

1. **리포지토리에 연결**을 선택합니다.

1. **리포지토리에 연결** 대화 상자의 패키지 관리자 클라이언트 목록에서 **Gradle Groovy**를 선택합니다.

1. CodeCatalyst로 Gradle을 인증하려면 개인 액세스 토큰(PAT)이 필요합니다. 이미 토큰이 있으면 그 토큰을 사용하면 됩니다. 없는 경우에는 여기에서 만들 수 있습니다.

   1. **토큰 생성**을 선택합니다.

   1. PAT를 복사하려면 **복사**를 선택합니다.
**주의**  
대화 상자를 닫으면 PAT를 다시 보거나 복사할 수 없습니다.

1. gradle 속성 파일을 액세스 자격 증명으로 업데이트합니다. *username*을 CodeCatalyst 사용자 이름으로 바꾸고 *PAT*를 자신의 CodeCatalyst 개인 액세스 토큰으로 바꿉니다. 다음 단계에서 동일한 값을 사용하는 한 *spaceUsername* 및 *spacePassword*에는 어떤 값이든 사용할 수 있습니다.

   ```
   spaceUsername=username
   spacePassword=PAT
   ```

1. 프로젝트의 `build.gradle` 파일 중 `plugins` 섹션에 `maven-publish` 플러그인을 추가합니다.

   ```
   plugins {
       id 'java-library'
       id 'maven-publish'
   }
   ```

1. 다음으로 프로젝트 `build.gradle` 파일에 `publishing` 섹션을 추가합니다. 다음 값을 교체합니다.
**참고**  
콘솔 지침에서 복사하는 경우 다음 값을 업데이트해야 하며 변경해서는 안 됩니다.
   + *space\$1name*을 CodeCatalyst 스페이스 이름으로 바꿉니다.
   + *proj\$1name*을 CodeCatalyst 프로젝트 이름으로 바꿉니다.
   + *my\$1repo*를 CodeCatalyst 패키지 리포지토리 이름으로 바꿉니다.

   ```
   publishing {
       publications {
           mavenJava(MavenPublication) {
               groupId = 'group-id'
               artifactId = 'artifact-id'
               version = 'version'
               from components.java
           }
       }
       repositories {
           maven {
               name = 'spaceName'
               url = uri('https://packages.region.codecatalyst.aws/maven/space_name/proj_name/repo_name/')
               credentials(PasswordCredentials)
           }
       }
   }
   ```

   `maven-publish` 플러그인은 `publishing` 섹션에 지정된 `groupId`, `artifactId`, `version`을 기반으로 POM 파일을 생성합니다.

1. `build.gradle`에 대한 이러한 변경이 완료되면 다음 명령을 실행하여 프로젝트를 빌드하여 리포지토리에 업로드합니다.

   ```
   ./gradlew publish
   ```

1. CodeCatalyst 콘솔에서 패키지 리포지토리로 이동하여 패키지가 성공적으로 게시되었는지 확인합니다. 패키지 리포지토리의 **패키지** 목록에 패키지가 표시되어야 합니다.

자세한 내용은 Gradle 웹 사이트에서 이 주제를 참조하세요.
+  [Java 라이브러리 빌드](https://guides.gradle.org/building-java-libraries/) 
+  [프로젝트를 모듈로 게시](https://docs.gradle.org/current/userguide/publishing_setup.html) 

## IntelliJ IDEA에서 Gradle 빌드 실행
<a name="gradle-intellij"></a>

CodeCatalyst에서 종속성을 가져오는 IntelliJ IDEA에서 Gradle 빌드를 실행할 수 있습니다. CodeCatalyst로 Gradle을 인증하려면 개인 액세스 토큰(PAT)을 사용해야 합니다. `gradle.properties` 또는 선택한 별도의 파일에 CodeCatalyst PAT를 저장할 수 있습니다.

### 방법 1: PAT를 `gradle.properties`에 넣기
<a name="gradle-intellij-gradle-properties"></a>

`gradle.properties` 파일을 사용하지 않고 PAT로 내용을 덮어쓸 수 있는 경우 이 방법을 사용합니다. `gradle.properties`를 사용하는 경우 파일의 내용을 덮어쓰는 대신 이 방법을 수정하여 PAT를 추가할 수 있습니다.

**참고**  
예시는 `GRADLE_USER_HOME`에 있는 `gradle.properties` 파일을 보여줍니다.

먼저 PAT가 없는 경우 PAT를 생성합니다.

**개인용 액세스 토큰(PAT)을 만들려면**

1. 상단 메뉴 바에서 프로파일 배지를 선택한 다음 **내 설정**을 선택합니다.
**작은 정보**  
프로젝트 또는 스페이스의 멤버 페이지로 이동하고 멤버 목록에서 이름을 선택하여 자신의 사용자 프로파일을 찾을 수도 있습니다.

1. **PAT 이름**에 PAT를 설명하는 이름을 입력합니다.

1. **만료 날짜**에 기본 날짜를 유지하거나 달력 아이콘을 선택하여 사용자 지정 날짜를 선택합니다. 만료 날짜는 기본적으로 현재 날짜로부터 1년 후입니다.

1. **생성**을 선택합니다.

   소스 리포지토리의 **복제 리포지토리**를 선택할 때도 이 토큰을 생성할 수 있습니다.

1. PAT 보안 암호를 안전한 위치에 저장합니다.
**중요**  
PAT 보안 암호는 한 번만 표시됩니다. 창을 닫은 후에는 검색할 수 없습니다.

다음 코드 조각을 사용하여 `build.gradle` 파일을 업데이트합니다.

```
repositories {
    maven {
        name = 'spaceName'
        url = uri('https://packages.region.codecatalyst.aws/maven/space_name/proj_name/repo_name/')
        credentials(PasswordCredentials)
    }
}
```

### 방법 2: PAT를 별도의 파일에 넣기
<a name="gradle-intellij-file"></a>

`gradle.properties` 파일을 수정하지 않으려면 이 방법을 사용하세요.

먼저 PAT가 없는 경우 PAT를 생성합니다.

**개인용 액세스 토큰(PAT)을 만들려면**

1. 상단 메뉴 바에서 프로파일 배지를 선택한 다음 **내 설정**을 선택합니다.
**작은 정보**  
프로젝트 또는 스페이스의 멤버 페이지로 이동하고 멤버 목록에서 이름을 선택하여 자신의 사용자 프로파일을 찾을 수도 있습니다.

1. **PAT 이름**에 PAT를 설명하는 이름을 입력합니다.

1. **만료 날짜**에 기본 날짜를 유지하거나 달력 아이콘을 선택하여 사용자 지정 날짜를 선택합니다. 만료 날짜는 기본적으로 현재 날짜로부터 1년 후입니다.

1. **생성**을 선택합니다.

   소스 리포지토리의 **복제 리포지토리**를 선택할 때도 이 토큰을 생성할 수 있습니다.

1. PAT 보안 암호를 안전한 위치에 저장합니다.
**중요**  
PAT 보안 암호는 한 번만 표시됩니다. 창을 닫은 후에는 검색할 수 없습니다.

**PAT를 별도의 파일에 배치하려면**

1. 다음 코드 조각을 사용하여 `build.gradle` 파일을 업데이트합니다. *space\$1name*, *proj\$1name*, *repo\$1name*을 자신의 CodeCatalyst 사용자 이름, 스페이스 이름, 프로젝트 이름, 패키지 리포지토리 이름으로 바꿉니다.

   ```
   def props = new Properties()
   file("fileName").withInputStream { props.load(it) }
                     
   repositories {
           maven {
               name = 'spaceName'
               url = uri('https://packages.region.codecatalyst.aws/maven/space_name/proj_name/repo_name/')
               credentials(PasswordCredentials)
           }
       }
   }
   ```

1. `build.gradle` 파일에 지정된 파일에 PAT를 작성합니다.

   ```
   echo "codecatalystArtifactsToken=PAT" > fileName
   ```