Main entry point with command-line argument parsing.
()
| 1107 | |
| 1108 | |
| 1109 | def main(): |
| 1110 | """Main entry point with command-line argument parsing.""" |
| 1111 | parser = argparse.ArgumentParser( |
| 1112 | description="Validate Solr changelog structure across branches", |
| 1113 | ) |
| 1114 | |
| 1115 | parser.add_argument( |
| 1116 | "-r", "--report-file", |
| 1117 | type=Path, |
| 1118 | help="File to write report to (default: stdout)", |
| 1119 | metavar="PATH", |
| 1120 | ) |
| 1121 | |
| 1122 | parser.add_argument( |
| 1123 | "-c", "--changelog-file", |
| 1124 | type=Path, |
| 1125 | help="File to write generated CHANGELOG.md preview to", |
| 1126 | metavar="PATH", |
| 1127 | ) |
| 1128 | |
| 1129 | parser.add_argument( |
| 1130 | "-w", "--work-dir", |
| 1131 | type=Path, |
| 1132 | help="Working directory (default TEMP dir)", |
| 1133 | metavar="PATH", |
| 1134 | ) |
| 1135 | |
| 1136 | parser.add_argument( |
| 1137 | "--fetch-remote", |
| 1138 | action="store_true", |
| 1139 | help="Fetch fresh branch list from remote", |
| 1140 | ) |
| 1141 | |
| 1142 | parser.add_argument( |
| 1143 | "-f", "--format", |
| 1144 | choices=["md", "json"], |
| 1145 | default="md", |
| 1146 | help="Report output format (default: md)", |
| 1147 | ) |
| 1148 | |
| 1149 | parser.add_argument( |
| 1150 | "--skip-sync-check", |
| 1151 | action="store_true", |
| 1152 | help="Skip branch in sync validation", |
| 1153 | ) |
| 1154 | |
| 1155 | parser.add_argument( |
| 1156 | "--check-duplicates", |
| 1157 | action="store_true", |
| 1158 | help="Check for duplicate JIRA issues", |
| 1159 | ) |
| 1160 | |
| 1161 | args = parser.parse_args() |
| 1162 | |
| 1163 | # Create validator with provided options |
| 1164 | validator = ChangelogValidator( |
| 1165 | report_file=args.report_file, |
| 1166 | changelog_file=args.changelog_file, |
no test coverage detected
searching dependent graphs…