sentry-fastlane-plugin icon indicating copy to clipboard operation
sentry-fastlane-plugin copied to clipboard

Allow manually specifying application id, version name and code

Open lwasyl opened this issue 3 years ago • 7 comments

Sentry CLI allows uploading proguard mappings by specifying application id, version name and version code manually, without pointing it to manifest file. This request is to provide the same configuration in Sentry Fastlane plugin, such that I can write

sentry_upload_proguard(
  auth_token: 'my_token', 
  org_slug: 'my_org',
  project_slug: 'my_project',
  app_id: 'com.my.app.id',
  app_version_code: 21,
  app_version_name: "3.7"
  mapping_path: 'build.proguard.txt',
)

lwasyl avatar Mar 16 '21 15:03 lwasyl

@lwasyl Do you use Sentry Android Gradle Plugin? If not, why?

bruno-garcia avatar Mar 19 '21 03:03 bruno-garcia

@bruno-garcia I am but it's not working as expected supposedly due to https://github.com/getsentry/sentry-android-gradle-plugin/issues/37. All I know is for now our release has no proguard mappings even though the plugin was applied correctly.

Other than that as a principle I'm trying to avoid Gradle plugins for things that can be easily done without it. I already spent some time understanding how Sentry matches Proguard mappings and the entire thing is needlessly convoluted for the simple use case: every release version has its unique mapping file. I opened https://github.com/getsentry/sentry-java/issues/1333 and I'd have much higher confidence in having Proguard work with those simple pieces:

  • attaching stable proguard mapping ID generated from application ID and version code, without generating any properties files as these values are easily retrieved in runtime
  • uploading proguard mapping with the same ID during the release process, where we also know application ID and version code because we're just making a release so we need to know both

And I just realized that my request is wrong. I don't need to specify version code and version name, I need to specify proguard mapping ID (which sentry-cli also allows):

sentry_upload_proguard(
  auth_token: 'my_token', 
  org_slug: 'my_org',
  project_slug: 'my_project',
  app_id: 'com.my.app.id',
  mapping_uuid: 'com.my.app.id-130', # I'd set the same ID in the app
  mapping_path: 'build.proguard.txt',
)

lwasyl avatar Mar 19 '21 09:03 lwasyl

Hey @lwasyl, thanks for explaining why you need this feature. If the sentry-cli supports the UUID for the proguard upload I don't see any reason why we shouldn't support it at well via fastlane. I can't give you an ETA though for this. Please upvote if anybody else wants this feature too.

philipphofmann avatar Mar 19 '21 13:03 philipphofmann

We are also happy to accept PRs if you are motivated @lwasyl ;)

philipphofmann avatar Mar 19 '21 13:03 philipphofmann

Hey @philipphofmann I wasn't motivated but someone was, unfortunately they PR was left ignored for a year and ultimately closed: https://github.com/getsentry/sentry-fastlane-plugin/pull/80

lwasyl avatar Apr 21 '22 07:04 lwasyl

Thanks for pointing that out, @lwasyl. I replied in the PR https://github.com/getsentry/sentry-fastlane-plugin/pull/80#issuecomment-1106423836.

philipphofmann avatar Apr 22 '22 11:04 philipphofmann

This issue has gone three weeks without activity. In another week, I will close it.

But! If you comment or otherwise update it, I will reset the clock, and if you label it Status: Backlog or Status: In Progress, I will leave it alone ... forever!


"A weed is but an unloved flower." ― Ella Wheeler Wilcox 🥀

github-actions[bot] avatar May 14 '22 00:05 github-actions[bot]