diff --git a/sourcesage/cli.py b/sourcesage/cli.py index 759c8ae..886c4a7 100644 --- a/sourcesage/cli.py +++ b/sourcesage/cli.py @@ -18,11 +18,11 @@ def main(): parser = argparse.ArgumentParser(description='SourceSage CLI') - parser.add_argument('--config', help='Path to the configuration file', default='sourcesage.yml') - parser.add_argument('--output', help='Output directory for generated files', default='./') - parser.add_argument('--repo', help='Path to the repository', default='./') - parser.add_argument('--owner', help='Owner of the repository', default='Sunwood-ai-labs') - parser.add_argument('--repository', help='Name of the repository', default='SourceSage') + parser.add_argument('--config', help='設定ファイルへのパス', default='sourcesage.yml') + parser.add_argument('--output', help='生成されたファイルの出力ディレクトリ', default='./') + parser.add_argument('--repo', help='リポジトリへのパス', default='./') + parser.add_argument('--owner', help='リポジトリのオーナー', default='Sunwood-ai-labs') + parser.add_argument('--repository', help='リポジトリの名前', default='SourceSage') package_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) default_ignore_file = os.path.join(package_root, 'sourcesage', 'config', '.SourceSageignore') @@ -31,22 +31,23 @@ def main(): current_dir_ignore_file = os.path.join(os.getcwd(), '.SourceSageignore') if os.path.exists(current_dir_ignore_file): ignore_file = current_dir_ignore_file - logger.info(f"Using ignore file from current directory: {ignore_file}") + logger.info(f"カレントディレクトリの無視ファイルを使用: {ignore_file}") else: ignore_file = default_ignore_file - logger.info(f"Using default ignore file: {ignore_file}") + logger.info(f"デフォルトの無視ファイルを使用: {ignore_file}") - parser.add_argument('--ignore-file', help='Path to the ignore file', default=ignore_file) - parser.add_argument('--language-map', help='Path to the language map file', default=default_language_map) + parser.add_argument('--ignore-file', help='無視ファイルへのパス', default=ignore_file) + parser.add_argument('--language-map', help='言語マップファイルへのパス', default=default_language_map) # レポート生成用の引数を追加 - parser.add_argument('--repo-path', type=str, default="", help='Path to the git repository') - parser.add_argument('--git-fetch-tags', type=str, nargs='+', default=["git", "fetch", "--tags"], help='Command to fetch git tags') - parser.add_argument('--git-tag-sort', type=str, nargs='+', default=["git", "tag", "--sort=-creatordate"], help='Command to sort git tags') - parser.add_argument('--git-diff-command', type=str, nargs='+', default=["git", "diff"], help='Command to generate git diff') - parser.add_argument('--report-title', type=str, default="Git Diff レポート", help='Title of the Markdown report') - parser.add_argument('--report-sections', type=str, nargs='+', default=["version_comparison", "diff_details"], help='Sections to include in the report') - parser.add_argument('--output-path', type=str, default=".SourceSageAssets/git_diff_report.md", help='Path to save the Markdown report') + parser.add_argument('--repo-path', type=str, default="", help='gitリポジトリへのパス') + parser.add_argument('--git-fetch-tags', type=str, nargs='+', default=["git", "fetch", "--tags"], help='gitタグを取得するコマンド') + parser.add_argument('--git-tag-sort', type=str, nargs='+', default=["git", "tag", "--sort=-creatordate"], help='gitタグをソートするコマンド') + parser.add_argument('--git-diff-command', type=str, nargs='+', default=["git", "diff"], help='git diffを生成するコマンド') + parser.add_argument('--report-title', type=str, default="Git Diff レポート", help='Markdownレポートのタイトル') + parser.add_argument('--report-sections', type=str, nargs='+', default=["version_comparison", "diff_details"], help='レポートに含めるセクション') + parser.add_argument('--output-path', type=str, default=".SourceSageAssets/RELEASE_REPORT/", help='Markdownレポートの保存先フォルダ') + parser.add_argument('--report-file-name', type=str, default="Report_{latest_tag}.md", help='Markdownレポートのファイル名。{latest_tag}は最新のタグに置換されます。') args = parser.parse_args() @@ -59,7 +60,11 @@ def main(): git_diff_generator = GitDiffGenerator(args.repo_path, args.git_fetch_tags, args.git_tag_sort, args.git_diff_command) diff, latest_tag, previous_tag = git_diff_generator.get_git_diff() - markdown_report_generator = MarkdownReportGenerator(diff, latest_tag, previous_tag, args.report_title, args.report_sections, args.output_path) + report_file_name = args.report_file_name.format(latest_tag=latest_tag) + os.makedirs(args.output_path, exist_ok=True) + output_path = os.path.join(args.output_path, report_file_name) + + markdown_report_generator = MarkdownReportGenerator(diff, latest_tag, previous_tag, args.report_title, args.report_sections, output_path) markdown_report_generator.generate_markdown_report() logger.success("プロセスが完了しました。")