[ttssh2-commit] [9439] ツール(svn, git)をデフォルトのインストールパスからも探すようにした

Back to archive index
scmno****@osdn***** scmno****@osdn*****
2021年 9月 22日 (水) 01:07:00 JST


Revision: 9439
          https://osdn.net/projects/ttssh2/scm/svn/commits/9439
Author:   zmatsuo
Date:     2021-09-22 01:07:00 +0900 (Wed, 22 Sep 2021)
Log Message:
-----------
ツール(svn, git)をデフォルトのインストールパスからも探すようにした

- 指定がない時、探したツールを使用する
- 環境変数PATHに設定していなくても実行できるようにした

Modified Paths:
--------------
    trunk/svnrev_perl/readme.md
    trunk/svnrev_perl/svnrev.pl

-------------- next part --------------
Modified: trunk/svnrev_perl/readme.md
===================================================================
--- trunk/svnrev_perl/readme.md	2021-09-20 16:36:20 UTC (rev 9438)
+++ trunk/svnrev_perl/readme.md	2021-09-21 16:07:00 UTC (rev 9439)
@@ -14,9 +14,16 @@
       strawberry perl が buildtools/perl に展開される
   - または、いくつかのメジャーなperlを探して見つければ使用する
   - perl が見つからない場合は svnversion.default.h が使用される
-- svn(又は git)を実行できるようにする
-  - svn が実行できるよう環境変数 PATH を設定する
-  - または、toolinfo.txt にツールのパスを書いておく
+- svn(又は git)をインストールしておく
+  - Windows用svnの例
+    - TortoiseSVN の command line client tools
+      - https://tortoisesvn.net/
+  - Windows用gitの例
+    - git
+      - https://git-scm.com/
+  - 標準的なインストールフォルダから自動的に実行ファイルを探す
+  - 見つからない場合は環境変数 PATH にあるプログラムを実行する
+  - toolinfo.txt にツールのパスを書いておくと優先して使用される
   - ツールが実行できない場合もヘッダファイルは作成される
 
 # ヘッダの作成方法

Modified: trunk/svnrev_perl/svnrev.pl
===================================================================
--- trunk/svnrev_perl/svnrev.pl	2021-09-20 16:36:20 UTC (rev 9438)
+++ trunk/svnrev_perl/svnrev.pl	2021-09-21 16:07:00 UTC (rev 9439)
@@ -37,6 +37,40 @@
 	close($FD);
 }
 
+sub search_svn {
+	my @test_list = (
+		"C:/Program Files/TortoiseSVN/bin/svn.exe",
+		"C:/cygwin64/bin/svn.exe",
+		"C:/cygwin/bin/svn.exe",
+		"/usr/bin/svn.exe"	# msys, cygwin
+		);
+	for (my $i = 0; $i < @test_list; $i++) {
+		my $test = $test_list[$i];
+		if (-e $test) {
+			$svn = $test;
+			return;
+		}
+	}
+}
+
+sub search_git {
+	my @test_list = (
+		"C:/Program Files/Git/bin/git.exe",
+		"C:/cygwin64/bin/git.exe",
+		"C:/cygwin/bin/git.exe",
+		"/usr/bin/git.exe"	# msys, cygwin
+		);
+	for (my $i = 0; $i < @test_list; $i++) {
+		my $test = $test_list[$i];
+		if (-e $test) {
+			$git = $test;
+			return;
+		}
+	}
+}
+
+&search_svn();
+&search_git();
 &read_toolinfo();
 
 GetOptions(
@@ -138,7 +172,16 @@
 }
 local $revision = $svninfo{'Revision'};
 
+if ($verbose != 0) {
+	print "SVNREVISION $revision\n";
+	print "RELEASE $svninfo{'release'}\n";
+	print "BRANCH_NAME $svninfo{'name'}\n";
+}
+
 # output for source(C,C++) header
+if ($verbose != 0) {
+	print "write '$out_header'\n";
+}
 open(my $FD, ">$out_header") || die "error $out_header";
 print $FD "/* $header */\n";
 print $FD "/* #define TT_VERSION_STR \"$version\" check teraterm/common/tt-version.h */\n";
@@ -156,6 +199,9 @@
 close($FD);
 
 # output for bat file
+if ($verbose != 0) {
+	print "write '$out_bat'\n";
+}
 open(my $FD, ">$out_bat") || die "error $out_bat";
 print $FD "\@rem $header\n";
 print $FD "set VERSION=$version\n";
@@ -171,6 +217,9 @@
 
 # output for cmake
 if ($out_cmake ne "") {
+	if ($verbose != 0) {
+		print "write '$out_cmake'\n";
+	}
 	open(my $FD, ">$out_cmake") || die "error $out_cmake";
 	print $FD "# $header\n";
 	print $FD "set(VERSION \"$version\")\n";


ttssh2-commit メーリングリストの案内
Back to archive index