Skip to content

Commit abd910d

Browse files
committed
KEEP-0440-bcv-to-kgp.md: Updated to actual state
1 parent 2b887d0 commit abd910d

File tree

1 file changed

+25
-13
lines changed

1 file changed

+25
-13
lines changed

proposals/KEEP-0440-bcv-to-kgp.md

Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ We propose using Binary Compatibility Validator out of the box in Kotlin Gradle
3030
* [Missing features](#missing-features)
3131
* [Stabilization of ABI Tools API](#stabilization-of-abi-tools-api)
3232
* [Open questions](#open-questions)
33-
* [Gradle DSL](#gradle-dsl)
33+
* [Gradle](#gradle)
3434
* [Documentations](#documentations)
3535
* [Future development](#future-development)
3636
* [New format](#new-format)
@@ -154,27 +154,39 @@ By default, the reference dump files are located in the directory `api` in the c
154154
We will assume that the migrated part of the BCV is stable when all the tasks listed below are closed and no critical bugs are created by users for a long time.
155155

156156
### Missing features
157-
- add Gradle DSL to extract ABI from already compiled jars (perhaps, from Gradle artifacts)
157+
- add Gradle DSL to extract ABI from already compiled jars (perhaps, from Gradle artifacts) [KT-80314](https://youtrack.jetbrains.com/issue/KT-80314), [KT-80313](https://youtrack.jetbrains.com/issue/KT-80313)
158+
- add Gradle DSL to extract ABI from additional source sets [KT-80818](https://youtrack.jetbrains.com/issue/KT-80818)
158159

159160
### Stabilization of ABI Tools API
160-
- stabilize ABI Tools API for the existing dump format
161+
Refactor the API and introduce the new way for getting an instance of the ABI Tools [KT-80747](https://youtrack.jetbrains.com/issue/KT-80747).
162+
163+
If the `abi-tools` artifact is in the current classpath:
164+
```kotlin
165+
val abiTools = org.jetbrains.kotlin.abi.tools.AbiTools.getInstance()
166+
```
167+
168+
If the `abi-tools-api` is in the current classpath and implementation `abi-tools` in another classpath in some class loader:
169+
```kotlin
170+
val abiTools = org.jetbrains.kotlin.abi.tools.AbiTools.getInstance(classLoader)
171+
```
161172

162173
### Open questions
163174
- Decide if we should create tasks if ABI validation is disabled in the project [KT-77687](https://youtrack.jetbrains.com/issue/KT-77687)
164-
- Decide if `check` task should depend on `checkAbi` if ABI validation is enabled in the project [KT-78525](https://youtrack.jetbrains.com/issue/KT-78525)
165175

166-
### Gradle DSL
167-
- stabilize filtering DSL (exclusions and inclusions)
168-
- rename `checkLegacyAbi` and `updateLegacyAbi` tasks to `checkAbi` and `updateAbi`
169-
- maybe we should rename `legacyDump` block to some other, to clearly indicate what exactly is being configured (old report format)
170-
- find a group to place the tasks [KT-78717](https://youtrack.jetbrains.com/issue/KT-78717)
171-
- write descriptions for the tasks
172-
- make `abiValidation {}` block stable part of `kotlin { }` extension
176+
### Gradle
177+
- Stabilize filtering DSL (exclusions and inclusions) [KT-80823](https://youtrack.jetbrains.com/issue/KT-80823)
178+
- Rename `checkLegacyAbi` and `updateLegacyAbi` tasks to `checkKotlinAbi` and `updateKotlinAbi` [KT-80674](https://youtrack.jetbrains.com/issue/KT-80674)
179+
- We should rename `legacyDump` block to some other, to clearly indicate what exactly is being configured (old report format) [KT-80826](https://youtrack.jetbrains.com/issue/KT-80826)
180+
- Refactor DSL for working with dump variants [KT-80827](https://youtrack.jetbrains.com/issue/KT-80827)
181+
- Find a group to place the tasks [KT-80621](https://youtrack.jetbrains.com/issue/KT-80621)
182+
- Write descriptions for the tasks [KT-80687](https://youtrack.jetbrains.com/issue/KT-80687)
183+
- Make `abiValidation {}` block stable part of `kotlin { }` extension [KT-80685](https://youtrack.jetbrains.com/issue/KT-80685)
184+
- Add dependency on `checkKotlinAbi` from `check` task [KT-80614](https://youtrack.jetbrains.com/issue/KT-80614)
173185

174186

175187
### Documentations
176-
- add ABI `abi-tools` and `abi-tools-api` on https://kotlinlang.org/api
177-
- write the migration guide (where? https://kotlinlang.org?)
188+
- add `abi-tools-api` on https://kotlinlang.org/api
189+
- write the migration guide
178190
- add the description of binary compatibility near to [Backward compatibility guidelines for library authors](https://kotlinlang.org/docs/api-guidelines-backward-compatibility.html).
179191
- add the link on the binary compatibility description to [Backward compatibility guidelines for library authors](https://kotlinlang.org/docs/api-guidelines-backward-compatibility.html)
180192
- add the page with a description of the direct use of `abi-tools`

0 commit comments

Comments
 (0)