android / android-studio-poet

Large Android projects generator
Apache License 2.0
702 stars 85 forks source link

Add BazelLang.kt: a collection of data structures that represents a Bazel BUILD file. #135

Closed jin closed 6 years ago

jin commented 6 years ago

Resolves @NikitaKozlov's comment at https://github.com/android/android-studio-poet/pull/133#discussion_r215959875

I've only migrated BazelWorkspaceBlueprint to use BazelLang to keep this PR small, will make the changes to BUILD.bazel generators in a follow up PR.

borisf commented 6 years ago

@jin please fix the failing test from CI

14:18:20.760 [DEBUG] [org.gradle.api.internal.tasks.testing.junit.JUnitTestClassProcessor] Executing test class com.google.androidstudiopoet.generators.BazelWorkspaceGeneratorTest 14:18:20.761 [DEBUG] [TestEventLogger] 14:18:20.761 [DEBUG] [TestEventLogger] com.google.androidstudiopoet.generators.BazelWorkspaceGeneratorTest STARTED 14:18:20.764 [DEBUG] [TestEventLogger] 14:18:20.764 [DEBUG] [TestEventLogger] com.google.androidstudiopoet.generators.BazelWorkspaceGeneratorTest > generator generates workspace file with bazelWorkspaceContent STARTED 14:18:20.862 [DEBUG] [TestEventLogger] 14:18:20.862 [DEBUG] [TestEventLogger] com.google.androidstudiopoet.generators.BazelWorkspaceGeneratorTest > generator generates workspace file with bazelWorkspaceContent FAILED 14:18:20.862 [DEBUG] [TestEventLogger] Argument(s) are different! Wanted: 14:18:20.862 [DEBUG] [TestEventLogger] fileWriter.writeToFile( 14:18:20.862 [DEBUG] [TestEventLogger] "android_sdk_repository(name = "androidsdk")" 14:18:20.862 [DEBUG] [TestEventLogger] "WORKSPACE" 14:18:20.862 [DEBUG] [TestEventLogger] ); 14:18:20.862 [DEBUG] [TestEventLogger] -> at com.google.androidstudiopoet.writers.FileWriter.writeToFile(FileWriter.kt:26) 14:18:20.862 [DEBUG] [TestEventLogger] Actual invocation has different arguments: 14:18:20.862 [DEBUG] [TestEventLogger] fileWriter.writeToFile( 14:18:20.862 [DEBUG] [TestEventLogger] "android_sdk_repository( 14:18:20.862 [DEBUG] [TestEventLogger] name = "androidsdk" 14:18:20.862 [DEBUG] [TestEventLogger] ) 14:18:20.862 [DEBUG] [TestEventLogger] 14:18:20.862 [DEBUG] [TestEventLogger] # Google Maven Repository 14:18:20.862 [DEBUG] [TestEventLogger] GMAVEN_TAG = "null" 14:18:20.862 [DEBUG] [TestEventLogger] http_archive( 14:18:20.862 [DEBUG] [TestEventLogger] name = "gmaven_rules" 14:18:20.862 [DEBUG] [TestEventLogger] strip_prefix = "gmaven_rules-%s" % GMAVEN_TAG 14:18:20.862 [DEBUG] [TestEventLogger] urls = ["https://github.com/bazelbuild/gmaven_rules/archive/%s.tar.gz" % GMAVEN_TAG] 14:18:20.862 [DEBUG] [TestEventLogger] ) 14:18:20.862 [DEBUG] [TestEventLogger] load("@gmaven_rules//:gmaven.bzl", "gmaven_rules") 14:18:20.862 [DEBUG] [TestEventLogger] gmaven_rules() 14:18:20.862 [DEBUG] [TestEventLogger] " 14:18:20.863 [DEBUG] [TestEventLogger] "WORKSPACE" 14:18:20.863 [DEBUG] [TestEventLogger] ); 14:18:20.863 [DEBUG] [TestEventLogger] -> at com.google.androidstudiopoet.generators.BazelWorkspaceGenerator.generate(BazelWorkspaceGenerator.kt:31) 14:18:20.863 [DEBUG] [TestEventLogger] at com.google.androidstudiopoet.writers.FileWriter.writeToFile(FileWriter.kt:26) 14:18:20.863 [DEBUG] [TestEventLogger] at com.google.androidstudiopoet.generators.BazelWorkspaceGeneratorTest.generator generates workspace file with bazelWorkspaceContent(BazelWorkspaceGeneratorTest.kt:21)

jin commented 6 years ago

@borisf my bad for missing it. done.

NikitaKozlov commented 6 years ago

LGTM