Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate all providers to Starlark #256

Closed
ahumesky opened this issue Aug 24, 2024 · 4 comments
Closed

Migrate all providers to Starlark #256

ahumesky opened this issue Aug 24, 2024 · 4 comments
Assignees
Labels
Roadmap Roadmap Item

Comments

@ahumesky
Copy link
Collaborator

No description provided.

@ahumesky ahumesky converted this from a draft issue Aug 24, 2024
@ahumesky ahumesky added the Roadmap Roadmap Item label Aug 24, 2024
@ahumesky ahumesky self-assigned this Aug 24, 2024
@ahumesky
Copy link
Collaborator Author

ahumesky commented Aug 24, 2024

So far we've Starlarkified these providers:

  • ApkInfo
  • AndroidInstrumentationInfo
  • AndroidNativeLibsInfo
  • AndroidBinaryNativeLibsInfo
  • AndroidLibraryAarInfo
  • AndroidIdlInfo
  • AndroidPreDexJarInfo
  • AndroidCcLinkParamsInfo
  • DataBindingV2Info
  • AndroidLibraryResourceClassJarProvider
  • ProguardMappingInfo
  • BaselineProfileProvider
  • AndroidDexInfo
  • AndroidFeatureFlagSet

Deleted these unused providers:

  • AndroidApplicationResourceInfo
  • AndroidProguardInfo
  • AndroidBinaryData
  • AndroidNeverLinkLibrariesProvider
  • AndroidOptimizedJarInfo
  • AndroidOptimizationInfo

The remaining providers will take a little more time due to internal migrations:

  • AndroidSdkInfo
  • AndroidResourcesInfo
  • AndroidManifestInfo
  • AndroidAssetsInfo
  • AndroidIdeInfo

@ahumesky
Copy link
Collaborator Author

ahumesky commented Sep 6, 2024

These last 5 providers are proving to be somewhat tricky to remove, but hopefully next week they'll be migrated. Also AndroidResourcesInfo, AndroidManifestInfo, AndroidAssetsInfo will be deleted and replaced with StarlarkAndroidResourcesInfo which contain the same information.

Additionally, I'd forgotten about ProguardSpecInfo because it was moved to the Java rules years ago (since java_library needed to be able to contribute proguard specs). We're working on moving that as well. I've also submitted a separate change to "unguard" ProguardSpecInfo behind --experimental_legacy_google_api in case something goes wrong in migrating ProguardSpecInfo, and I'll cherrypick that in bazel 7.4.0

@ahumesky
Copy link
Collaborator Author

ahumesky commented Oct 1, 2024

All the remaining Android providers have been migrated to Starlark, and the native providers (and most of the remaining Android things in Bazel) have been removed in bazelbuild/bazel@32264b0

ProguardspecInfo will take more time because it's in the Java rules, but --experimental_legacy_google_api should not be needed with Bazel 7.4.

@ahumesky
Copy link
Collaborator Author

ahumesky commented Nov 5, 2024

A Starlark version of ProguardSpecInfo is now available in rules_java: bazelbuild/rules_java@f552441, so we'll figure out how to migrate to that. In the meantime as above, with bazel 7.4 --experimental_legacy_google_api is no longer needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Roadmap Roadmap Item
Projects
Status: Done
Development

No branches or pull requests

1 participant