본문 바로가기
Kotlin/Release Notes

[Kotlin Release Notes] Kotlin 1.0.6 is here!

by 노력남자 2023. 9. 3.
반응형

2016년 12월 27일

 

우리는 Kotlin 1.0.6 버전의 출시를 기쁘게 알립니다. 이 버전은 IDE 플러그인과 Android 지원과 관련된 많은 개선 사항을 가져왔습니다.

우리는 이 출시에 포함된 외부 기여자인 Kirill Rakhman과 Yoshinori Isogai에게 감사드립니다. 또한 EAP 사용자들 모두의 의견에 감사드립니다. 이것은 언제나 우리에게 매우 값진 피드백입니다.

변경 내역의 전체 목록은 변경 로그에서 확인하실 수 있습니다. 아래에 강조할 몇 가지 변경 내역을 설명하겠습니다.


try-finally를 use() 의도로 변환

 

우리는 코드를 Kotlin의 관용적인 스타일로 변환하기 위한 의도를 계속해서 추가하고 있습니다. IDE는 이제 finally 블록이 리소스를 닫기만 한다면 try-finally 블록을 use() 호출로 대체하는 것을 자동으로 제안합니다.

 

 

"호출 인수에 이름 추가" 의도


명명된 인수는 코드 가독성을 높이는 데 도움이 됩니다. 새로운 "호출 인수에 이름 추가" 의도로 인수에 이름을 쉽게 추가하거나 모든 호출 인수에 대한 이름을 한 번에 바꿀 수 있습니다.

 

다른 주목할만한 IDE 플러그인 변경 사항

 

  • 빈 보조 생성자 본문 제거 및 빈 주 생성자 선언을 위한 검사/의도;
  • "선언 및 할당 연결" 의도;
  • 인라인 함수의 수정 사항 및 디버거의 성능 개선;
  • 의도, KDoc 및 빠른 문서에서 많은 수정 사항.

 

Android 지원

 

  • Android Studio 2.3 베타 1 버전과 Android Gradle 플러그인 2.3.0-alpha3 및 이후 버전이 지원됩니다.
  • "XML 리소스 생성" 의도가 추가되었습니다;
  • Android Extensions 지원은 이제 빌드.gradle에서 해당 플러그인이 활성화된 경우에만 IDE에서 활성화됩니다;
  • Android Lint에서 많은 수정 사항이 이루어졌습니다. "Lint 억제" 의도가 추가되었습니다.

 

Kapt 개선


Kotlin 주석 처리 도구 (kapt)의 실험 버전에 대한 작업을 계속 진행하고 있습니다. 여전히 증분 컴파일을 완전히 지원하려면 해야 할 일이 있지만, Kotlin 1.0.4부터 주석 처리의 성능이 크게 향상되었습니다.

실험적인 kapt를 활성화하려면 다음 줄을 build.gradle에 추가하면 됩니다:

 

apply plugin: 'kotlin-kapt'

 

All-open 컴파일러 플러그인


all-open 컴파일러 플러그인은 특정 어노테이션으로 주석이 달린 클래스와 해당 멤버를 open 키워드 없이 열어줍니다. 따라서 Spring AOP 또는 Mockito와 같은 프레임워크/라이브러리를 사용하는 것이 훨씬 더 쉬워집니다. 해당 KEEP에서 all-open에 대한 자세한 정보를 확인할 수 있습니다.

우리는 Gradle과 Maven 모두에서 all-open 플러그인 지원을 제공하며, IDE 통합도 가능합니다.


Gradle에서 all-open 사용 방법

 

buildscript {
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-allopen:$kotlin_version"
    }
}

apply plugin: "kotlin-allopen"

allOpen {
    annotation("com.your.Annotation")
}

 

클래스(또는 슈퍼 클래스)가 com.your.Annotation으로 주석이 달린 경우, 클래스 자체와 해당 멤버가 모두 open이 됩니다. 메타 어노테이션과도 잘 작동합니다:

 

@com.your.Annotation
annotation class MyFrameworkAnnotation

@MyFrameworkAnnotation
class MyClass // will be all-open

 

Spring 프레임워크에 필요한 모든 필수 어노테이션을 이미 포함하는 "kotlin-spring" 플러그인도 제공합니다:

 

buildscript {
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-allopen:$kotlin_version"
    }
}

apply plugin: "kotlin-spring"

 

물론 같은 프로젝트에서 kotlin-allopen과 kotlin-spring을 모두 사용할 수 있습니다.

 

Maven에서 all-open 사용 방법

 

<plugin>
    <artifactId>kotlin-maven-plugin</artifactId>
    <groupId>org.jetbrains.kotlin</groupId>
    <version>${kotlin.version}</version>

    <configuration>
        <compilerPlugins>
            <!-- 또는 Spring 지원인 경우 "spring" -->
            <plugin>all-open</plugin>
        </compilerPlugins>

        <pluginOptions>
            <!-- 각 어노테이션은 자체 줄에 배치됩니다 -->
            <option>all-open:annotation=com.your.Annotation</option>
            <option>all-open:annotation=com.their.AnotherAnnotation</option>
        </pluginOptions>
    </configuration>

    <dependencies>
        <dependency>
            <groupId>org.jetbrains.kotlin</groupId>
            <artifactId>kotlin-maven-allopen</artifactId>
            <version>${kotlin.version}</version>
        </dependency>
    </dependencies>
</plugin>

 

No-arg 컴파일러 플러그인


no-arg 컴파일러 플러그인은 특정 어노테이션을 가진 클래스에 대해 추가적인 인자가 없는 생성자를 생성합니다. 생성된 생성자는 합성 생성자이므로 Java나 Kotlin에서 직접 호출할 수는 없지만, 리플렉션을 통해 호출할 수 있습니다. 동기 부여된 토론을 여기서 확인할 수 있습니다.


Gradle에서 no-arg 사용 방법


사용법은 all-open과 매우 유사합니다.

 

buildscript {
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-noarg:$kotlin_version"
    }
}

// Or "kotlin-jpa" for the Java Persistence API support
apply plugin: "kotlin-noarg"

noArg {
    annotation("com.your.Annotation")
}

 

Maven에서 no-arg 사용 방법

 

<plugin>
    <artifactId>kotlin-maven-plugin</artifactId>
    <groupId>org.jetbrains.kotlin</groupId>
    <version>${kotlin.version}</version>

    <configuration>
        <compilerPlugins>
            <!-- 또는 Java Persistence 어노테이션 지원인 경우 "jpa" -->
            <plugin>no-arg</plugin>
        </compilerPlugins>

        <pluginOptions>
            <option>no-arg:annotation=com.your.Annotation</option>
        </pluginOptions>
    </configuration>

    <dependencies>
        <dependency>
            <groupId>org.jetbrains.kotlin</groupId>
            <artifactId>kotlin-maven-noarg</artifactId>
            <version>${kotlin.version}</version>
        </dependency>
    </dependencies>
</plugin>

 

업데이트 방법


IDEA 플러그인을 업데이트하려면 도구 | Kotlin | Kotlin 플러그인 업데이트 구성을 사용하고 "지금 업데이트 확인" 버튼을 누르십시오. 또한 Maven과 Gradle 빌드 스크립트에서 컴파일러 및 표준 라이브러리 버전을 업데이트하는 것을 잊지 마십시오.

커맨드 라인 컴파일러는 Github 릴리스 페이지에서 다운로드할 수 있습니다.

새로운 출시와 관련하여 문제가 발생하면 포럼이나 Slack (여기에서 초대를 받으세요)에서 도움을 요청하거나 이슈 트래커에 문제를 보고하십시오.

Kotlin을 즐기세요!

 

원문

 

https://blog.jetbrains.com/kotlin/2016/12/kotlin-1-0-6-is-here/

 

반응형

댓글