Skip to content

Commit a3c10c8

Browse files
committed
Update a migration guide with information about module exclusion
1 parent 733258c commit a3c10c8

File tree

1 file changed

+19
-4
lines changed

1 file changed

+19
-4
lines changed

docs/design/0.15.0-migration-guide.md

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,29 @@
11
The major feature shipped with the release 0.15.0 of the Binary Compatibility Validator is Kotlin libraries (or KLibs)
22
ABI validation support.
33

4-
This support, however, comes with a few changes that break the plugin's compatibility:
4+
This support, however, comes with a few changes that break the plugin's compatibility or changes its behavior:
5+
- In multiplatform projects, empty modules are no longer ignored during ABI validation;
56
- ABI file names (`api/<project name>.api`) are no longer treated in a case-insensitive way;
67
- Gradle tasks provided by the plugin changed their API.
78

8-
If you neither configure BCV Gradle tasks manually nor have an ABI file with a name in a case different
9-
from how the project was named in the settings, these changes won't affect you.
9+
If you have a multiplatform project with modules having no sources, configure BCV Gradle tasks manually,
10+
or have an ABI file with a name in a case different from how the project was named in the settings,
11+
please check the following steps for smooth migration.
1012

11-
Otherwise, the steps required for smooth migration are described below.
13+
### In multiplatform projects, empty modules are no longer ignored during ABI validation
14+
15+
Previously, if there was an empty Gradle module/project (for example, test-only module), BCV ignored validation of
16+
such a module if the multiplatform platform plugin was applied there. However, BCV behaved differently for similar
17+
projects with the JVM-plugin applied.
18+
19+
Starting from `0.15.0` behavior was aligned and now BCV no longer ignores validation of empty modules/projects.
20+
If you have such a module, please either generate and commit (empty) ABI dump file for it by running
21+
`./gradlew apiDump`, or consider excluding the module from validation using `ignoredProjects` setting:
22+
```kotlin
23+
apiValidation {
24+
ignoredProjects += "empty-module"
25+
}
26+
```
1227

1328
### ABI file names are no longer treated in a case-insensitive way
1429

0 commit comments

Comments
 (0)