

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Buat file build proyek
<a name="setup-create-project-file"></a>

Setelah mengonfigurasi akses masuk tunggal dan lingkungan pengembangan, buat project Kotlin menggunakan alat build pilihan Anda. Dalam file build, tentukan dependensi Layanan AWS yang perlu diakses aplikasi Anda.

Untuk melihat daftar semua kemungkinan nama artefak Maven, lihat dokumentasi referensi [API](https://docs.aws.amazon.com/sdk-for-kotlin/api/latest/index.html). Untuk menemukan versi terbaru SDK, periksa [rilis terbaru di GitHub](https://github.com/awslabs/aws-sdk-kotlin/releases/latest).

Contoh file build berikut menyediakan elemen yang diperlukan untuk memulai pengkodean proyek dengan tujuh Layanan AWS. 

------
#### [ Gradle ]

Ini AWS SDK untuk Kotlin menerbitkan [katalog versi Gradle](https://docs.gradle.org/current/userguide/version_catalogs.html) dan bill of materials (BOM) yang dapat membantu Anda menemukan nama dependensi dan menjaga nomor versi tetap disinkronkan di beberapa artefak. 

Perhatikan bahwa katalog versi adalah fitur pratinjau Gradle sebelum versi 8. Bergantung pada versi Gradle yang Anda gunakan, Anda mungkin perlu ikut serta melalui API [Pratinjau Fitur](https://docs.gradle.org/current/userguide/feature_lifecycle.html#feature_preview).

**Untuk menggunakan katalog versi Gradle**

1. Dalam `settings.gradle.kts` file Anda, tambahkan `versionCatalogs` blok di dalam `dependencyResolutionManagement` blok.

   Contoh file berikut mengkonfigurasi katalog AWS SDK untuk Kotlin versi. Anda dapat menavigasi ke {{X.Y.Z}} tautan untuk melihat versi terbaru yang tersedia.

   ```
   plugins {
       id("org.gradle.toolchains.foojay-resolver-convention") version "[https://plugins.gradle.org/plugin/org.gradle.toolchains.foojay-resolver-convention](https://plugins.gradle.org/plugin/org.gradle.toolchains.foojay-resolver-convention)"
   }
   rootProject.name = "your-project-name"
   
   dependencyResolutionManagement {
       repositories {
           mavenCentral()
       }
   
       versionCatalogs {
           create("awssdk") {
               from("aws.sdk.kotlin:version-catalog:[https://github.com/awslabs/aws-sdk-kotlin/releases/latest](https://github.com/awslabs/aws-sdk-kotlin/releases/latest)")
           }
       }
   }
   ```

1. Deklarasikan dependensi `build.gradle.kts` dengan menggunakan pengidentifikasi type-safe yang disediakan oleh katalog versi.

   Contoh file berikut mendeklarasikan dependensi untuk tujuh. Layanan AWS

   ```
   plugins {
       kotlin("jvm") version "{{[X.Y.Z](https://plugins.gradle.org/plugin/org.jetbrains.kotlin.jvm)}}"
       application
   }
   
   group = "org.example"
   version = "1.0-SNAPSHOT"
   
   repositories {
       mavenCentral()
   }
   
   dependencies {
       implementation(platform(awssdk.bom))
       implementation(platform("org.apache.logging.log4j:log4j-bom:[https://search.maven.org/#search|gav|1|g:org.apache.logging.log4j%20AND%20a:log4j-bom](https://search.maven.org/#search|gav|1|g:org.apache.logging.log4j%20AND%20a:log4j-bom)"))
   
       implementation(awssdk.services.s3)
       implementation(awssdk.services.dynamodb)
       implementation(awssdk.services.iam)
       implementation(awssdk.services.cloudwatch)
       implementation(awssdk.services.cognitoidentityprovider)
       implementation(awssdk.services.sns)
       implementation(awssdk.services.pinpoint)
       implementation("org.apache.logging.log4j:log4j-slf4j2-impl")
   
       // Test dependency.
       testImplementation(kotlin("test"))
   }
   
   tasks.test {
       useJUnitPlatform()
   }
   
   java {
       toolchain {
           languageVersion = JavaLanguageVersion.of({{X*}})
       }
   }
   
   application {
       mainClass = "org.example.AppKt"
   }
   ```

   \* Versi Java, misalnya `17` atau`21`.

------
#### [ Maven ]

Contoh `pom.xml` file berikut memiliki dependensi untuk tujuh. Layanan AWS Anda dapat menavigasi ke {{X.Y.Z}} tautan untuk melihat versi terbaru yang tersedia.

```
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>setup</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <aws.sdk.kotlin.version>[https://github.com/awslabs/aws-sdk-kotlin/releases/latest](https://github.com/awslabs/aws-sdk-kotlin/releases/latest)</aws.sdk.kotlin.version>
        <kotlin.version>{{[X.Y.Z](https://kotlinlang.org/docs/releases.html#release-details)}}</kotlin.version>
        <log4j.version>[https://search.maven.org/#search|gav|1|g:org.apache.logging.log4j%20AND%20a:log4j-bom](https://search.maven.org/#search|gav|1|g:org.apache.logging.log4j%20AND%20a:log4j-bom)</log4j.version>
        <junit.jupiter.version>[https://search.maven.org/#search|gav|1|g:org.junit.jupiter%20AND%20a:junit-jupiter](https://search.maven.org/#search|gav|1|g:org.junit.jupiter%20AND%20a:junit-jupiter)</junit.jupiter.version>
        <jvm.version>{{X}}*</jvm.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>aws.sdk.kotlin</groupId>
                <artifactId>bom</artifactId>
                <version>${aws.sdk.kotlin.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-bom</artifactId>
                <version>${log4j.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

        </dependencies>
    </dependencyManagement>

    <dependencies>
        <dependency>
            <groupId>aws.sdk.kotlin</groupId>
            <artifactId>s3-jvm</artifactId>
        </dependency>
        <dependency>
            <groupId>aws.sdk.kotlin</groupId>
            <artifactId>dynamodb-jvm</artifactId>
        </dependency>
        <dependency>
            <groupId>aws.sdk.kotlin</groupId>
            <artifactId>iam-jvm</artifactId>
        </dependency>
        <dependency>
            <groupId>aws.sdk.kotlin</groupId>
            <artifactId>cloudwatch-jvm</artifactId>
        </dependency>
        <dependency>
            <groupId>aws.sdk.kotlin</groupId>
            <artifactId>cognitoidentityprovider-jvm</artifactId>
        </dependency>
        <dependency>
            <groupId>aws.sdk.kotlin</groupId>
            <artifactId>sns-jvm</artifactId>
        </dependency>
        <dependency>
            <groupId>aws.sdk.kotlin</groupId>
            <artifactId>pinpoint-jvm</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-slf4j2-impl</artifactId>
        </dependency>

        <!-- Test dependencies -->
        <dependency>
            <groupId>org.jetbrains.kotlin</groupId>
            <artifactId>kotlin-test-junit</artifactId>
            <version>${kotlin.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter</artifactId>
            <version>${junit.jupiter.version}</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <sourceDirectory>src/main/kotlin</sourceDirectory>
        <testSourceDirectory>src/test/kotlin</testSourceDirectory>

        <plugins>
            <plugin>
                <groupId>org.jetbrains.kotlin</groupId>
                <artifactId>kotlin-maven-plugin</artifactId>
                <version>${kotlin.version}</version>
                <executions>
                    <execution>
                        <id>compile</id>
                        <phase>compile</phase>
                        <goals>
                            <goal>compile</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>test-compile</id>
                        <phase>test-compile</phase>
                        <goals>
                            <goal>test-compile</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <jvmTarget>${jvm.version}</jvmTarget>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
```

\* Versi Java, misalnya `17` atau`21`.

------