BUILD.bazel not generated.
Problem 1.
Not sure why this is happening but it seems like some of my modules getting the Deleted test/test_fixtures_ui/BUILD.bazel and I don;t see the migrated BUILD.bazel file
> Task :test:test_fixtures_ui:generateBazelScripts
Deleted test/test_fixtures_ui/BUILD.bazel
> Task :test:test_fixtures:generateBazelScripts
Generated test/test_fixtures/BUILD.bazel
my config
grazel {
android {
features {
dataBinding = true
}
variantFilter {
this.setIgnore(name != "release" && name != "prodEnv")
}
ndkApiLevel = 28
}
rules {
bazelCommon {
gitRepository {
commit = "646475fa68b984f476871f0e8073234e8cae559c" // Commit hash
remote = "https://github.com/grab/grab-bazel-common.git"
}
}
test {
enableTestMigration = true
detectSourceSets = true
}
dependencies {
overrideArtifactVersions.add("androidx.navigation:navigation-runtime:2.3.2")
}
mavenInstall {
httpArchiveRepository {
sha256 = "b17d7388feb9bfa7f2fa09031b32707df529f26c91ab9e5d909eb1676badd9a6"
stripPrefix = "rules_jvm_external-4.5"
url = "https://github.com/bazelbuild/rules_jvm_external/archive/4.5.zip"
}
artifactPinning {
enabled.set(false)
}
versionConflictPolicy = "pinned"
}
}
Problem 2.
When I enable artifactPinning I get dependency conflict ->
Error in fail: Error while fetching artifact with coursier: Resolution error: Conflicting dependencies:
androidx.navigation:navigation-runtime:2.3.2 or [2.3.0] or [2.4.0] wanted by
androidx.hilt:hilt-navigation:1.0.0 wants 2.3.2
└─ androidx.hilt:hilt-navigation-compose:1.0.0
androidx.navigation:navigation-fragment:2.3.0 wants [2.3.0]
└─ com.datadoghq:dd-sdk-android:1.15.0
androidx.navigation:navigation-runtime-ktx:2.4.0 wants [2.4.0]
├─ androidx.navigation:navigation-compose:2.4.0 wants androidx.navigation:navigation-runtime-ktx:[2.4.0]
│ └─ androidx.hilt:hilt-navigation-compose:1.0.0
└─ com.datadoghq:dd-sdk-android:1.15.0 wants androidx.navigation:navigation-runtime-ktx:2.3.0
but adding overrideArtifactVersions.add("androidx.navigation:navigation-runtime:2.3.2") doesn't work at all.
and I do get the same
> Task :test:test_fixtures_ui:generateBazelScripts
Deleted test/test_fixtures_ui/BUILD.bazel
Hey @sylwek845 thanks for reporting this. Adding a bit of context for this behavior, this is due to the fact that Grazel tries to do incremental migration by default. We explain it here https://grab.github.io/Grazel/migration_criteria/#migration-criteria. The problem is that the check is not as exhaustive and we don't have good tooling yet to display statistics on what was migrated. For fixing this we need two this at least
- Add capability to disable incremental migration or provide custom lambda in
grazel {}in addition to defaultMigrationCriteria. - Ensure Grazel generates transitive closure of maven targets in
WORKSPACEas well to letversionConflictPolicy = "pinned"to work. Gradle andrules_jvm_externaldoes dependency resolution differently, the proper way to fix it is ensure Grazel generates pinned versions of all artifacts (including transitives) in the project. Thenrules_jvm_externalwon't throw dependency resolution conflicts. This is currently being done as part of rewrite here #45. Will target this for 0.5.0.