From b11b6a6f2ccfed2359d8e0d9f9d300031d8f925e Mon Sep 17 00:00:00 2001 From: Boris Proshin Date: Tue, 8 Oct 2024 01:06:50 +0300 Subject: [PATCH 1/2] Fix getVersionDescription() to prioritize version tags over non-version tags (#673) * Fix getVersionDescription() to prioritize version tags over non-version tags This fix modifies the getVersionDescription() method to ensure it only considers valid version tags when describing the current version. It retrieves all tags merged into the current branch, filters them based on a version-compatible regex, and uses the most recent valid version tag for description. If no valid tags are found, it falls back to the default description behavior. This resolves the issue of incorrect tags being used when multiple tags are present. * Update versioning.ts Rewrote getting the description for the last valid tag using `rev-list` and `rev-parse` * Fix formatting * Revert "dist" This reverts commit bd58cbedf7e9f6928ab3b7ca6dd858622c5c1f13. * Revert "dist" This reverts commit bd58cbedf7e9f6928ab3b7ca6dd858622c5c1f13. --- dist/index.js | Bin 22303572 -> 22304244 bytes dist/index.js.map | Bin 14784413 -> 14785146 bytes src/model/versioning.ts | 16 +++++++++++++++- 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/dist/index.js b/dist/index.js index ea151c67a187477aceda8e5c55cc091164df72c1..ff6bad6f5ed7070bb782c9cc3a033c55c348b41e 100644 GIT binary patch delta 1936 zcmZwHc~}%>9Ki91V*mm1KtYjXRCE_%S5!O@0g*!#L_wgCR#=y1*<5yMX8?^zD@w}> z>~QS9?XV)t?!peTLrW<;EIaJJPwl?GKhfvu>2aUu^L=LKd7s}q^Zv01whe?I***}y zzAKXdU(dEU{7$>>^EcRar^%LL>?rAuHCj@`BaIc&eUY(@ zQnPbZud`jPaJmZDw3v_WW2`Jvk|I*9x>M85tVuC?E0mZZ-pJU$FEG(auMSeS)G1+^ zrZS(}X7{)o)HbJIbNjq1t2MRJ*XnJss#TiX>rxx-9?vSfW3}4g)Es_yi_S8uQNA@S z-mu%0Tw~+%uqdOaHzIT$@2Kh3gM-+Mk3T+@8?83omKClZ|2ceKO;;Vh=4Q99<+Gc9 z(v$K#+fE!(eR7BAfAc%7RynQuV`u5`wMKe%j)<@JyPM6%=G{tcSg~DelF7!Q8buA( zntXm^Pn{BH9NZfak#Vw-mgJ8AzE!8ib>e}H>Z~^om&PR+YipFD8~SYuLJ*2D3_&;| z5D8fmg<%+u5g3VRjKXNdAQodV7I7GdcqAYZNl-B!6EG3Un1snN!Hg74K`PQV8OXp)%))HUK_=!R3-geT9OPm?@~{B;C_o{Kun@&qgvBU9DVCrNOR)^)sK9bm zq6*bG1*f70D^QEmV8cq(p&oXuf&&e3q7g1M!Hv_g8Xh#m3m;l=2K>;VqZMsv#~Q4~ zndrb-=)~DrhxIrI=i)qc;e1?x4cLeaaS=A*VqAht(TyH##$~u1SKvx)fq|{K3RmMA zT#M^)J#N5_xCuAo7Tk*4uno844%~^mupM{f9^8vw+=m^w9}i$B9>ha<7?0plJch^d z1fE16cHt>Jjc4#I`tclg<9WP*7x5DIU@u!3wKEbE>44>l*e2K5{HNL^O_zvIW2mFYia0Ey3Gk(FZ_zl0~5B!P0 z@HhV1)Nc#uh9poDBng%%k`PI#Bup|y5-y35L`sHAq9ns4!zCjmBPG$2QIgS;7)h*T zjAX1NPBKmsFG-LjN|Ge1WV~d8WTGTlGD$L7Vv?98DUvCYR7sk|BC$%QO423MB-14` zBpH&Kl39}3k~xx0$y`a6WS%5jk|W8L%$MXz7D)0X1(HHZkz}EySh7g6SW+S>l`N5z UNtQ~MNy;S^0lWA|3FtZcFVU-OL;wH) delta 1466 zcmWmES6mGM0EO{iag7EcQj!Ll6)GyFsLVu>T|)NWBO_cw$i7zg&fYtFugKne@3Pl- z9{%6Uc|Y0dnHE{AGcA&gW=3;kE@SQ;hL~7WQkuP$DI?AhY-%~e$=;OM%3ztC5N|*p zCe&qR|x15QFAuftF~6)@Xyah(#RQAs+3~0UeQmPUws-=!$OWjvnZVUg(WJ=!<^n zj{z8nK^Tl77>Z#Sjzo;WNQ}a0Bw-B3VjPSZj|oV|L`=eDq+klBVj5C09WyW!voITT zFc&7w!+b2jLM%cW7GnvPVi}fW1y*7eR$~p;Vjb2a9UHI_o3I&Muoc^|9XqfSyRaL3 zuowHV9|v#{hme88ID(@%hT}MalQ@ObID@k|hx53Ai@1c#$ix*~MHa5%I&R=5Zs9iW z;4bdrJ|5s99^o;b;3=NrIbPr;Ug0&~;4R+aJwD(gKH)RIAR9UOif{OiANYx1_>DjK zi+?Ez@n)$|%#~b9ZpEPFQSvJJl>CZ?VyRdu)=B}TpkkvGQVJ_Y6kDaJQcST^iYxYt zgHl3qR7xsNN-4!zaZy|qH>I>vMsZilD&>^&N(H5&Qc3YpJQXjcvQkBnYAc~im=dnkQR*u7l=?~orJ)j`G*Tj!#!3?e8tsXvW{r6sb|M&j?+7C5Z{_1J6 z9PVmuDJy90ojmx+s`kD?EoDbrdyl6?|Ex*PPP|qvK4vY9kFImX?Tw4AH+njoJ)Log z#~>si5lOHh87UZyAsC8bxCyBkju99ME7C9u>Bzun+>9~EL>96!7PhFTQ*_Ufo-&an z$M4CsBvmMWL%8L#-$hnIKr>AHIAM1>gR1UVeX+W$PI?sQpHoI6}bHeF7Te`nc}Gfc%V+=U{ft`PH8f62;7zFDUkF1hf$unlv#Ow};+ zIpc6llR3q;qv9(Rd3yJSG})1F8@j6}Gf_r<6Uiy|d0|nn1T>#)xgxA%U82&^LVi)J z1OhdRcd78HhF8}jrWOvl>{6LNB}1NS%T1J{`$dsl9qmh%+pq4h2>xl93sl|U9J30y zs2^AuizZab>XA8VLxP%V%nUCNnb)JRPSw?V=Z!e3^BMyG>C)(O#d4{>mX$Ylk1Uu> z*MjoOubEc)N1H7nSu;x&qwYpW*?d)`rWF)07W}4~l?vAnPn0V^xoM9MGo9^!R3mnHspWJ)S{g)aa z89EyunUb_MnDRG}EqpMLZ+phXv@GEYBXbsy2u3dnWQ|J>B_xN^ncfU$G{Q_qn%OL7 zHJbsmo5P&uGPilmYd-T^z=9UCuth9tF^gNmlHue~RAToXvGoGMGryyvgP+GWESeDW zC(2Tmwv1&hXL&1F(MndfidC&QgB{{fhdJC4j&zix9phNXIo=6Q zbdr;u;#8+O-5Jhwmb0DXT<1C81uk@vi(TSUm$}>(#<|i}#+%@3*SOYou6KhQ-Q;Gs znCMowx!oNG-RUlOyT`qT+~}k(<))dcq-V3IB(MyKC z>=mzi&FkLqrngMzVfwieCs>k`@xTX^0Qz3>Nmgp N!=K@pKffv`{RfA(3?Kji diff --git a/src/model/versioning.ts b/src/model/versioning.ts index 38176907..a0ac3675 100644 --- a/src/model/versioning.ts +++ b/src/model/versioning.ts @@ -207,7 +207,21 @@ export default class Versioning { * identifies the current commit. */ static async getVersionDescription() { - return this.git(['describe', '--long', '--tags', '--always', 'HEAD']); + const versionTags = (await this.git(['tag', '--list', '--merged', 'HEAD', '--sort=-creatordate'])) + .split('\n') + .filter((tag) => new RegExp(this.grepCompatibleInputVersionRegex).test(tag)); + + if (versionTags.length === 0) { + core.warning('No valid version tags found. Using fallback description.'); + + return this.git(['describe', '--long', '--tags', '--always', 'HEAD']); + } + + const latestVersionTag = versionTags[0]; + const commitsCount = (await this.git(['rev-list', `${latestVersionTag}..HEAD`, '--count'])).trim(); + const commitHash = (await this.git(['rev-parse', '--short', 'HEAD'])).trim(); + + return `${latestVersionTag}-${commitsCount}-g${commitHash}`; } /** From 83c85328dd491a4268b41f1aae9de279e1fe7be5 Mon Sep 17 00:00:00 2001 From: zdickinsonfugro <78182603+zdickinsonfugro@users.noreply.github.com> Date: Fri, 11 Oct 2024 00:02:39 +1000 Subject: [PATCH 2/2] Removed all instances of interpolated strings from editor scripts so we don't get compiler errors on old versions of .NET in Unity 2018 (#633) Co-authored-by: Zac Co-authored-by: Andrew Kahr <22359829+AndrewKahr@users.noreply.github.com> Co-authored-by: David Finol --- .../Editor/UnityBuilderAction/Builder.cs | 2 +- .../Input/AndroidSettings.cs | 6 +++--- .../Input/ArgumentsParser.cs | 18 ++++++++--------- .../Reporting/CompileListener.cs | 2 +- .../Reporting/StdOutReporter.cs | 20 +++++++++---------- .../UnityBuilderAction/Versioning/Git.cs | 4 ++-- 6 files changed, 26 insertions(+), 26 deletions(-) diff --git a/dist/default-build-script/Assets/Editor/UnityBuilderAction/Builder.cs b/dist/default-build-script/Assets/Editor/UnityBuilderAction/Builder.cs index d7cba912..453dd1f4 100644 --- a/dist/default-build-script/Assets/Editor/UnityBuilderAction/Builder.cs +++ b/dist/default-build-script/Assets/Editor/UnityBuilderAction/Builder.cs @@ -74,7 +74,7 @@ namespace UnityBuilderAction } catch (Exception e) { - Debug.LogError($"Failed to run default addressables build:\n{e}"); + Debug.LogError("Failed to run default addressables build:\n" + e); } } diff --git a/dist/default-build-script/Assets/Editor/UnityBuilderAction/Input/AndroidSettings.cs b/dist/default-build-script/Assets/Editor/UnityBuilderAction/Input/AndroidSettings.cs index 2682f956..06aad4f2 100644 --- a/dist/default-build-script/Assets/Editor/UnityBuilderAction/Input/AndroidSettings.cs +++ b/dist/default-build-script/Assets/Editor/UnityBuilderAction/Input/AndroidSettings.cs @@ -56,17 +56,17 @@ namespace UnityBuilderAction.Input case "androidStudioProject": EditorUserBuildSettings.exportAsGoogleAndroidProject = true; if (buildAppBundle != null) - buildAppBundle.SetValue(null, false); + buildAppBundle.SetValue(null, false, null); break; case "androidAppBundle": EditorUserBuildSettings.exportAsGoogleAndroidProject = false; if (buildAppBundle != null) - buildAppBundle.SetValue(null, true); + buildAppBundle.SetValue(null, true, null); break; case "androidPackage": EditorUserBuildSettings.exportAsGoogleAndroidProject = false; if (buildAppBundle != null) - buildAppBundle.SetValue(null, false); + buildAppBundle.SetValue(null, false, null); break; } } diff --git a/dist/default-build-script/Assets/Editor/UnityBuilderAction/Input/ArgumentsParser.cs b/dist/default-build-script/Assets/Editor/UnityBuilderAction/Input/ArgumentsParser.cs index 5beeb8df..058d31b7 100644 --- a/dist/default-build-script/Assets/Editor/UnityBuilderAction/Input/ArgumentsParser.cs +++ b/dist/default-build-script/Assets/Editor/UnityBuilderAction/Input/ArgumentsParser.cs @@ -28,7 +28,7 @@ namespace UnityBuilderAction.Input } if (!Enum.IsDefined(typeof(BuildTarget), buildTarget)) { - Console.WriteLine($"{buildTarget} is not a defined {nameof(BuildTarget)}"); + Console.WriteLine(buildTarget + " is not a defined " + typeof(BuildTarget).Name); EditorApplication.Exit(121); } @@ -41,10 +41,10 @@ namespace UnityBuilderAction.Input const string defaultCustomBuildName = "TestBuild"; string customBuildName; if (!validatedOptions.TryGetValue("customBuildName", out customBuildName)) { - Console.WriteLine($"Missing argument -customBuildName, defaulting to {defaultCustomBuildName}."); + Console.WriteLine("Missing argument -customBuildName, defaulting to" + defaultCustomBuildName); validatedOptions.Add("customBuildName", defaultCustomBuildName); } else if (customBuildName == "") { - Console.WriteLine($"Invalid argument -customBuildName, defaulting to {defaultCustomBuildName}."); + Console.WriteLine("Invalid argument -customBuildName, defaulting to" + defaultCustomBuildName); validatedOptions.Add("customBuildName", defaultCustomBuildName); } @@ -57,11 +57,11 @@ namespace UnityBuilderAction.Input string[] args = Environment.GetCommandLineArgs(); Console.WriteLine( - $"{EOL}" + - $"###########################{EOL}" + - $"# Parsing settings #{EOL}" + - $"###########################{EOL}" + - $"{EOL}" + EOL + + "###########################" + EOL + + "# Parsing settings #" + EOL + + "###########################" + EOL + + EOL ); // Extract flags with optional values @@ -78,7 +78,7 @@ namespace UnityBuilderAction.Input string displayValue = secret ? "*HIDDEN*" : "\"" + value + "\""; // Assign - Console.WriteLine($"Found flag \"{flag}\" with value {displayValue}."); + Console.WriteLine("Found flag \"" + flag + "\" with value " + displayValue); providedArguments.Add(flag, value); } } diff --git a/dist/default-build-script/Assets/Editor/UnityBuilderAction/Reporting/CompileListener.cs b/dist/default-build-script/Assets/Editor/UnityBuilderAction/Reporting/CompileListener.cs index 4dc14570..d5e8744d 100644 --- a/dist/default-build-script/Assets/Editor/UnityBuilderAction/Reporting/CompileListener.cs +++ b/dist/default-build-script/Assets/Editor/UnityBuilderAction/Reporting/CompileListener.cs @@ -30,7 +30,7 @@ namespace UnityBuilderAction.Reporting prefix = "error"; break; } - Console.WriteLine($"{Environment.NewLine}::{prefix} ::{condition}{Environment.NewLine}{stackTrace}"); + Console.WriteLine(Environment.NewLine + "::" + prefix + "::" + condition + Environment.NewLine + stackTrace); } } } diff --git a/dist/default-build-script/Assets/Editor/UnityBuilderAction/Reporting/StdOutReporter.cs b/dist/default-build-script/Assets/Editor/UnityBuilderAction/Reporting/StdOutReporter.cs index 027e02f5..18f5c681 100644 --- a/dist/default-build-script/Assets/Editor/UnityBuilderAction/Reporting/StdOutReporter.cs +++ b/dist/default-build-script/Assets/Editor/UnityBuilderAction/Reporting/StdOutReporter.cs @@ -11,16 +11,16 @@ namespace UnityBuilderAction.Reporting public static void ReportSummary(BuildSummary summary) { Console.WriteLine( - $"{EOL}" + - $"###########################{EOL}" + - $"# Build results #{EOL}" + - $"###########################{EOL}" + - $"{EOL}" + - $"Duration: {summary.totalTime.ToString()}{EOL}" + - $"Warnings: {summary.totalWarnings.ToString()}{EOL}" + - $"Errors: {summary.totalErrors.ToString()}{EOL}" + - $"Size: {summary.totalSize.ToString()} bytes{EOL}" + - $"{EOL}" + EOL + + "###########################" + EOL + + "# Build results #" + EOL + + "###########################" + EOL + + EOL + + "Duration: " + summary.totalTime.ToString() + EOL + + "Warnings: " + summary.totalWarnings.ToString() + EOL + + "Errors: " + summary.totalErrors.ToString() + EOL + + "Size: " + summary.totalSize.ToString() + " bytes" + EOL + + EOL ); } diff --git a/dist/default-build-script/Assets/Editor/UnityBuilderAction/Versioning/Git.cs b/dist/default-build-script/Assets/Editor/UnityBuilderAction/Versioning/Git.cs index dbf3c4fa..98c24105 100644 --- a/dist/default-build-script/Assets/Editor/UnityBuilderAction/Versioning/Git.cs +++ b/dist/default-build-script/Assets/Editor/UnityBuilderAction/Versioning/Git.cs @@ -21,11 +21,11 @@ namespace UnityBuilderAction.Versioning version = GetSemanticCommitVersion(); Console.WriteLine("Repository has a valid version tag."); } else { - version = $"0.0.{GetTotalNumberOfCommits()}"; + version = "0.0." + GetTotalNumberOfCommits(); Console.WriteLine("Repository does not have tags to base the version on."); } - Console.WriteLine($"Version is {version}"); + Console.WriteLine("Version is " + version); return version; }