airin icon indicating copy to clipboard operation
airin copied to clipboard

BUILD Files Not Generated

Open paulhundal opened this issue 1 year ago • 1 comments

Repository: https://github.com/federicoiosue/Omni-Notes -> Using this OSS project as a way to test migration from Gradle -> Bazel.

Problem After running ./gradlew omniNotes:migrateToBazel --no-configure-on-demand no bazel files generated, even with task success.

OUTPUT:

Omni-Notes develop * ./gradlew omniNotes:migrateToBazel --no-configure-on-demand

> Configure project :omniNotes
BUILD SUCCESSFUL in 486ms
1 actionable task: 1 up-to-date

Change to root build.gradle

classpath "io.morfly.airin:airin-gradle-android:0.5.2"
...

apply plugin: "io.morfly.airin.android"
airin {
    targets += [":omniNotes"]
}

Expected

the task generates a set of Bazel files for a migration target, all its dependencies and the root module. Consequently, all of them can be built with Bazel.

paulhundal avatar Apr 24 '24 22:04 paulhundal

Hi @paulhundal , Thank you for reaching out!

Please make sure to register Module/Feature components in the airin block. The components handle the generation of BUILD files.

Airin ships with a couple of default components for Android modules. However, in many cases, you would be required to create your own components to define a logic that generates Bazel scripts needed for your project. The components provide an API that helps you to get details about your Gradle modules. Moreover, they provide a DSL that helps you to generate corresponding Bazel scripts based on this data.

Please refer to this video for a live demo to learn more: https://youtu.be/xkGcrLn2yIs?si=guCn1Q3CfSDtX9jF&t=1608 There is a live demo at 26:48 but the rest of the video could be also helpful for more context about components. Let me know if you have any questions.

Morfly avatar Apr 26 '24 21:04 Morfly