Skip to content

Commit 07f53e7

Browse files
committed
Move tooling versions out of UpdateData and to respective Android/AppleAppInfoModels.
1 parent 3b2c2d5 commit 07f53e7

File tree

6 files changed

+23
-25
lines changed

6 files changed

+23
-25
lines changed

src/launchpad/api/update_api_models.py

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,11 @@ class PutSizePending(BaseModel):
3737
]
3838

3939

40-
class AppleAppInfo(BaseModel):
40+
class BaseAppInfo(BaseModel):
41+
cli_version: Optional[str] = Field(None, description="sentry-cli version used for uploading")
42+
43+
44+
class AppleAppInfo(BaseAppInfo):
4145
is_simulator: bool
4246
codesigning_type: Optional[str] = None
4347
profile_name: Optional[str] = None
@@ -48,10 +52,16 @@ class AppleAppInfo(BaseModel):
4852
certificate_expiration_date: Optional[str] = None
4953
missing_dsym_binaries: Optional[List[str]] = None
5054
build_date: Optional[str] = None
55+
fastlane_plugin_version: Optional[str] = Field(
56+
None, description="Fastlane plugin version used for uploading"
57+
)
5158

5259

53-
class AndroidAppInfo(BaseModel):
60+
class AndroidAppInfo(BaseAppInfo):
5461
has_proguard_mapping: bool
62+
gradle_plugin_version: Optional[str] = Field(
63+
None, description="Gradle plugin version used for uploading"
64+
)
5565

5666

5767
class UpdateData(BaseModel):
@@ -63,13 +73,6 @@ class UpdateData(BaseModel):
6373
apple_app_info: Optional[AppleAppInfo] = None
6474
android_app_info: Optional[AndroidAppInfo] = None
6575
dequeued_at: Optional[datetime] = Field(None, description="Timestamp when message was dequeued from Kafka")
66-
cli_version: Optional[str] = Field(None, description="sentry-cli version extracted from .sentry-cli-metadata.txt")
67-
fastlane_plugin_version: Optional[str] = Field(
68-
None, description="Fastlane plugin version extracted from .sentry-cli-metadata.txt"
69-
)
70-
gradle_plugin_version: Optional[str] = Field(
71-
None, description="Gradle plugin version extracted from .sentry-cli-metadata.txt"
72-
)
7376

7477
@field_serializer("dequeued_at")
7578
def serialize_datetime(self, dt: datetime | None) -> str | None:

src/launchpad/artifact_processor.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -442,12 +442,16 @@ def _get_artifact_type(artifact: Artifact) -> ArtifactType:
442442
certificate_expiration_date=app_info.certificate_expiration_date,
443443
missing_dsym_binaries=app_info.missing_dsym_binaries,
444444
build_date=app_info.build_date,
445+
cli_version=app_info.cli_version,
446+
fastlane_plugin_version=app_info.fastlane_plugin_version,
445447
)
446448

447449
android_app_info = None
448450
if isinstance(app_info, AndroidAppInfo):
449451
android_app_info = AndroidAppInfoModel(
450452
has_proguard_mapping=app_info.has_proguard_mapping,
453+
cli_version=app_info.cli_version,
454+
gradle_plugin_version=app_info.gradle_plugin_version,
451455
)
452456

453457
update_data = UpdateData(
@@ -459,9 +463,6 @@ def _get_artifact_type(artifact: Artifact) -> ArtifactType:
459463
apple_app_info=apple_app_info,
460464
android_app_info=android_app_info,
461465
dequeued_at=dequeued_at,
462-
cli_version=app_info.cli_version,
463-
fastlane_plugin_version=app_info.fastlane_plugin_version,
464-
gradle_plugin_version=app_info.gradle_plugin_version,
465466
)
466467

467468
return update_data.model_dump(exclude_none=True)

src/launchpad/size/models/android.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ class AndroidAppInfo(BaseAppInfo):
3030
model_config = ConfigDict(frozen=True)
3131

3232
has_proguard_mapping: bool = Field(default=False, description="Whether the app has a proguard mapping file")
33+
gradle_plugin_version: str | None = Field(
34+
None, description="Gradle plugin version used for uploading"
35+
)
3336

3437

3538
class AndroidAnalysisResults(BaseAnalysisResults):

src/launchpad/size/models/apple.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,9 @@ class AppleAppInfo(BaseAppInfo):
7070
missing_dsym_binaries: List[str] = Field(
7171
default_factory=list, description="List of binary names that don't have corresponding dSYM files"
7272
)
73+
fastlane_plugin_version: str | None = Field(
74+
None, description="Fastlane plugin version used for uploading"
75+
)
7376

7477

7578
class AppleInsightResults(BaseModel):

src/launchpad/size/models/common.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,7 @@ class BaseAppInfo(BaseModel):
2828
version: str = Field(..., description="App version")
2929
build: str = Field(..., description="Build number")
3030
app_id: str = Field(..., description="App ID (bundle id on iOS, package name on Android)")
31-
cli_version: str | None = Field(None, description="sentry-cli version extracted from .sentry-cli-metadata.txt")
32-
fastlane_plugin_version: str | None = Field(
33-
None, description="Fastlane plugin version extracted from .sentry-cli-metadata.txt"
34-
)
35-
gradle_plugin_version: str | None = Field(
36-
None, description="Gradle plugin version extracted from .sentry-cli-metadata.txt"
37-
)
31+
cli_version: str | None = Field(None, description="sentry-cli version used for uploading")
3832

3933

4034
class FileAnalysis(BaseModel):

src/launchpad/utils/metadata_extractor.py

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
"""Utility for extracting metadata from .sentry-cli-metadata.txt files in artifacts."""
2-
31
import zipfile
42

53
from pathlib import Path
@@ -23,10 +21,6 @@ def __init__(
2321
self.fastlane_plugin_version = fastlane_plugin_version
2422
self.gradle_plugin_version = gradle_plugin_version
2523

26-
def __repr__(self) -> str:
27-
return f"ToolingMetadata(cli_version={self.cli_version}, fastlane_plugin_version={self.fastlane_plugin_version}, gradle_plugin_version={self.gradle_plugin_version})"
28-
29-
3024
def extract_metadata_from_zip(zip_path: Path) -> ToolingMetadata:
3125
try:
3226
with zipfile.ZipFile(zip_path, "r") as zf:

0 commit comments

Comments
 (0)