Comments (10)
@ychescale9 could you please give it another try? The issue looks to be fixed, apiDump
works with FlowBindings
for me, including incremental compilation and dependency tracking.
from binary-compatibility-validator.
Yes, maven central support will be in the next minor release
from binary-compatibility-validator.
Released 0.2.1 to maven central
from binary-compatibility-validator.
I've pushed the potential fix to master. Unfortunately, I was not able to build workspace
project, so I've tested it with a simpler Android configuration.
Could you please verify that fix works as expected? It should be enough to checkout this project, run ./gradlew publishToMavenLocal
and then add mavenLocal
repository to your project and change BVC version to 0.1.2-SNAPSHOT
. If everything is ok, I'll release it as is.
I'll setup proper integration tests for different kinds of projects as soon as I find more spare time
from binary-compatibility-validator.
I tested 0.1.2-SNAPSHOT
locally with an Android project. Running ./gradlew apiDump
now produces the following error:
Could not determine the dependencies of task ':flowbinding-activity:apiBuild'.
> Could not resolve all task dependencies for configuration ':flowbinding-activity:releaseCompileClasspath'.
> More than one variant of project :flowbinding-common matches the consumer attributes:
- Configuration ':flowbinding-common:releaseApiElements' variant android-aidl:
- Unmatched attributes:
- Found artifactType 'android-aidl' but wasn't required.
- Found com.android.build.api.attributes.VariantAttr 'release' but wasn't required.
- Compatible attributes:
- Required com.android.build.api.attributes.BuildTypeAttr 'release' and found compatible value 'release'.
- Required org.gradle.usage 'java-api' and found compatible value 'java-api'.
- Required org.jetbrains.kotlin.platform.type 'androidJvm' and found compatible value 'androidJvm'.
- Configuration ':flowbinding-common:releaseApiElements' variant android-manifest:
- Unmatched attributes:
- Found artifactType 'android-manifest' but wasn't required.
- Found com.android.build.api.attributes.VariantAttr 'release' but wasn't required.
- Compatible attributes:
- Required com.android.build.api.attributes.BuildTypeAttr 'release' and found compatible value 'release'.
- Required org.gradle.usage 'java-api' and found compatible value 'java-api'.
- Required org.jetbrains.kotlin.platform.type 'androidJvm' and found compatible value 'androidJvm'.
- Configuration ':flowbinding-common:releaseApiElements' variant android-renderscript:
- Unmatched attributes:
- Found artifactType 'android-renderscript' but wasn't required.
- Found com.android.build.api.attributes.VariantAttr 'release' but wasn't required.
- Compatible attributes:
- Required com.android.build.api.attributes.BuildTypeAttr 'release' and found compatible value 'release'.
- Required org.gradle.usage 'java-api' and found compatible value 'java-api'.
- Required org.jetbrains.kotlin.platform.type 'androidJvm' and found compatible value 'androidJvm'.
- Configuration ':flowbinding-common:releaseApiElements' variant android-symbol-with-package-name:
- Unmatched attributes:
- Found artifactType 'android-symbol-with-package-name' but wasn't required.
- Found com.android.build.api.attributes.VariantAttr 'release' but wasn't required.
- Compatible attributes:
- Required com.android.build.api.attributes.BuildTypeAttr 'release' and found compatible value 'release'.
- Required org.gradle.usage 'java-api' and found compatible value 'java-api'.
- Required org.jetbrains.kotlin.platform.type 'androidJvm' and found compatible value 'androidJvm'.
from binary-compatibility-validator.
Thanks for the reproducer, @ychescale9!
This a known gradle/gradle#5426 issue, trying to find a compelling workaround
from binary-compatibility-validator.
Released 0.2.0 with support of Android projects.
Currently available via maven { url "https://kotlin.bintray.com/kotlinx" }
repository, waiting for JCenter approve
from binary-compatibility-validator.
@qwwdfsad latest snapshot works. Thanks!
from binary-compatibility-validator.
Latest snapshot works for me as well! Thanks!
from binary-compatibility-validator.
Thanks @qwwdfsad! BTW will this eventually be published to maven central or gradle plugin portal?
from binary-compatibility-validator.
Related Issues (20)
- Klib `.api` files should sort members above types HOT 4
- Why use the `.api` extension and not `.abi`? HOT 6
- Klib validation failing on CI but not locally HOT 5
- Klib validation failing with unexpected header line error HOT 1
- Make KLib validation related tasks public HOT 1
- Improve error message when the apiCheck fails due to missing klib dump file
- Klib validation may incorrectly handle projects with generated sources
- Use the Gradle Provider API to allow for lazy configuration HOT 1
- BCV Gradle Plugin should not depend on kotlin-compiler-embeddable HOT 1
- BCV tasks do not work for a project with generated sources when configuration cache is enabled
- org.gradle.api.InvalidUserDataException? HOT 2
- @JvmOverloads doesn't generate different methods for compose functions HOT 2
- Klib validation DSL for Groovy is different HOT 1
- Removal of default parameter is binary compatible but breaks runtime HOT 3
- `public` members of non-API supertype should be visible in the inheritor
- Unknown native target errors with Kotlin 2.0.0-RC1 HOT 4
- `KlibSignatureVersion.LATEST.toString()` is rendered as `KlibSignatureVersion(-2147483648)`
- Add Gradle version compatibility tests HOT 2
- Consider moving BCV to Kotlin repo HOT 2
- Description of a Syncs API task is uninformative HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from binary-compatibility-validator.