(self, changes_file_path: str, changelog_dir: str)
| 687 | """Handles version enumeration, comparison, and release-date.txt writing.""" |
| 688 | |
| 689 | def __init__(self, changes_file_path: str, changelog_dir: str): |
| 690 | self.changes_file_path = changes_file_path |
| 691 | self.changelog_dir = Path(changelog_dir) |
| 692 | self.parser = ChangesParser(changes_file_path) |
| 693 | |
| 694 | # Fetch release dates from Apache projects JSON |
| 695 | version_dates_raw, _ = ReleaseDate.fetch_release_dates_and_latest() |
| 696 | |
| 697 | # Normalize version keys for consistent lookup (e.g., "3.1" -> "3.1.0") |
| 698 | self.version_dates = {} |
| 699 | for version, date in version_dates_raw.items(): |
| 700 | normalized = self._normalize_version(version) |
| 701 | # Keep the first occurrence (most canonical form) |
| 702 | if normalized not in self.version_dates: |
| 703 | self.version_dates[normalized] = date |
| 704 | |
| 705 | def run(self): |
| 706 | """Execute version comparison and release-date.txt writing.""" |
nothing calls this directly
no test coverage detected