[ttssh2-commit] [10580] ビルド時 tt-version.h のバージョン情報を元とするよう修正

Back to archive index
scmno****@osdn***** scmno****@osdn*****
2023年 2月 6日 (月) 00:34:48 JST


Revision: 10580
          https://osdn.net/projects/ttssh2/scm/svn/commits/10580
Author:   zmatsuo
Date:     2023-02-06 00:34:47 +0900 (Mon, 06 Feb 2023)
Log Message:
-----------
ビルド時 tt-version.h のバージョン情報を元とするよう修正

- teraterm.iss, svnrev.pl 内にバージョン情報があった
- tt-version.h を元とするようにした
- svnrev.pl
  - tt-version.h からバージョン番号を取得するようにした
- issversion.pl を削除
  - teraterm.iss からバージョン番号を取得するために使用していた
  - tt-version.h のバージョン番号を元とするようにしたため不要となった
- makearchive.bat
  - issversion.pl の使用をやめた
  - svnrev.pl の sourcetree_info.bat を元に出力フォルダを決めるようにした
- release.bat
  - issversion.pl の使用をやめた
- iscc.bat, teraterm.iss
  - インストーラ,zipの作成部分を release.bat から切り出した
  - インストーラ(iscc.exe)に引数でバージョン番号を渡せるようにした

Modified Paths:
--------------
    trunk/buildtools/svnrev/svnrev.pl
    trunk/installer/makearchive.bat
    trunk/installer/release.bat
    trunk/installer/teraterm.iss

Added Paths:
-----------
    trunk/installer/iscc.bat

Removed Paths:
-------------
    trunk/installer/issversion.pl

-------------- next part --------------
Modified: trunk/buildtools/svnrev/svnrev.pl
===================================================================
--- trunk/buildtools/svnrev/svnrev.pl	2023-02-04 15:42:44 UTC (rev 10579)
+++ trunk/buildtools/svnrev/svnrev.pl	2023-02-05 15:34:47 UTC (rev 10580)
@@ -6,10 +6,11 @@
 
 binmode STDOUT, ':encoding(utf8)';
 
-my $tt_version_major = 5;
-my $tt_version_mainor = 0;
-my $tt_version_substr = "beta1";
-my $version = "$tt_version_major.$tt_version_mainor$tt_version_substr";
+my $tt_version_major = 0;
+my $tt_version_minor = 0;
+my $tt_version_substr = "";
+my $tt_version_h = "../../teraterm/common/tt-version.h";
+my $version;
 my $svn = "svn";
 my $git = "git";
 my $out_header = "svnversion.h";
@@ -111,11 +112,9 @@
 sub compare_file {
 	my ($f1, $f2) = @_;
 	if (! -f $f1) {
-		print "$f1 not exsit\n";
 		return 1;
 	}
 	if (! -f $f2) {
-		print "$f2 not exsit\n";
 		return 1;
 	}
 	my $t1 = read_whole_file($f1);
@@ -122,10 +121,8 @@
 	my $t2 = read_whole_file($f2);
 	if ($t1 eq $t2) {
 		# return same
-		print "$f1=$f2\n";
 		return 0;
 	}
-	print "$f1 not equal $f2\n";
 	return 1;
 }
 
@@ -186,6 +183,33 @@
 	close($FD);
 }
 
+sub read_tt_version_h()
+{
+	# ヘッダーファイルがない場合
+	if (! -f $tt_version_h) {
+		printf("no header\n");
+		$tt_version_major = 0;
+		$tt_version_minor = 0;
+		$tt_version_substr = "no_header";
+		return;
+	}
+
+	open(my $FH, '<', $tt_version_h) or die "error open $tt_version_h";
+	while (<$FH>) {
+		if (/#define\s+TT_VERSION_MAJOR\s+(\d+)/) {
+			$tt_version_major = $1;
+		}
+		elsif (/#define\s+TT_VERSION_MINOR\s+(\d+)/) {
+			$tt_version_minor = $1;
+		}
+		elsif (/#define\s+TT_VERSION_SUBSTR\s+\"(.+)\"/) {
+			$tt_version_substr = $1;
+		}
+	}
+	close $FH;
+}
+
+&read_tt_version_h();
 &search_svn();
 &search_git();
 &read_toolinfo();
@@ -206,8 +230,17 @@
 $svn =~ s/"//g;
 $svn =~ s/\\/\//g;
 
+if ($tt_version_substr eq "") {
+	$version = "$tt_version_major.$tt_version_minor";
+} else {
+	$version = "$tt_version_major.$tt_version_minor-$tt_version_substr";
+}
+
 if ($verbose != 0) {
 	print "root=$source_root\n";
+	print "tt_version_major=$tt_version_major\n";
+	print "tt_version_minor=$tt_version_minor\n";
+	print "tt_version_substr=$tt_version_substr\n";
 	print "svn=\"$svn\"\n";
 	print "git=\"$git\"\n";
 	print "header=\"$out_header\"\n";

Added: trunk/installer/iscc.bat
===================================================================
--- trunk/installer/iscc.bat	                        (rev 0)
+++ trunk/installer/iscc.bat	2023-02-05 15:34:47 UTC (rev 10580)
@@ -0,0 +1,30 @@
+ @ rem \x83C\x83\x93\x83X\x83g\x81[\x83\x89,zip\x82\xF0\x8D쐬
+ @ rem   test
+ @ rem     release.bat\x82\xF0\x8E\xC0\x8Ds\x81A
+ @ rem     7. exec cmd.exe \x82\xF0\x91I\x82\xF1\x82ł\xA9\x82\xE7\x8Eg\x97p\x82\xB7\x82\xE9\x82ƁA\x82\xB1\x82\xCCbat\x82\xBE\x82\xAF\x83e\x83X\x83g\x82\xAA\x82ł\xAB\x82܂\xB7
+setlocal
+cd /d %~dp0
+
+if not exist Output mkdir Output
+set TT_VERSION=%VERSION%
+set SNAPSHOT_PORTABLE_OUTPUT="teraterm-%TT_VERSION%-r%SVNVERSION%-%DATE%_%TIME%-%USERNAME%-snapshot"
+if "%RELEASE%" == "1" (
+    pushd Output
+    %CMAKE% -E tar cf teraterm-%TT_VERSION%.zip --format=zip teraterm-%TT_VERSION%/
+    %CMAKE% -E tar cf teraterm-%TT_VERSION%_pdb.zip --format=zip teraterm-%TT_VERSION%_pdb/
+    popd
+    set INNO_SETUP_OPT_VERSION=
+    set INNO_SETUP_OPT_OUTPUT=
+) else (
+    %CMAKE% -E rename snapshot-%DATE%_%TIME% %SNAPSHOT_PORTABLE_OUTPUT%
+    %CMAKE% -E rename snapshot-%DATE%_%TIME%_pdb %SNAPSHOT_PORTABLE_OUTPUT%_pdb
+    %CMAKE% -E tar cf Output/%SNAPSHOT_PORTABLE_OUTPUT%.zip --format=zip %SNAPSHOT_PORTABLE_OUTPUT%
+    %CMAKE% -E tar cf Output/%SNAPSHOT_PORTABLE_OUTPUT%_pdb.zip --format=zip %SNAPSHOT_PORTABLE_OUTPUT%_pdb
+    %CMAKE% -E rename %SNAPSHOT_PORTABLE_OUTPUT% snapshot-%DATE%_%TIME%
+    %CMAKE% -E rename %SNAPSHOT_PORTABLE_OUTPUT%_pdb snapshot-%DATE%_%TIME%_pdb
+    set INNO_SETUP_OPT_VERSION="/DVerSubStr=r%SVNVERSION%-%DATE%_%TIME%"
+    set INNO_SETUP_OPT_OUTPUT="/DOutputSubStr=r%SVNVERSION%-%DATE%_%TIME%-%USERNAME%-snapshot"
+)
+%INNO_SETUP% %INNO_SETUP_OPT_VERSION% /DAppVer=%VERSION% %INNO_SETUP_OPT_OUTPUT% teraterm.iss
+
+endlocal

Deleted: trunk/installer/issversion.pl
===================================================================
--- trunk/installer/issversion.pl	2023-02-04 15:42:44 UTC (rev 10579)
+++ trunk/installer/issversion.pl	2023-02-05 15:34:47 UTC (rev 10580)
@@ -1,14 +0,0 @@
-#!/usr/bin/perl
-
-use strict;
-use warnings;
-use utf8;
-
-open(ISS, '<:crlf:encoding(UTF-8)', 'teraterm.iss');
-while(<ISS>){
-	if (/^#define AppVer "(.+)"$/) {
-		print $1;
-		last;
-	}
-}
-close ISS;

Modified: trunk/installer/makearchive.bat
===================================================================
--- trunk/installer/makearchive.bat	2023-02-04 15:42:44 UTC (rev 10579)
+++ trunk/installer/makearchive.bat	2023-02-05 15:34:47 UTC (rev 10580)
@@ -19,9 +19,7 @@
 
 rem  change folder name
 if not "%release%"=="yes" goto snapshot
-set ver=
-for /f "delims=" %%i in ('perl issversion.pl') do @set ver=%%i
-set dst=Output\teraterm-%ver%
+set dst=Output\teraterm-%VERSION%
 goto create
 
 :snapshot

Modified: trunk/installer/release.bat
===================================================================
--- trunk/installer/release.bat	2023-02-04 15:42:44 UTC (rev 10579)
+++ trunk/installer/release.bat	2023-02-05 15:34:47 UTC (rev 10580)
@@ -99,8 +99,8 @@
 
 setlocal
 cd /d %CUR%
-set TT_VERSION=
-for /f "delims=" %%i in ('perl issversion.pl') do @set TT_VERSION=%%i
+call ..\buildtools\svnrev\svnrev.bat
+call ..\buildtools\svnrev\sourcetree_info.bat
 
 if "%RELEASE%" == "1" (
     call build.bat rebuild
@@ -111,26 +111,7 @@
 ) else (
     call makearchive.bat
 )
-if not exist Output mkdir Output
-set SNAPSHOT_PORTABLE_OUTPUT="teraterm-%TT_VERSION%-r%SVNVERSION%-%DATE%_%TIME%-%USERNAME%-snapshot"
-if "%RELEASE%" == "1" (
-    pushd Output
-    %CMAKE% -E tar cf teraterm-%TT_VERSION%.zip --format=zip teraterm-%TT_VERSION%/
-    %CMAKE% -E tar cf teraterm-%TT_VERSION%_pdb.zip --format=zip teraterm-%TT_VERSION%_pdb/
-    popd
-    set INNO_SETUP_OPT_VERSION=
-    set INNO_SETUP_OPT_OUTPUT=
-) else (
-    %CMAKE% -E rename snapshot-%DATE%_%TIME% %SNAPSHOT_PORTABLE_OUTPUT%
-    %CMAKE% -E rename snapshot-%DATE%_%TIME%_pdb %SNAPSHOT_PORTABLE_OUTPUT%_pdb
-    %CMAKE% -E tar cf Output/%SNAPSHOT_PORTABLE_OUTPUT%.zip --format=zip %SNAPSHOT_PORTABLE_OUTPUT%
-    %CMAKE% -E tar cf Output/%SNAPSHOT_PORTABLE_OUTPUT%_pdb.zip --format=zip %SNAPSHOT_PORTABLE_OUTPUT%_pdb
-    %CMAKE% -E rename %SNAPSHOT_PORTABLE_OUTPUT% snapshot-%DATE%_%TIME%
-    %CMAKE% -E rename %SNAPSHOT_PORTABLE_OUTPUT%_pdb snapshot-%DATE%_%TIME%_pdb
-    set INNO_SETUP_OPT_VERSION="/DVerSubStr=r%SVNVERSION%-%DATE%_%TIME%"
-    set INNO_SETUP_OPT_OUTPUT="/DOutputSubStr=r%SVNVERSION%-%DATE%_%TIME%-%USERNAME%-snapshot"
-)
-%INNO_SETUP% %INNO_SETUP_OPT_VERSION% %INNO_SETUP_OPT_OUTPUT% teraterm.iss
+call iscc.bat
 
 endlocal
 exit /b 0

Modified: trunk/installer/teraterm.iss
===================================================================
--- trunk/installer/teraterm.iss	2023-02-04 15:42:44 UTC (rev 10579)
+++ trunk/installer/teraterm.iss	2023-02-05 15:34:47 UTC (rev 10580)
@@ -1,5 +1,10 @@
-#define AppName "Tera Term"
+
+#define AppName "Tera Term"
+#ifndef AppVer
 #define AppVer "5.0-alpha1"
+#endif
+;#define VerSubStr
+;#define OutputSubStr
 
 [InnoIDE_PreCompile]
 Name: makechm.bat


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