Soy: bump version and use new "??" operator

This is a part of a LSC by the Soy team to converge Soy with TypeScript syntax.

In order to fix this, we will update the Soy version to include the new
"??" syntax and update any pre-existing usage from "?:" to "??". We also
have to update deltemplate to modifiable templates.

Change-Id: I5dff1ea5b2d9025153034812d6ec0f0282e1643e
diff --git a/WORKSPACE b/WORKSPACE
index 0c55d21..b1bedac 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -140,8 +140,8 @@
 
 maven_jar(
     name = "soy",
-    artifact = "com.google.template:soy:2022-07-20",
-    sha1 = "f64eb90da6d91beddf11653865c90f26d26710cf",
+    artifact = "com.google.template:soy:2023-09-13",
+    sha1 = "b88a029df7408c58452f80d6518723f1386d69b5",
 )
 
 FLOGGER_VERS = "0.7.4"
diff --git a/resources/com/google/gitiles/templates/Common.soy b/resources/com/google/gitiles/templates/Common.soy
index c38f727..c5fb238 100644
--- a/resources/com/google/gitiles/templates/Common.soy
+++ b/resources/com/google/gitiles/templates/Common.soy
@@ -49,13 +49,13 @@
       <link rel="stylesheet" type="text/css" href="{$url}">
     {/for}
   {/if}
-  {delcall gitiles.customHeadTagPart variant="$customVariant ?: ''" /}
+  {call customHeadTagPart variant="'' + ($customVariant ?? '')" /}
 
 </head>
 <body class="Site">
   <header class="Site-header">
     <div class="Header">
-      {delcall gitiles.customHeader variant="$customVariant ?: ''" /}
+      {call customHeader variant="'' + ($customVariant ?? '')" /}
 
       {if $menuEntries and length($menuEntries)}
         <div class="Header-menu">
@@ -95,14 +95,14 @@
  * This can be used to include per-project CSS/JS by
  * providing custom variants.
  */
-{deltemplate gitiles.customHeadTagPart}
+{template customHeadTagPart modifiable="true" legacydeltemplatenamespace="gitiles.customHeadTagPart" usevarianttype="string"}
   <!-- default customHeadTagPart -->
-{/deltemplate}
+{/template}
 
 /**
  * Default custom header implementation for Gitiles.
  */
-{deltemplate gitiles.customHeader}
+{template customHeader modifiable="true" legacydeltemplatenamespace="gitiles.customHeader" usevarianttype="string"}
   {@inject SITE_TITLE: string}
 <!-- default customHeader -->
 <div class="Header-title">
@@ -110,44 +110,44 @@
     {$SITE_TITLE}
   {/msg}
 </div>
-{/deltemplate}
+{/template}
 
 /**
  * Footer 'powered by' element
  *
  * Please call this in custom variants as well.
  */
-{deltemplate gitiles.footerPoweredBy}
+{template footerPoweredBy modifiable="true" legacydeltemplatenamespace="gitiles.footerPoweredBy"}
 <span class="Footer-poweredBy">
   Powered by <a href="https://gerrit.googlesource.com/gitiles/">Gitiles</a>
 </span>
-{/deltemplate}
+{/template}
 
 /**
  * Footer format badge
  *
  * You can use this in custom footers as well.
  */
-{deltemplate gitiles.footerFormatBadge}
+{template footerFormatBadge modifiable="true" legacydeltemplatenamespace="gitiles.footerFormatBadge"}
 <span class="Footer-formats">
   <a class="u-monospace Footer-formatsItem" href="?format=TEXT">{msg desc="text format"}txt{/msg}</a>
     {sp}
   <a class="u-monospace Footer-formatsItem" href="?format=JSON">{msg desc="JSON format"}json{/msg}</a>
 </span>
-{/deltemplate}
+{/template}
 
 /**
  * Default Footer
  */
-{deltemplate gitiles.customFooter}
+{template customFooter modifiable="true" legacydeltemplatenamespace="gitiles.customFooter" usevarianttype="string"}
 <!-- default customFooter -->
 <footer class="Site-footer">
   <div class="Footer">
-   {delcall gitiles.footerPoweredBy /}
-   {delcall gitiles.footerFormatBadge /}
+    {call footerPoweredBy /}
+    {call footerFormatBadge /}
   </div>
 </footer>
-{/deltemplate}
+{/template}
 
 /**
  * Main footer.
@@ -159,7 +159,7 @@
   {@param? customVariant: ?}  /** variant name for custom styling. */
     </div> <!-- Container -->
   </div> <!-- Site-content -->
-  {delcall gitiles.customFooter variant="$customVariant ?: ''" /}
+  {call customFooter variant="'' + ($customVariant ?? '')" /}
 </body>
 </html>
 {/template}
diff --git a/resources/com/google/gitiles/templates/Doc.soy b/resources/com/google/gitiles/templates/Doc.soy
index db46994..ac32006 100644
--- a/resources/com/google/gitiles/templates/Doc.soy
+++ b/resources/com/google/gitiles/templates/Doc.soy
@@ -18,14 +18,14 @@
 /**
  * Default Doc Footer
  */
-{deltemplate gitiles.customDocFooter}
+{template customDocFooter modifiable="true" legacydeltemplatenamespace="gitiles.customDocFooter" usevarianttype="string"}
   {@param? sourceUrl: ?}  /** url for source view of the page. */
   {@param? logUrl: ?}  /** url for log history of page. */
   {@param? blameUrl: ?}  /** url for blame of page source. */
 <!-- default customDocFooter -->
 <footer class="Site-footer">
   <div class="Footer">
-    {delcall gitiles.footerPoweredBy /}
+    {call common.footerPoweredBy /}
     <div class="Footer-links">
       {if $sourceUrl}<a class="Footer-link" href="{$sourceUrl}">{msg desc="text for the source link"}source{/msg}</a>{/if}
       {if $logUrl}<a class="Footer-link" href="{$logUrl}">{msg desc="text for the log link"}log{/msg}</a>{/if}
@@ -33,7 +33,7 @@
     </div>
   </div>
 </footer>
-{/deltemplate}
+{/template}
 
 /**
  * Documentation page rendered from markdown.
@@ -59,7 +59,7 @@
   <link rel="stylesheet" type="text/css" href="{$staticUrls.BASE_CSS_URL}" />
   <link rel="stylesheet" type="text/css" href="{$staticUrls.DOC_CSS_URL}" />
   <link rel="stylesheet" type="text/css" href="{$staticUrls.PRETTIFY_CSS_URL}" />
-  {delcall gitiles.customHeadTagPart variant="$customVariant ?: ''" /}
+  {call common.customHeadTagPart variant="'' + ($customVariant ?? '')" /}
 </head>
 <body class="Site">
   <header class="Site-header {if $navbarHtml}Site-header--withNavbar{/if}">
@@ -84,7 +84,7 @@
       </div>
     </div>
   </div>
-  {delcall gitiles.customDocFooter variant="$customVariant ?: ''" /}
+  {call customDocFooter variant="'' + ($customVariant ?? '')" /}
   {if $analyticsId}
     /* From https://developers.google.com/analytics/devguides/collection/analyticsjs/ */
     <script>
diff --git a/resources/com/google/gitiles/templates/LogDetail.soy b/resources/com/google/gitiles/templates/LogDetail.soy
index 23ae8eb..d262364 100644
--- a/resources/com/google/gitiles/templates/LogDetail.soy
+++ b/resources/com/google/gitiles/templates/LogDetail.soy
@@ -62,10 +62,10 @@
  * Wrapper for a single log entry with pretty format and variant.
  */
 {template logEntryWrapper}
-  {@param variant: ?}  /** variant name for log entry template. */
+  {@param variant: string}  /** variant name for log entry template. */
   {@param entry: ?}  /** log entry; see .logEntry. */
 <li class="CommitLog-item CommitLog-item--{$variant}">
-  {delcall gitiles.logEntry variant="$variant ?: 'default'" data="$entry" /}
+  {call logEntry variant="$variant" data="$entry" /}
 </li>
 {/template}
 
@@ -84,7 +84,6 @@
 {/if}
 {/template}
 
-
 /**
  * Single log entry indicating the full log is empty.
  */
@@ -92,11 +91,10 @@
 <li class="CommitLog-item CommitLog-item--empty">{msg desc="informational text for when the log is empty"}No commits.{/msg}</li>
 {/template}
 
-
 /**
  * Single pretty log entry, similar to --pretty=oneline.
  */
-{deltemplate gitiles.logEntry variant="'oneline'"}
+{template oneLineLogEntry visibility="private" modifies="logEntry" variant="'oneline'"}   
   {@param abbrevSha: ?}  /** abbreviated SHA-1. */
   {@param sha: ?}  /** commit SHA-1. */
   {@param url: ?}  /** URL to commit detail page. */
@@ -147,13 +145,13 @@
   </span>
 {/if}
 
-{/deltemplate}
+{/template}
 
 
 /**
  * Default single log entry (oneline format).
  */
-{deltemplate gitiles.logEntry variant="'default'"}
+{template logEntry modifiable="true" usevarianttype="string"}  
   {@param abbrevSha: ?}  /** abbreviated SHA-1. */
   {@param sha: ?}  /** commit SHA-1. */
   {@param url: ?}  /** URL to commit detail page. */
@@ -173,14 +171,14 @@
       newPath: the new path after the rename or copy.
       score: the similarity score of the rename or copy.
       */
-{delcall gitiles.logEntry variant="'oneline'" data="all" /}
-{/deltemplate}
+  {call logEntry variant="'oneline'" data="all" /}
+{/template}
 
 
 /**
  * Single pretty log entry, similar to --pretty=full.
  */
-{deltemplate gitiles.logEntry variant="'full'"}
+{template fullLogEntry visibility="private" modifies="logEntry" variant="'full'"}
   {@param abbrevSha: ?}  /** abbreviated SHA-1. */
   {@param sha: ?}  /** commit SHA-1. */
   {@param url: ?}  /** URL to commit detail page. */
@@ -262,4 +260,4 @@
 <pre class="u-pre u-monospace MetadataMessage">
   {$message}
 </pre>
-{/deltemplate}
+{/template}