Kotlin 멀티플랫폼 라이브러리는 어떻게 발표됩니까?
3664 단어 multiplatformkotlin
TL;DR: Kotlin Gradle 플러그인은 자동으로 도서관 출판물을 만들고 구성하므로 출판물 프로젝트에 대한 자세한 정보를 알 필요가 없습니다.만약 당신이 궁금하다면, 우리 토론을 합시다!
너의 도서관 구조 발견
만약 이전에 일반적인 플랫폼 (예:android) 라이브러리를 발표한 적이 있다면, 다중 플랫폼 라이브러리의 발표 형식 차이가 매우 크다는 것을 알 수 있습니다.한 버전의 라이브러리에는 여러 개의 부품이 있는데, 그것들의 내용 형식이 다르고 (.jar vs.klib) 원본 집합의 수량과 결과 부품의 수량이 일치하지 않습니다.
다중 플랫폼 라이브러리에 있어서 일반적인 발표는 부족하기 때문이다.일반 라이브러리에 비해 다중 플랫폼 라이브러리는 더욱 복잡한 구조를 가지기 때문에 출판물도 그리 자질구레하지 않다.다음은 기억해야 할 관건적인 차이점이다.
expect
성명이 있는 공공 부분과 실제 실현된 플랫폼의 특정 부분이다.build.gradle
파일에 코드를 한 줄만 입력하면 됩니다.dependencies {
implementation("io.github.katerinapetrova:mpp-sample-lib:1.0.0")
}
그렇다면 이런 마법은 어떻게 작용하는가?Maven은 대상, 소스 코드 세트 및 컴파일을 사용하지 않습니다.항목만 조작합니다.하나의 프로젝트는 우리가 세운 모든 것이고, 또한 우리가 의지할 수 있는 것이다.모든 항목은 그룹 Id,artifactId,version에 의해 정의되며, Maven은 이 세 필드를 좌표계로 사용합니다.이것은 붙여넣기 의존 문자열을 구축할 때 사용하는 방법입니다.그레델 서류.이 좌표들은 a에서 정의한 것이다.pom 파일 - Maven 프로젝트의 XML 표현입니다.이제 릴리즈된 라이브러리의 로컬 Maven 폴더에 포함된 내용을 살펴보겠습니다.우리는 단지 하나의 라이브러리만 발표했지만, 여러 개의 폴더가 있다.모든 폴더는 하나의 단독 마븐 프로젝트를 대표하며, 서로 다른 작업과 작업을 포함합니다.pom 파일은 프로젝트를 설명합니다. (프로젝트의 이름은pom
artifactId
글자에 저장되어 있기 때문입니다.)따라서 Kotlin Gradle 플러그인은 출판물을 만들었고
maven-publish
플러그인은 이 출판물을 이용하여 Kotlin 멀티플랫폼 라이브러리의 원본을 Maven 부품에 비추어 소비자 프로젝트에서Gradle 모듈로 의존할 수 있다.일은 이렇다.이러한 변화의 핵심을 살펴보겠습니다.
Gradle Module MetadataGradle은 공공 소스에 집중된 루트 작업에 의존할 때 라이브러리에서 플랫폼에 특정한 부분을 찾을 수 있는 곳을 알려줍니다.이것이 바로 공공 소스 코드 집중
With the hierarchical project structure enabled 라이브러리의 중간 원본 집합의 API가 라이브러리 부품에 삽입됩니다(이 집합이 구분된 목표에 따라 공용 또는 플랫폼).
출판물 양식의 세부 사항을 깊이 있게 알고 싶다면, 코틀린 멀티플랫폼 팀의 디마 사비노프 (Dima Savinov) 의 멋진 강연을 보시기 바랍니다.
이제 우리 도서관이 세계를 향해 나아가는 주요 목표로 돌아가자!이 시리즈의 마지막 부분을 보십시오. Maven Central 출판 과정을 안내합니다.👀
Reference
이 문제에 관하여(Kotlin 멀티플랫폼 라이브러리는 어떻게 발표됩니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/kotlin/how-to-build-and-publish-a-kotlin-multiplatform-library-discovering-the-library-structure-3oeo텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)