

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>

下列指示說明如何設定 Gradle Groovy 來擷取 CodeCatalyst 套件儲存庫的相依性。

**使用 Gradle Groovy 從 CodeCatalyst 套件儲存庫擷取相依性**

1. 在 https：//[https://codecatalyst.aws/](https://codecatalyst.aws/) 開啟 CodeCatalyst 主控台。

1. 導覽至您的專案。

1. 在導覽窗格中，選擇 **Packages (套件)**。

1. 從套件儲存庫清單中選擇套件儲存庫。

1. 選擇**連線至儲存庫**。

1. 在**連線至儲存庫**對話方塊中，從套件管理員用戶端清單中選擇 **Gradle Groovy**。

1. 您需要個人存取字符 (PAT) 才能向 CodeCatalyst 驗證 Gradle Groovy。如果您已經有，則可以使用它。如果沒有，您可以在這裡建立一個。

   1. 選擇**建立權杖**。

   1. 選擇**複製**以複製您的 PAT。
**警告**  
關閉對話方塊後，您將無法再次查看或複製 PAT。

1. 使用存取登入資料更新您的 Gradle 屬性檔案。將*使用者名稱*取代為您的 CodeCatalyst 使用者名稱，並將 *PAT* 取代為您的 CodeCatalyst 個人存取字符。您可以針對 *spaceUsername* 和 *spacePassword* 使用任何值，只要您在下列步驟中使用相同的值。

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

1. 若要從 Gradle 建置中的 CodeCatalyst 擷取相依性，請複製`maven`程式碼片段並將其新增至專案`build.gradle`檔案中的 `repositories`區段。取代下列值。只要您在下列步驟中使用相同的值，就可以將任何值用於 *spaceName*。
**注意**  
如果從主控台指示複製，則應為您更新下列值，且不應變更。
   + 將 *space\$1name* 取代為您的 CodeCatalyst 空間名稱。
   + 將 *proj\$1name* 取代為您的 CodeCatalyst 專案名稱。
   + 將 *repo\$1name* 取代為您的 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/)。下列步驟會將 Gradle 專案設定為從 CodeCatalyst 套件儲存庫解析外掛程式。

**使用 Gradle 從 CodeCatalyst 套件儲存庫擷取外掛程式**

1. 在 https：//[https://codecatalyst.aws/](https://codecatalyst.aws/) 開啟 CodeCatalyst 主控台。

1. 導覽至您的專案。

1. 在導覽窗格中，選擇 **Packages (套件)**。

1. 從套件儲存庫清單中選擇套件儲存庫。

1. 選擇**連線至儲存庫**。

1. 在**連線至儲存庫**對話方塊中，從套件管理員用戶端清單中選擇 **Gradle**。

1. 您需要個人存取字符 (PAT) 來向 CodeCatalyst 驗證 Gradle。如果您已經有，則可以使用它。如果沒有，您可以在這裡建立一個。

   1. 選擇**建立權杖**。

   1. 選擇**複製**以複製您的 PAT。
**警告**  
關閉對話方塊後，您將無法再次查看或複製 PAT。

1. 使用存取登入資料更新您的 Gradle 屬性檔案。將*使用者名稱*取代為您的 CodeCatalyst 使用者名稱，並將 *PAT* 取代為您的 CodeCatalyst 個人存取字符。您可以針對 *spaceUsername* 和 *spacePassword* 使用任何值，只要您在下列步驟中使用相同的值。

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

1. 將 `pluginManagement`區塊新增至您的 `settings.gradle` 檔案。`pluginManagement` 區塊必須出現在 中的任何其他陳述式之前`settings.gradle`。取代下列值。
**注意**  
如果從主控台指示複製，則應為您更新下列值，且不應變更。
   + 將 *spaceName* 取代為上一個步驟中使用的名稱值。
   + 將 *space\$1name* 取代為您的 CodeCatalyst 空間名稱。
   + 將 *proj\$1name* 取代為您的 CodeCatalyst 專案名稱。
   + 將 *repo\$1name* 取代為您的 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-plugins-store`) 的上游連線，以便建置可以使用常見的 Gradle 外掛程式。如需詳細資訊，請參閱 [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. 如果您尚未設定 Gradle 與 CodeCatalyst 套件儲存庫，請遵循 [從 CodeCatalyst 擷取相依性](#gradle-fetch-dependencies)或 中的步驟進行設定[從 CodeCatalyst 擷取外掛程式](#gradle-fetch-plugins)。

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：//[https://codecatalyst.aws/](https://codecatalyst.aws/) 開啟 CodeCatalyst 主控台。

1. 在專案的概觀頁面上，選擇**套件**。

1. 從套件儲存庫清單中選擇套件儲存庫。

1. 選擇**連線至儲存庫**。

1. 在**連線至儲存庫**對話方塊中，從套件管理員用戶端清單中選擇 **Gradle Groovy**。

1. 您需要個人存取字符 (PAT) 來向 CodeCatalyst 驗證 Gradle。如果您已經有，則可以使用它。如果沒有，您可以在這裡建立一個。

   1. 選擇**建立權杖**。

   1. 選擇**複製**以複製您的 PAT。
**警告**  
關閉對話方塊後，您將無法再次查看或複製 PAT。

1. 使用存取登入資料更新您的 Gradle 屬性檔案。將*使用者名稱*取代為您的 CodeCatalyst 使用者名稱，並將 *PAT* 取代為您的 CodeCatalyst 個人存取字符。您可以針對 *spaceUsername* 和 *spacePassword* 使用任何值，只要您在下列步驟中使用相同的值。

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

1. 將`maven-publish`外掛程式新增至專案`build.gradle`檔案的 `plugins`區段。

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

1. 接著，將`publishing`區段新增至專案`build.gradle`檔案。取代下列值。
**注意**  
如果從主控台指示複製，則應為您更新下列值，且不應變更。
   + 將 *space\$1name* 取代為您的 CodeCatalyst 空間名稱。
   + 將 *proj\$1name* 取代為您的 CodeCatalyst 專案名稱。
   + 將 *repo\$1name* 取代為您的 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` 區段中`version`指定的 `groupId`、 `artifactId`和 產生 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>

您可以在 IntelliJ IDEA 中執行 Gradle 建置，從 CodeCatalyst 提取相依性。若要使用 CodeCatalyst 驗證 Gradle，您必須使用個人存取字符 (PAT)。您可以將 CodeCatalyst PAT 存放在 `gradle.properties`或您選擇的個別檔案。

### 方法 1：將 PAT 放入 `gradle.properties`
<a name="gradle-intellij-gradle-properties"></a>

如果您未使用 `gradle.properties` 檔案，並且可以使用 PAT 覆寫其內容，請使用此方法。如果您使用的是 `gradle.properties`，您可以修改此方法來新增 PAT，而不是覆寫檔案的內容。

**注意**  
此範例顯示位於 中的 `gradle.properties` 檔案`GRADLE_USER_HOME`。

首先，如果您沒有 PAT，請建立 PAT。

**建立個人存取字符 (PAT)**

1. 在頂端選單列中，選擇您的設定檔徽章，然後選擇**我的設定**。
**提示**  
您也可以前往專案或空間的成員頁面，並從成員清單中選擇您的名稱，以尋找您的使用者設定檔。

1. 在 **PAT 名稱**中，輸入 PAT 的描述性名稱。

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. 將 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. 將您的 PAT 寫入檔案中指定的`build.gradle`檔案：

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