Merge changes I1bc5574a,I827fae73,I78622105 * changes: Convert remaining email templates to Soy Convert change notification email templates to Soy Prefer VTL template overrides to Soy
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/change/ChangeReviewersIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/change/ChangeReviewersIT.java index e853872..b1b3f2a 100644 --- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/change/ChangeReviewersIT.java +++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/change/ChangeReviewersIT.java
@@ -479,7 +479,7 @@ assertThat(m.rcpt()).containsExactly(user.emailAddress, observer.emailAddress); assertThat(m.body()).contains(admin.fullName + " has posted comments on this change."); assertThat(m.body()).contains("Change subject: " + PushOneCommit.SUBJECT + "\n"); - assertThat(m.body()).contains("Patch Set 1: Code-Review+2\n"); + assertThat(m.body()).contains("Patch Set 1: Code-Review+2"); } @Test
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/server/change/CommentsIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/server/change/CommentsIT.java index d9f1a5c..70dafaa 100644 --- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/server/change/CommentsIT.java +++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/server/change/CommentsIT.java
@@ -544,6 +544,7 @@ + "\n" + "PS2, Line 2: nten\n" + "typo: content\n" + + "\n" + "\n"); }
diff --git a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/SitePathInitializer.java b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/SitePathInitializer.java index 5f470a5..978b87c 100644 --- a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/SitePathInitializer.java +++ b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/SitePathInitializer.java
@@ -99,22 +99,21 @@ chmod(0755, site.gerrit_sh); chmod(0700, site.tmp_dir); - extractMailExample("Abandoned.vm"); - extractMailExample("AddKey.vm"); - extractMailExample("ChangeFooter.vm"); - extractMailExample("ChangeSubject.vm"); - extractMailExample("Comment.vm"); - extractMailExample("CommentFooter.vm"); - extractMailExample("DeleteReviewer.vm"); - extractMailExample("DeleteVote.vm"); - extractMailExample("Footer.vm"); - extractMailExample("footer.soy"); - extractMailExample("Merged.vm"); - extractMailExample("NewChange.vm"); - extractMailExample("RegisterNewEmail.vm"); - extractMailExample("ReplacePatchSet.vm"); - extractMailExample("Restored.vm"); - extractMailExample("Reverted.vm"); + extractMailExample("Abandoned.soy"); + extractMailExample("AddKey.soy"); + extractMailExample("ChangeFooter.soy"); + extractMailExample("ChangeSubject.soy"); + extractMailExample("Comment.soy"); + extractMailExample("CommentFooter.soy"); + extractMailExample("DeleteReviewer.soy"); + extractMailExample("DeleteVote.soy"); + extractMailExample("Footer.soy"); + extractMailExample("Merged.soy"); + extractMailExample("NewChange.soy"); + extractMailExample("RegisterNewEmail.soy"); + extractMailExample("ReplacePatchSet.soy"); + extractMailExample("Restored.soy"); + extractMailExample("Reverted.soy"); if (!ui.isBatch()) { System.err.println();
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/mail/AbandonedSender.java b/gerrit-server/src/main/java/com/google/gerrit/server/mail/AbandonedSender.java index 1e8bdf4..eafa74d 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/mail/AbandonedSender.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/mail/AbandonedSender.java
@@ -50,6 +50,6 @@ @Override protected void formatChange() throws EmailException { - appendText(velocifyFile("Abandoned.vm")); + appendText(textTemplate("Abandoned")); } }
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/mail/AddKeySender.java b/gerrit-server/src/main/java/com/google/gerrit/server/mail/AddKeySender.java index 14eb124..3e2d2d7 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/mail/AddKeySender.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/mail/AddKeySender.java
@@ -80,7 +80,7 @@ @Override protected void format() throws EmailException { - appendText(velocifyFile("AddKey.vm")); + appendText(textTemplate("AddKey")); } public String getEmail() {
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/mail/ChangeEmail.java b/gerrit-server/src/main/java/com/google/gerrit/server/mail/ChangeEmail.java index ba9f161..b310feb 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/mail/ChangeEmail.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/mail/ChangeEmail.java
@@ -121,7 +121,7 @@ @Override protected void format() throws EmailException { formatChange(); - appendText(velocifyFile("ChangeFooter.vm")); + appendText(textTemplate("ChangeFooter")); try { TreeSet<String> names = new TreeSet<>(); for (Account.Id who : changeData.reviewers().all()) { @@ -200,7 +200,7 @@ } private void setChangeSubjectHeader() throws EmailException { - setHeader("Subject", velocifyFile("ChangeSubject.vm")); + setHeader("Subject", textTemplate("ChangeSubject")); } /** Get a link to the change; null if the server doesn't know its own address. */ @@ -455,6 +455,16 @@ changeData.put("ownerEmail", getNameEmailFor(change.getOwner())); soyContext.put("change", changeData); + String subject = change.getSubject(); + changeData.put("subject", subject); + // shortSubject is the subject limited to 63 characters, with an ellipsis if + // it exceeds that. + if (subject.length() < 64) { + changeData.put("shortSubject", subject); + } else { + changeData.put("shortSubject", subject.substring(0, 60) + "..."); + } + Map<String, Object> patchSetData = new HashMap<>(); patchSetData.put("patchSetId", patchSet.getPatchSetId()); patchSetData.put("refName", patchSet.getRefName());
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/mail/CommentSender.java b/gerrit-server/src/main/java/com/google/gerrit/server/mail/CommentSender.java index 50377b9..7c9ca7d 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/mail/CommentSender.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/mail/CommentSender.java
@@ -98,12 +98,12 @@ @Override public void formatChange() throws EmailException { - appendText(velocifyFile("Comment.vm")); + appendText(textTemplate("Comment")); } @Override public void formatFooter() throws EmailException { - appendText(velocifyFile("CommentFooter.vm")); + appendText(textTemplate("CommentFooter")); } public boolean hasInlineComments() {
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/mail/DeleteReviewerSender.java b/gerrit-server/src/main/java/com/google/gerrit/server/mail/DeleteReviewerSender.java index 0446555..8a26a10 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/mail/DeleteReviewerSender.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/mail/DeleteReviewerSender.java
@@ -65,7 +65,7 @@ @Override protected void formatChange() throws EmailException { - appendText(velocifyFile("DeleteReviewer.vm")); + appendText(textTemplate("DeleteReviewer")); } public List<String> getReviewerNames() {
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/mail/DeleteVoteSender.java b/gerrit-server/src/main/java/com/google/gerrit/server/mail/DeleteVoteSender.java index d861109..66f8123 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/mail/DeleteVoteSender.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/mail/DeleteVoteSender.java
@@ -49,6 +49,6 @@ @Override protected void formatChange() throws EmailException { - appendText(velocifyFile("DeleteVote.vm")); + appendText(textTemplate("DeleteVote")); } }
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/mail/EmailArguments.java b/gerrit-server/src/main/java/com/google/gerrit/server/mail/EmailArguments.java index 3136aec..71c294b 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/mail/EmailArguments.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/mail/EmailArguments.java
@@ -30,6 +30,7 @@ import com.google.gerrit.server.config.AllProjectsName; import com.google.gerrit.server.config.AnonymousCowardName; import com.google.gerrit.server.config.CanonicalWebUrl; +import com.google.gerrit.server.config.SitePaths; import com.google.gerrit.server.git.GitRepositoryManager; import com.google.gerrit.server.index.account.AccountIndexCollection; import com.google.gerrit.server.notedb.ChangeNotes; @@ -70,6 +71,7 @@ final Provider<String> urlProvider; final AllProjectsName allProjectsName; final List<String> sshAddresses; + final SitePaths site; final ChangeQueryBuilder queryBuilder; final Provider<ReviewDb> db; @@ -105,6 +107,7 @@ @MailTemplates SoyTofu soyTofu, EmailSettings settings, @SshAdvertisedAddresses List<String> sshAddresses, + SitePaths site, DynamicSet<OutgoingEmailValidationListener> outgoingEmailValidationListeners, StarredChangesUtil starredChangesUtil, AccountIndexCollection accountIndexes, @@ -134,6 +137,7 @@ this.soyTofu = soyTofu; this.settings = settings; this.sshAddresses = sshAddresses; + this.site = site; this.outgoingEmailValidationListeners = outgoingEmailValidationListeners; this.starredChangesUtil = starredChangesUtil; this.accountIndexes = accountIndexes;
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/mail/MailSoyTofuProvider.java b/gerrit-server/src/main/java/com/google/gerrit/server/mail/MailSoyTofuProvider.java index a64c184..6b24e48 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/mail/MailSoyTofuProvider.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/mail/MailSoyTofuProvider.java
@@ -36,7 +36,21 @@ // Note: will fail to construct the tofu object if this array is empty. private static final String[] TEMPLATES = { - "footer.soy", + "Abandoned.soy", + "AddKey.soy", + "ChangeSubject.soy", + "ChangeFooter.soy", + "Comment.soy", + "CommentFooter.soy", + "DeleteReviewer.soy", + "DeleteVote.soy", + "Footer.soy", + "Merged.soy", + "NewChange.soy", + "RegisterNewEmail.soy", + "ReplacePatchSet.soy", + "Restored.soy", + "Reverted.soy" }; private final SitePaths site;
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/mail/MergedSender.java b/gerrit-server/src/main/java/com/google/gerrit/server/mail/MergedSender.java index 32fd46e..c2a3cdd 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/mail/MergedSender.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/mail/MergedSender.java
@@ -58,7 +58,7 @@ @Override protected void formatChange() throws EmailException { - appendText(velocifyFile("Merged.vm")); + appendText(textTemplate("Merged")); } public String getApprovals() {
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/mail/NewChangeSender.java b/gerrit-server/src/main/java/com/google/gerrit/server/mail/NewChangeSender.java index c95118d..a7eb0af 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/mail/NewChangeSender.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/mail/NewChangeSender.java
@@ -67,7 +67,7 @@ @Override protected void formatChange() throws EmailException { - appendText(velocifyFile("NewChange.vm")); + appendText(textTemplate("NewChange")); } public List<String> getReviewerNames() {
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/mail/NotificationEmail.java b/gerrit-server/src/main/java/com/google/gerrit/server/mail/NotificationEmail.java index cc51908..85dd800 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/mail/NotificationEmail.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/mail/NotificationEmail.java
@@ -110,7 +110,12 @@ @Override protected void setupSoyContext() { super.setupSoyContext(); - soyContext.put("projectName", branch.getParentKey().get()); + + String projectName = branch.getParentKey().get(); + soyContext.put("projectName", projectName); + // shortProjectName is the project name with the path abbreviated. + soyContext.put("shortProjectName", projectName.replaceAll("/.*/", "...")); + soyContextEmailData.put("sshHost", getSshHost()); Map<String, String> branchData = new HashMap<>();
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/mail/OutgoingEmail.java b/gerrit-server/src/main/java/com/google/gerrit/server/mail/OutgoingEmail.java index 01074f4..be81b2c 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/mail/OutgoingEmail.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/mail/OutgoingEmail.java
@@ -44,6 +44,8 @@ import java.io.StringWriter; import java.net.MalformedURLException; import java.net.URL; +import java.nio.file.Files; +import java.nio.file.Path; import java.util.Collection; import java.util.Date; import java.util.HashMap; @@ -105,7 +107,7 @@ init(); format(); - appendText(velocifyFile("Footer.vm")); + appendText(textTemplate("Footer")); if (shouldSendMessage()) { if (fromId != null) { final Account fromUser = args.accountCache.get(fromId).getAccount(); @@ -487,6 +489,22 @@ .render(); } + /** + * Evaluate the named template according to the following priority: + * 1) Velocity file override, OR... + * 2) Soy file override, OR... + * 3) Soy resource. + */ + protected String textTemplate(String name) throws EmailException { + String velocityName = name + ".vm"; + Path filePath = args.site.mail_dir.resolve(velocityName); + if (Files.isRegularFile(filePath)) { + return velocifyFile(velocityName); + } else { + return soyTextTemplate(name); + } + } + public String joinStrings(Iterable<Object> in, String joiner) { return joinStrings(in.iterator(), joiner); }
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/mail/RegisterNewEmailSender.java b/gerrit-server/src/main/java/com/google/gerrit/server/mail/RegisterNewEmailSender.java index c7231d3..405d9f9 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/mail/RegisterNewEmailSender.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/mail/RegisterNewEmailSender.java
@@ -51,7 +51,7 @@ @Override protected void format() throws EmailException { - appendText(velocifyFile("RegisterNewEmail.vm")); + appendText(textTemplate("RegisterNewEmail")); } public String getUserNameEmail() {
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/mail/ReplacePatchSetSender.java b/gerrit-server/src/main/java/com/google/gerrit/server/mail/ReplacePatchSetSender.java index afa66d9..d86aed3 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/mail/ReplacePatchSetSender.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/mail/ReplacePatchSetSender.java
@@ -72,17 +72,20 @@ @Override protected void formatChange() throws EmailException { - appendText(velocifyFile("ReplacePatchSet.vm")); + appendText(textTemplate("ReplacePatchSet")); } public List<String> getReviewerNames() { - if (reviewers.isEmpty()) { - return null; - } List<String> names = new ArrayList<>(); for (Account.Id id : reviewers) { + if (id.equals(fromId)) { + continue; + } names.add(getNameFor(id)); } + if (names.isEmpty()) { + return null; + } return names; }
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/mail/RestoredSender.java b/gerrit-server/src/main/java/com/google/gerrit/server/mail/RestoredSender.java index d946eb2..5b6d9bc 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/mail/RestoredSender.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/mail/RestoredSender.java
@@ -49,6 +49,6 @@ @Override protected void formatChange() throws EmailException { - appendText(velocifyFile("Restored.vm")); + appendText(textTemplate("Restored")); } }
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/mail/RevertedSender.java b/gerrit-server/src/main/java/com/google/gerrit/server/mail/RevertedSender.java index 2c9c37e..7d1690c 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/mail/RevertedSender.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/mail/RevertedSender.java
@@ -47,6 +47,6 @@ @Override protected void formatChange() throws EmailException { - appendText(velocifyFile("Reverted.vm")); + appendText(textTemplate("Reverted")); } }
diff --git a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/Abandoned.soy b/gerrit-server/src/main/resources/com/google/gerrit/server/mail/Abandoned.soy new file mode 100644 index 0000000..50c5fc3 --- /dev/null +++ b/gerrit-server/src/main/resources/com/google/gerrit/server/mail/Abandoned.soy
@@ -0,0 +1,39 @@ +/** + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +{namespace com.google.gerrit.server.mail.template} + +/** + * .Abandoned template will determine the contents of the email related to a + * change being abandoned. + * @param change + * @param coverLetter + * @param email + * @param fromName + */ +{template .Abandoned autoescape="strict" kind="text"} + {$fromName} has abandoned this change. + {if $email.changeUrl} ( {$email.changeUrl} ){/if}{\n} + {\n} + Change subject: {$change.subject}{\n} + ......................................................................{\n} + {if $coverLetter} + {\n} + {\n} + {$coverLetter} + {\n} + {/if} +{/template}
diff --git a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/Abandoned.vm b/gerrit-server/src/main/resources/com/google/gerrit/server/mail/Abandoned.vm deleted file mode 100644 index accd3b8..0000000 --- a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/Abandoned.vm +++ /dev/null
@@ -1,46 +0,0 @@ -## Copyright (C) 2010 The Android Open Source Project -## -## Licensed under the Apache License, Version 2.0 (the "License"); -## you may not use this file except in compliance with the License. -## You may obtain a copy of the License at -## -## http://www.apache.org/licenses/LICENSE-2.0 -## -## Unless required by applicable law or agreed to in writing, software -## distributed under the License is distributed on an "AS IS" BASIS, -## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -## See the License for the specific language governing permissions and -## limitations under the License. -## -## -## Template Type: -## ------------- -## This is a velocity mail template, see: http://velocity.apache.org and the -## gerrit-docs:config-mail.txt for more info on modifying gerrit mail templates. -## -## Template File Names and extensions: -## ---------------------------------- -## Gerrit will use templates ending in ".vm" but will ignore templates ending -## in ".vm.example". If a .vm template does not exist, the default internal -## gerrit template which is the same as the .vm.example will be used. If you -## want to override the default template, copy the .vm.example file to a .vm -## file and edit it appropriately. -## -## This Template: -## -------------- -## The Abandoned.vm template will determine the contents of the email related -## to a change being abandoned. It is a ChangeEmail: see ChangeSubject.vm and -## ChangeFooter.vm. -## -$fromName has abandoned this change.#** -*##if($email.changeUrl) ( $email.changeUrl )#end - - -Change subject: $change.subject -...................................................................... - - -#if ($coverLetter) -$coverLetter - -#end
diff --git a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/AddKey.soy b/gerrit-server/src/main/resources/com/google/gerrit/server/mail/AddKey.soy new file mode 100644 index 0000000..aa2b27d --- /dev/null +++ b/gerrit-server/src/main/resources/com/google/gerrit/server/mail/AddKey.soy
@@ -0,0 +1,71 @@ +/** + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +{namespace com.google.gerrit.server.mail.template} + +/** + * The .AddKey template will determine the contents of the email related to + * adding a new SSH or GPG key to an account. + * @param email + */ +{template .AddKey autoescape="strict" kind="text"} + One or more new {$email.keyType} keys have been added to Gerrit Code Review at + {sp}{$email.gerritHost}: + + {\n} + {\n} + + {if $email.sshKey} + {$email.sshKey} + {elseif $email.gpgKeys} + {$email.gpgKeys} + {/if} + + {\n} + {\n} + + If this is not expected, please contact your Gerrit Administrators + immediately. + + {\n} + {\n} + + You can also manage your {$email.keyType} keys by visiting + {\n} + {if $email.sshKey} + {$email.gerritUrl}#/settings/ssh-keys + {elseif $email.gpgKeys} + {$email.gerritUrl}#/settings/gpg-keys + {/if} + {\n} + {if $email.userNameEmail} + (while signed in as {$email.userNameEmail}) + {else} + (while signed in as {$email.email}) + {/if} + + {\n} + {\n} + + If clicking the link above does not work, copy and paste the URL in a new + browser window instead. + + {\n} + {\n} + + This is a send-only email address. Replies to this message will not be read + or answered. +{/template} \ No newline at end of file
diff --git a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/AddKey.vm b/gerrit-server/src/main/resources/com/google/gerrit/server/mail/AddKey.vm deleted file mode 100644 index c60ce8b..0000000 --- a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/AddKey.vm +++ /dev/null
@@ -1,61 +0,0 @@ -## Copyright (C) 2015 The Android Open Source Project -## -## Licensed under the Apache License, Version 2.0 (the "License"); -## you may not use this file except in compliance with the License. -## You may obtain a copy of the License at -## -## http://www.apache.org/licenses/LICENSE-2.0 -## -## Unless required by applicable law or agreed to in writing, software -## distributed under the License is distributed on an "AS IS" BASIS, -## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -## See the License for the specific language governing permissions and -## limitations under the License. -## -## -## Template Type: -## ------------- -## This is a velocity mail template, see: http://velocity.apache.org and the -## gerrit-docs:config-mail.txt for more info on modifying gerrit mail templates. -## -## Template File Names and extensions: -## ---------------------------------- -## Gerrit will use templates ending in ".vm" but will ignore templates ending -## in ".vm.example". If a .vm template does not exist, the default internal -## gerrit template which is the same as the .vm.example will be used. If you -## want to override the default template, copy the .vm.example file to a .vm -## file and edit it appropriately. -## -## This Template: -## -------------- -## The AddKey.vm template will determine the contents of the email -## related to adding a new SSH or GPG key to an account. -## -One or more new ${email.keyType} keys have been added to Gerrit Code Review at ${email.gerritHost}: - -#if($email.sshKey) -$email.sshKey -#elseif($email.gpgKeys) -$email.gpgKeys -#end - -If this is not expected, please contact your Gerrit Administrators -immediately. - -You can also manage your ${email.keyType} keys by visiting -#if($email.sshKey) -$email.gerritUrl#/settings/ssh-keys -#elseif($email.gpgKeys) -$email.gerritUrl#/settings/gpg-keys -#end -#if($email.userNameEmail) -(while signed in as $email.userNameEmail) -#else -(while signed in as $email.email) -#end - -If clicking the link above does not work, copy and paste the URL in a -new browser window instead. - -This is a send-only email address. Replies to this message will not -be read or answered.
diff --git a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/ChangeFooter.soy b/gerrit-server/src/main/resources/com/google/gerrit/server/mail/ChangeFooter.soy new file mode 100644 index 0000000..9906dd8d --- /dev/null +++ b/gerrit-server/src/main/resources/com/google/gerrit/server/mail/ChangeFooter.soy
@@ -0,0 +1,52 @@ +/** + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +{namespace com.google.gerrit.server.mail.template} + +/** + * The .ChangeFooter template will determine the contents of the footer text + * that will be appended to ALL emails related to changes. + * @param branch + * @param change + * @param changeId + * @param email + * @param messageClass + * @param patchSet + * @param projectName + */ +{template .ChangeFooter autoescape="strict" kind="text"} + --{sp} + {\n} + + {if $email.changeUrl} + To view, visit {$email.changeUrl}{\n} + {/if} + + {if $email.settingsUrl} + To unsubscribe, visit {$email.settingsUrl}{\n} + {/if} + + {if $email.changeUrl or $email.settingsUrl} + {\n} + {/if} + + Gerrit-MessageType: {$messageClass}{\n} + Gerrit-Change-Id: {$changeId}{\n} + Gerrit-PatchSet: {$patchSet.patchSetId}{\n} + Gerrit-Project: {$projectName}{\n} + Gerrit-Branch: {$branch.shortName}{\n} + Gerrit-Owner: {$change.ownerEmail}{\n} +{/template}
diff --git a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/ChangeFooter.vm b/gerrit-server/src/main/resources/com/google/gerrit/server/mail/ChangeFooter.vm deleted file mode 100644 index f1d3e90..0000000 --- a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/ChangeFooter.vm +++ /dev/null
@@ -1,52 +0,0 @@ -## Copyright (C) 2010 The Android Open Source Project -## -## Licensed under the Apache License, Version 2.0 (the "License"); -## you may not use this file except in compliance with the License. -## You may obtain a copy of the License at -## -## http://www.apache.org/licenses/LICENSE-2.0 -## -## Unless required by applicable law or agreed to in writing, software -## distributed under the License is distributed on an "AS IS" BASIS, -## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -## See the License for the specific language governing permissions and -## limitations under the License. -## -## -## Template Type: -## ------------- -## This is a velocity mail template, see: http://velocity.apache.org and the -## gerrit-docs:config-mail.txt for more info on modifying gerrit mail templates. -## -## Template File Names and extensions: -## ---------------------------------- -## Gerrit will use templates ending in ".vm" but will ignore templates ending -## in ".vm.example". If a .vm template does not exist, the default internal -## gerrit template which is the same as the .vm.example will be used. If you -## want to override the default template, copy the .vm.example file to a .vm -## file and edit it appropriately. -## -## This Template: -## -------------- -## The ChangeFooter.vm template will determine the contents of the footer -## text that will be appended to ALL emails related to changes. -## -#set ($SPACE = " ") ---$SPACE -#if ($email.changeUrl) -To view, visit $email.changeUrl -#set ($notblank = 1) -#end -#if ($email.settingsUrl) -To unsubscribe, visit $email.settingsUrl -#set ($notblank = 1) -#end -#if ($notblank) - -#end -Gerrit-MessageType: $messageClass -Gerrit-Change-Id: $changeId -Gerrit-PatchSet: $patchSet.patchSetId -Gerrit-Project: $projectName -Gerrit-Branch: $branch.shortName -Gerrit-Owner: $email.getNameEmailFor($change.owner)
diff --git a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/footer.soy b/gerrit-server/src/main/resources/com/google/gerrit/server/mail/ChangeSubject.soy similarity index 67% copy from gerrit-server/src/main/resources/com/google/gerrit/server/mail/footer.soy copy to gerrit-server/src/main/resources/com/google/gerrit/server/mail/ChangeSubject.soy index 6800bb7..98de6e7 100644 --- a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/footer.soy +++ b/gerrit-server/src/main/resources/com/google/gerrit/server/mail/ChangeSubject.soy
@@ -12,13 +12,17 @@ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. -*/ + */ + {namespace com.google.gerrit.server.mail.template} /** - * The footer template will determine the contents of the footer text - * appended to the end of all outgoing emails after the ChangeFooter and - * CommentFooter. + * The .ChangeSubject template will determine the contents of the email subject + * line for ALL emails related to changes. + * @param branch + * @param change + * @param shortProjectName */ -{template .footer} +{template .ChangeSubject autoescape="strict" kind="text"} + Change in {$shortProjectName}[{$branch.shortName}]: {$change.shortSubject} {/template}
diff --git a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/ChangeSubject.vm b/gerrit-server/src/main/resources/com/google/gerrit/server/mail/ChangeSubject.vm deleted file mode 100644 index 4fd9a23..0000000 --- a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/ChangeSubject.vm +++ /dev/null
@@ -1,42 +0,0 @@ -## Copyright (C) 2010 The Android Open Source Project -## -## Licensed under the Apache License, Version 2.0 (the "License"); -## you may not use this file except in compliance with the License. -## You may obtain a copy of the License at -## -## http://www.apache.org/licenses/LICENSE-2.0 -## -## Unless required by applicable law or agreed to in writing, software -## distributed under the License is distributed on an "AS IS" BASIS, -## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -## See the License for the specific language governing permissions and -## limitations under the License. -## -## -## Template Type: -## ------------- -## This is a velocity mail template, see: http://velocity.apache.org and the -## gerrit-docs:config-mail.txt for more info on modifying gerrit mail templates. -## -## Template File Names and extensions: -## ---------------------------------- -## Gerrit will use templates ending in ".vm" but will ignore templates ending -## in ".vm.example". If a .vm template does not exist, the default internal -## gerrit template which is the same as the .vm.example will be used. If you -## want to override the default template, copy the .vm.example file to a .vm -## file and edit it appropriately. -## -## This Template: -## -------------- -## The ChangeSubject.vm template will determine the contents of the email -## subject line for ALL emails related to changes. -## -## Optionally $change.originalSubject can be used for the first subject -## in a change. This allows subject based email clients such as GMail -## to thread comments together even if subsequent patch sets change the -## first line of the commit message. -## -#macro(ellipsis $length $str) -#if($str.length() > $length)#set($length = $length - 3)${str.substring(0,$length)}...#else$str#end -#end -Change in ${projectName.replaceAll('/.*/', '...')}[$branch.shortName]: #ellipsis(63, $change.subject)
diff --git a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/Comment.soy b/gerrit-server/src/main/resources/com/google/gerrit/server/mail/Comment.soy new file mode 100644 index 0000000..781d8a0 --- /dev/null +++ b/gerrit-server/src/main/resources/com/google/gerrit/server/mail/Comment.soy
@@ -0,0 +1,46 @@ +/** + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +{namespace com.google.gerrit.server.mail.template} + +/** + * The .Comment template will determine the contents of the email related to a + * user submitting comments on changes. + * @param change + * @param coverLetter + * @param email + * @param fromName + */ +{template .Comment autoescape="strict" kind="text"} + {if $coverLetter or $email.hasInlineComments} + {$fromName} has posted comments on this change. + {if $email.changeUrl} ( {$email.changeUrl} ){/if}{\n} + {\n} + Change subject: {$change.subject}{\n} + ......................................................................{\n} + {if $coverLetter} + {\n} + {\n} + {$coverLetter} + {/if} + {if $email.hasInlineComments} + {\n} + {\n} + {$email.inlineComments} + {/if} + {/if} + {\n} +{/template} \ No newline at end of file
diff --git a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/Comment.vm b/gerrit-server/src/main/resources/com/google/gerrit/server/mail/Comment.vm deleted file mode 100644 index a442311..0000000 --- a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/Comment.vm +++ /dev/null
@@ -1,55 +0,0 @@ -## Copyright (C) 2010 The Android Open Source Project -## -## Licensed under the Apache License, Version 2.0 (the "License"); -## you may not use this file except in compliance with the License. -## You may obtain a copy of the License at -## -## http://www.apache.org/licenses/LICENSE-2.0 -## -## Unless required by applicable law or agreed to in writing, software -## distributed under the License is distributed on an "AS IS" BASIS, -## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -## See the License for the specific language governing permissions and -## limitations under the License. -## -## -## Template Type: -## ------------- -## This is a velocity mail template, see: http://velocity.apache.org and the -## gerrit-docs:config-mail.txt for more info on modifying gerrit mail templates. -## -## Template File Names and extensions: -## ---------------------------------- -## Gerrit will use templates ending in ".vm" but will ignore templates ending -## in ".vm.example". If a .vm template does not exist, the default internal -## gerrit template which is the same as the .vm.example will be used. If you -## want to override the default template, copy the .vm.example file to a .vm -## file and edit it appropriately. -## -## This Template: -## -------------- -## The Comment.vm template will determine the contents of the email related to -## a user submitting comments on changes. It is a ChangeEmail: see -## ChangeSubject.vm, ChangeFooter.vm and CommentFooter.vm. -## -#if ($email.coverLetter || $email.hasInlineComments()) -$fromName has posted comments on this change.#** -*##if($email.changeUrl) ( $email.changeUrl )#end - - -Change subject: $change.subject -...................................................................... - - -#if ($email.coverLetter) -$email.coverLetter - -#end -## -## It is possible to increase the span of the quoted lines by using the line -## count parameter when calling $email.getInlineComments as a function. -## -## Example: #if($email.hasInlineComments())$email.getInlineComments(5)#end -## -#if($email.hasInlineComments())$email.inlineComments#end -#end
diff --git a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/footer.soy b/gerrit-server/src/main/resources/com/google/gerrit/server/mail/CommentFooter.soy similarity index 66% copy from gerrit-server/src/main/resources/com/google/gerrit/server/mail/footer.soy copy to gerrit-server/src/main/resources/com/google/gerrit/server/mail/CommentFooter.soy index 6800bb7..3fcad6b 100644 --- a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/footer.soy +++ b/gerrit-server/src/main/resources/com/google/gerrit/server/mail/CommentFooter.soy
@@ -12,13 +12,20 @@ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. -*/ + */ + {namespace com.google.gerrit.server.mail.template} /** - * The footer template will determine the contents of the footer text - * appended to the end of all outgoing emails after the ChangeFooter and - * CommentFooter. + * The .CommentFooter template will determine the contents of the footer text + * that will be appended to emails related to a user submitting comments on + * changes. + * @param email */ -{template .footer} +{template .CommentFooter autoescape="strict" kind="text"} + {if $email.hasInlineComments} + Gerrit-HasComments: Yes + {else} + Gerrit-HasComments: No + {/if} {/template}
diff --git a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/CommentFooter.vm b/gerrit-server/src/main/resources/com/google/gerrit/server/mail/CommentFooter.vm deleted file mode 100644 index e0832e6..0000000 --- a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/CommentFooter.vm +++ /dev/null
@@ -1,40 +0,0 @@ -## Copyright (C) 2012 The Android Open Source Project -## -## Licensed under the Apache License, Version 2.0 (the "License"); -## you may not use this file except in compliance with the License. -## You may obtain a copy of the License at -## -## http://www.apache.org/licenses/LICENSE-2.0 -## -## Unless required by applicable law or agreed to in writing, software -## distributed under the License is distributed on an "AS IS" BASIS, -## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -## See the License for the specific language governing permissions and -## limitations under the License. -## -## -## Template Type: -## ------------- -## This is a velocity mail template, see: http://velocity.apache.org and the -## gerrit-docs:config-mail.txt for more info on modifying gerrit mail templates. -## -## Template File Names and extensions: -## ---------------------------------- -## Gerrit will use templates ending in ".vm" but will ignore templates ending -## in ".vm.example". If a .vm template does not exist, the default internal -## gerrit template which is the same as the .vm.example will be used. If you -## want to override the default template, copy the .vm.example file to a .vm -## file and edit it appropriately. -## -## This Template: -## -------------- -## The CommentFooter.vm template will determine the contents of the footer -## text that will be appended to emails related to a user submitting comments -## on changes. -## -## See ChangeSubject.vm and ChangeFooter.vm. -#if($email.hasInlineComments()) -Gerrit-HasComments: Yes -#else -Gerrit-HasComments: No -#end
diff --git a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/DeleteReviewer.soy b/gerrit-server/src/main/resources/com/google/gerrit/server/mail/DeleteReviewer.soy new file mode 100644 index 0000000..888ee4b --- /dev/null +++ b/gerrit-server/src/main/resources/com/google/gerrit/server/mail/DeleteReviewer.soy
@@ -0,0 +1,44 @@ +/** + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +{namespace com.google.gerrit.server.mail.template} + +/** + * The .DeleteReviewer template will determine the contents of the email related + * to removal of a reviewer (and the reviewer's votes) from reviews. + * @param change + * @param coverLetter + * @param email + * @param fromName + */ +{template .DeleteReviewer autoescape="strict" kind="text"} + {$fromName} has removed{sp} + {foreach $reviewerName in $email.reviewerNames} + {if not isFirst($reviewerName)},{sp}{/if} + {$reviewerName} + {/foreach}{sp} + from this change.{sp} + {if $email.changeUrl} ( {$email.changeUrl} ){/if}{\n} + {\n} + Change subject: {$change.subject}{\n} + ......................................................................{\n} + {if $coverLetter} + {\n} + {\n} + {$coverLetter} + {\n} + {/if} +{/template} \ No newline at end of file
diff --git a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/DeleteReviewer.vm b/gerrit-server/src/main/resources/com/google/gerrit/server/mail/DeleteReviewer.vm deleted file mode 100644 index 635b716..0000000 --- a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/DeleteReviewer.vm +++ /dev/null
@@ -1,47 +0,0 @@ -## Copyright (C) 2016 The Android Open Source Project -## -## Licensed under the Apache License, Version 2.0 (the "License"); -## you may not use this file except in compliance with the License. -## You may obtain a copy of the License at -## -## http://www.apache.org/licenses/LICENSE-2.0 -## -## Unless required by applicable law or agreed to in writing, software -## distributed under the License is distributed on an "AS IS" BASIS, -## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -## See the License for the specific language governing permissions and -## limitations under the License. -## -## -## Template Type: -## ------------- -## This is a velocity mail template, see: http://velocity.apache.org and the -## gerrit-docs:config-mail.txt for more info on modifying gerrit mail templates. -## -## Template File Names and extensions: -## ---------------------------------- -## Gerrit will use templates ending in ".vm" but will ignore templates ending -## in ".vm.example". If a .vm template does not exist, the default internal -## gerrit template which is the same as the .vm.example will be used. If you -## want to override the default template, copy the .vm.example file to a .vm -## file and edit it appropriately. -## -## This Template: -## -------------- -## The DeleteReviewer.vm template will determine the contents of the email -## related to removal of a reviewer (and the reviewer's votes) from reviews. -## It is a ChangeEmail: see ChangeSubject.vm and ChangeFooter.vm. -## -$fromName has removed $email.joinStrings($email.reviewerNames, ', ') from #** -*#this change.#** -*##if($email.changeUrl) ( $email.changeUrl )#end - - -Change subject: $change.subject -...................................................................... - - -#if ($email.coverLetter) -$email.coverLetter - -#end
diff --git a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/DeleteVote.soy b/gerrit-server/src/main/resources/com/google/gerrit/server/mail/DeleteVote.soy new file mode 100644 index 0000000..b249ded --- /dev/null +++ b/gerrit-server/src/main/resources/com/google/gerrit/server/mail/DeleteVote.soy
@@ -0,0 +1,37 @@ +/** + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +{namespace com.google.gerrit.server.mail.template} + +/** + * The .DeleteVote template will determine the contents of the email related + * to removing votes on changes. + * @param change + * @param coverLetter + * @param fromName + */ +{template .DeleteVote autoescape="strict" kind="text"} + {$fromName} has removed a vote on this change.{\n} + {\n} + Change subject: {$change.subject}{\n} + ......................................................................{\n} + {if $coverLetter} + {\n} + {\n} + {$coverLetter} + {\n} + {/if} +{/template} \ No newline at end of file
diff --git a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/DeleteVote.vm b/gerrit-server/src/main/resources/com/google/gerrit/server/mail/DeleteVote.vm deleted file mode 100644 index 294063e..0000000 --- a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/DeleteVote.vm +++ /dev/null
@@ -1,44 +0,0 @@ -## Copyright (C) 2016 The Android Open Source Project -## -## Licensed under the Apache License, Version 2.0 (the "License"); -## you may not use this file except in compliance with the License. -## You may obtain a copy of the License at -## -## http://www.apache.org/licenses/LICENSE-2.0 -## -## Unless required by applicable law or agreed to in writing, software -## distributed under the License is distributed on an "AS IS" BASIS, -## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -## See the License for the specific language governing permissions and -## limitations under the License. -## -## -## Template Type: -## ------------- -## This is a velocity mail template, see: http://velocity.apache.org and the -## gerrit-docs:config-mail.txt for more info on modifying gerrit mail templates. -## -## Template File Names and extensions: -## ---------------------------------- -## Gerrit will use templates ending in ".vm" but will ignore templates ending -## in ".vm.example". If a .vm template does not exist, the default internal -## gerrit template which is the same as the .vm.example will be used. If you -## want to override the default template, copy the .vm.example file to a .vm -## file and edit it appropriately. -## -## This Template: -## -------------- -## The DeleteVote.vm template will determine the contents of the email related -## to removing votes on changes. It is a ChangeEmail: see ChangeSubject.vm -## and ChangeFooter.vm. -## -$fromName has removed a vote on this change. - -Change subject: $change.subject -...................................................................... - - -#if ($coverLetter) -$coverLetter - -#end
diff --git a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/footer.soy b/gerrit-server/src/main/resources/com/google/gerrit/server/mail/Footer.soy similarity index 89% rename from gerrit-server/src/main/resources/com/google/gerrit/server/mail/footer.soy rename to gerrit-server/src/main/resources/com/google/gerrit/server/mail/Footer.soy index 6800bb7..6467e95 100644 --- a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/footer.soy +++ b/gerrit-server/src/main/resources/com/google/gerrit/server/mail/Footer.soy
@@ -13,12 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + {namespace com.google.gerrit.server.mail.template} /** - * The footer template will determine the contents of the footer text + * The .Footer template will determine the contents of the footer text * appended to the end of all outgoing emails after the ChangeFooter and * CommentFooter. */ -{template .footer} +{template .Footer} {/template}
diff --git a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/Footer.vm b/gerrit-server/src/main/resources/com/google/gerrit/server/mail/Footer.vm deleted file mode 100644 index 28f29fd..0000000 --- a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/Footer.vm +++ /dev/null
@@ -1,33 +0,0 @@ -## Copyright (C) 2013 The Android Open Source Project -## -## Licensed under the Apache License, Version 2.0 (the "License"); -## you may not use this file except in compliance with the License. -## You may obtain a copy of the License at -## -## http://www.apache.org/licenses/LICENSE-2.0 -## -## Unless required by applicable law or agreed to in writing, software -## distributed under the License is distributed on an "AS IS" BASIS, -## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -## See the License for the specific language governing permissions and -## limitations under the License. -## -## -## Template Type: -## ------------- -## This is a velocity mail template, see: http://velocity.apache.org and the -## gerrit-docs:config-mail.txt for more info on modifying gerrit mail templates. -## -## Template File Names and extensions: -## ---------------------------------- -## Gerrit will use templates ending in ".vm" but will ignore templates ending -## in ".vm.example". If a .vm template does not exist, the default internal -## gerrit template which is the same as the .vm.example will be used. If you -## want to override the default template, copy the .vm.example file to a .vm -## file and edit it appropriately. -## -## This Template: -## -------------- -## The Footer.vm template will determine the contents of the footer text -## appended to the end of all outgoing emails after the ChangeFooter and -## CommentFooter.
diff --git a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/Merged.soy b/gerrit-server/src/main/resources/com/google/gerrit/server/mail/Merged.soy new file mode 100644 index 0000000..d483264 --- /dev/null +++ b/gerrit-server/src/main/resources/com/google/gerrit/server/mail/Merged.soy
@@ -0,0 +1,42 @@ + +/** + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +{namespace com.google.gerrit.server.mail.template} + +/** + * The .Merged template will determine the contents of the email related to + * a change successfully merged to the head. + * @param change + * @param email + * @param fromName + */ +{template .Merged autoescape="strict" kind="text"} + {$fromName} has submitted this change and it was merged. + {if $email.changeUrl} ( {$email.changeUrl} ){/if}{\n} + {\n} + Change subject: {$change.subject}{\n} + ......................................................................{\n} + {\n} + {$email.changeDetail} + {$email.approvals} + {if $email.includeDiff} + {\n} + {\n} + {$email.unifiedDiff} + {\n} + {/if} +{/template} \ No newline at end of file
diff --git a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/Merged.vm b/gerrit-server/src/main/resources/com/google/gerrit/server/mail/Merged.vm deleted file mode 100644 index 3e49e92..0000000 --- a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/Merged.vm +++ /dev/null
@@ -1,47 +0,0 @@ -## Copyright (C) 2010 The Android Open Source Project -## -## Licensed under the Apache License, Version 2.0 (the "License"); -## you may not use this file except in compliance with the License. -## You may obtain a copy of the License at -## -## http://www.apache.org/licenses/LICENSE-2.0 -## -## Unless required by applicable law or agreed to in writing, software -## distributed under the License is distributed on an "AS IS" BASIS, -## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -## See the License for the specific language governing permissions and -## limitations under the License. -## -## -## Template Type: -## ------------- -## This is a velocity mail template, see: http://velocity.apache.org and the -## gerrit-docs:config-mail.txt for more info on modifying gerrit mail templates. -## -## Template File Names and extensions: -## ---------------------------------- -## Gerrit will use templates ending in ".vm" but will ignore templates ending -## in ".vm.example". If a .vm template does not exist, the default internal -## gerrit template which is the same as the .vm.example will be used. If you -## want to override the default template, copy the .vm.example file to a .vm -## file and edit it appropriately. -## -## This Template: -## -------------- -## The Merged.vm template will determine the contents of the email related to -## a change successfully merged to the head. It is a ChangeEmail: see -## ChangeSubject.vm and ChangeFooter.vm. -## -$fromName has submitted this change and it was merged.#** -*##if($email.changeUrl) ( $email.changeUrl )#end - - -Change subject: $change.subject -...................................................................... - - -$email.changeDetail$email.approvals - -#if($email.includeDiff) -$email.UnifiedDiff -#end
diff --git a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/NewChange.soy b/gerrit-server/src/main/resources/com/google/gerrit/server/mail/NewChange.soy new file mode 100644 index 0000000..296f625 --- /dev/null +++ b/gerrit-server/src/main/resources/com/google/gerrit/server/mail/NewChange.soy
@@ -0,0 +1,81 @@ +/** + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +{namespace com.google.gerrit.server.mail.template} + +/** + * The .NewChange template will determine the contents of the email related to a + * user submitting a new change for review. + * @param change + * @param email + * @param fromName + * @param patchSet + * @param projectName + */ +{template .NewChange autoescape="strict" kind="text"} + {if $email.reviewerNames} + Hello{sp} + {foreach $reviewerName in $email.reviewerNames} + {if not isFirst($reviewerName)},{sp}{/if} + {$reviewerName} + {/foreach}, + + {\n} + {\n} + + I'd like you to do a code review. + + {if $email.changeUrl} + {sp}Please visit + + {\n} + {\n} + + {sp}{sp}{sp}{sp}{$email.changeUrl} + + {\n} + {\n} + + to review the following change. + {/if} + {else} + {$fromName} has uploaded a new change for review. + {if $email.changeUrl} ( {$email.changeUrl}{/if} + {/if}{\n} + + {\n} + {\n} + + Change subject: {$change.subject}{\n} + ......................................................................{\n} + + {\n} + + {$email.changeDetail}{\n} + + {if $email.sshHost} + {\n} + {sp}{sp}git pull ssh:{print '//'}{$email.sshHost}/{$projectName} + {sp}{$patchSet.refName} + {\n} + {/if} + + {if $email.includeDiff} + {\n} + {$email.unifiedDiff} + {\n} + {/if} +{/template}
diff --git a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/NewChange.vm b/gerrit-server/src/main/resources/com/google/gerrit/server/mail/NewChange.vm deleted file mode 100644 index 8b66e81..0000000 --- a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/NewChange.vm +++ /dev/null
@@ -1,60 +0,0 @@ -## Copyright (C) 2010 The Android Open Source Project -## -## Licensed under the Apache License, Version 2.0 (the "License"); -## you may not use this file except in compliance with the License. -## You may obtain a copy of the License at -## -## http://www.apache.org/licenses/LICENSE-2.0 -## -## Unless required by applicable law or agreed to in writing, software -## distributed under the License is distributed on an "AS IS" BASIS, -## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -## See the License for the specific language governing permissions and -## limitations under the License. -## -## -## Template Type: -## ------------- -## This is a velocity mail template, see: http://velocity.apache.org and the -## gerrit-docs:config-mail.txt for more info on modifying gerrit mail templates. -## -## Template File Names and extensions: -## ---------------------------------- -## Gerrit will use templates ending in ".vm" but will ignore templates ending -## in ".vm.example". If a .vm template does not exist, the default internal -## gerrit template which is the same as the .vm.example will be used. If you -## want to override the default template, copy the .vm.example file to a .vm -## file and edit it appropriately. -## -## This Template: -## -------------- -## The NewChange.vm template will determine the contents of the email related -## to a user submitting a new change for review. It is a ChangeEmail: see -## ChangeSubject.vm and ChangeFooter.vm. -## -#if($email.reviewerNames) -Hello $email.joinStrings($email.reviewerNames, ', '), - -I'd like you to do a code review.#if($email.changeUrl) Please visit - - $email.changeUrl - -to review the following change. -#end -#else -$fromName has uploaded a new change for review.#** -*##if($email.changeUrl) ( $email.changeUrl )#end -#end - - -Change subject: $change.subject -...................................................................... - -$email.changeDetail -#if($email.sshHost) - git pull ssh://$email.sshHost/$projectName $patchSet.refName -#end -#if($email.includeDiff) - -$email.UnifiedDiff -#end
diff --git a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/RegisterNewEmail.soy b/gerrit-server/src/main/resources/com/google/gerrit/server/mail/RegisterNewEmail.soy new file mode 100644 index 0000000..2b30ae6 --- /dev/null +++ b/gerrit-server/src/main/resources/com/google/gerrit/server/mail/RegisterNewEmail.soy
@@ -0,0 +1,54 @@ +/** + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +{namespace com.google.gerrit.server.mail.template} + +/** + * The .RegisterNewEmail template will determine the contents of the email + * related to registering new email accounts. + * @param email + */ +{template .RegisterNewEmail autoescape="strict" kind="text"} + Welcome to Gerrit Code Review at {$email.gerritHost}.{\n} + + {\n} + + To add a verified email address to your user account, please{\n} + click on the following link + {if $email.userNameEmail} + {sp}while signed in as {$email.userNameEmail} + {/if}:{\n} + + {\n} + + {$email.gerritUrl}#/VE/{$email.emailRegistrationToken}{\n} + + {\n} + + If you have received this mail in error, you do not need to take any{\n} + action to cancel the account. The address will not be activated, and{\n} + you will not receive any further emails.{\n} + + {\n} + + If clicking the link above does not work, copy and paste the URL in a{\n} + new browser window instead.{\n} + + {\n} + + This is a send-only email address. Replies to this message will not{\n} + be read or answered.{\n} +{/template}
diff --git a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/RegisterNewEmail.vm b/gerrit-server/src/main/resources/com/google/gerrit/server/mail/RegisterNewEmail.vm deleted file mode 100644 index 7e095fb..0000000 --- a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/RegisterNewEmail.vm +++ /dev/null
@@ -1,49 +0,0 @@ -## Copyright (C) 2010 The Android Open Source Project -## -## Licensed under the Apache License, Version 2.0 (the "License"); -## you may not use this file except in compliance with the License. -## You may obtain a copy of the License at -## -## http://www.apache.org/licenses/LICENSE-2.0 -## -## Unless required by applicable law or agreed to in writing, software -## distributed under the License is distributed on an "AS IS" BASIS, -## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -## See the License for the specific language governing permissions and -## limitations under the License. -## -## -## Template Type: -## ------------- -## This is a velocity mail template, see: http://velocity.apache.org and the -## gerrit-docs:config-mail.txt for more info on modifying gerrit mail templates. -## -## Template File Names and extensions: -## ---------------------------------- -## Gerrit will use templates ending in ".vm" but will ignore templates ending -## in ".vm.example". If a .vm template does not exist, the default internal -## gerrit template which is the same as the .vm.example will be used. If you -## want to override the default template, copy the .vm.example file to a .vm -## file and edit it appropriately. -## -## This Template: -## -------------- -## The RegisterNewEmail.vm template will determine the contents of the email -## related to registering new email accounts. -## -Welcome to Gerrit Code Review at ${email.gerritHost}. - -To add a verified email address to your user account, please -click on the following link#if($email.userNameEmail) while signed in as $email.userNameEmail#end: - -$email.gerritUrl#/VE/$email.emailRegistrationToken - -If you have received this mail in error, you do not need to take any -action to cancel the account. The address will not be activated, and -you will not receive any further emails. - -If clicking the link above does not work, copy and paste the URL in a -new browser window instead. - -This is a send-only email address. Replies to this message will not -be read or answered.
diff --git a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/ReplacePatchSet.soy b/gerrit-server/src/main/resources/com/google/gerrit/server/mail/ReplacePatchSet.soy new file mode 100644 index 0000000..2236725 --- /dev/null +++ b/gerrit-server/src/main/resources/com/google/gerrit/server/mail/ReplacePatchSet.soy
@@ -0,0 +1,59 @@ +/** + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +{namespace com.google.gerrit.server.mail.template} + +/** + * The .ReplacePatchSet template will determine the contents of the email + * related to a user submitting a new patchset for a change. + * @param change + * @param email + * @param fromName + * @param patchSet + * @param projectName + */ +{template .ReplacePatchSet autoescape="strict" kind="text"} + {if $email.reviewerNames} + Hello{sp} + {foreach $reviewerName in $email.reviewerNames} + {$reviewerName},{sp} + {/foreach}{\n} + {\n} + I'd like you to reexamine a change. + {if $email.changeUrl} + {sp}Please visit + {\n} + {\n} + {sp}{sp}{sp}{sp}{$email.changeUrl} + {\n} + {\n} + to look at the new patch set (#{$patchSet.patchSetId}). + {/if} + {else} + {$fromName} has uploaded a new patch set (#{$patchSet.patchSetId}). + {if $email.changeUrl} ( {$email.changeUrl}{/if} + {/if}{\n} + {\n} + Change subject: {$change.subject}{\n} + ......................................................................{\n} + {\n} + {$email.changeDetail}{\n} + {if $email.sshHost} + {sp}{sp}git pull ssh:{print '//'}{$email.sshHost}/{$projectName}{sp} + {$patchSet.refName} + {\n} + {/if} +{/template} \ No newline at end of file
diff --git a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/ReplacePatchSet.vm b/gerrit-server/src/main/resources/com/google/gerrit/server/mail/ReplacePatchSet.vm deleted file mode 100644 index e45bf30..0000000 --- a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/ReplacePatchSet.vm +++ /dev/null
@@ -1,56 +0,0 @@ -## Copyright (C) 2010 The Android Open Source Project -## -## Licensed under the Apache License, Version 2.0 (the "License"); -## you may not use this file except in compliance with the License. -## You may obtain a copy of the License at -## -## http://www.apache.org/licenses/LICENSE-2.0 -## -## Unless required by applicable law or agreed to in writing, software -## distributed under the License is distributed on an "AS IS" BASIS, -## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -## See the License for the specific language governing permissions and -## limitations under the License. -## -## -## Template Type: -## ------------- -## This is a velocity mail template, see: http://velocity.apache.org and the -## gerrit-docs:config-mail.txt for more info on modifying gerrit mail templates. -## -## Template File Names and extensions: -## ---------------------------------- -## Gerrit will use templates ending in ".vm" but will ignore templates ending -## in ".vm.example". If a .vm template does not exist, the default internal -## gerrit template which is the same as the .vm.example will be used. If you -## want to override the default template, copy the .vm.example file to a .vm -## file and edit it appropriately. -## -## This Template: -## -------------- -## The ReplacePatchSet.vm template will determine the contents of the email -## related to a user submitting a new patchset for a change. It is a -## ChangeEmail: see ChangeSubject.vm and ChangeFooter.vm. -## -#if($email.reviewerNames) -Hello $email.joinStrings($email.reviewerNames, ', '), - -I'd like you to reexamine a change.#if($email.changeUrl) Please visit - - $email.changeUrl - -to look at the new patch set (#$patchSet.patchSetId). -#end -#else -$fromName has uploaded a new patch set (#$patchSet.patchSetId).#** -*##if($email.changeUrl) ( $email.changeUrl )#end - -#end - -Change subject: $change.subject -...................................................................... - -$email.changeDetail -#if($email.sshHost) - git pull ssh://$email.sshHost/$projectName $patchSet.refName -#end
diff --git a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/Restored.soy b/gerrit-server/src/main/resources/com/google/gerrit/server/mail/Restored.soy new file mode 100644 index 0000000..14ae0f3 --- /dev/null +++ b/gerrit-server/src/main/resources/com/google/gerrit/server/mail/Restored.soy
@@ -0,0 +1,39 @@ +/** + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +{namespace com.google.gerrit.server.mail.template} + +/** + * The .Restored template will determine the contents of the email related to a + * change being restored. + * @param change + * @param coverLetter + * @param email + * @param fromName + */ +{template .Restored autoescape="strict" kind="text"} + {$fromName} has restored this change. + {if $email.changeUrl} ( {$email.changeUrl} ){/if}{\n} + {\n} + Change subject: {$change.subject}{\n} + ......................................................................{\n} + {if $coverLetter} + {\n} + {\n} + {$coverLetter} + {\n} + {/if} +{/template} \ No newline at end of file
diff --git a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/Restored.vm b/gerrit-server/src/main/resources/com/google/gerrit/server/mail/Restored.vm deleted file mode 100644 index 31e1c69..0000000 --- a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/Restored.vm +++ /dev/null
@@ -1,46 +0,0 @@ -## Copyright (C) 2011 The Android Open Source Project -## -## Licensed under the Apache License, Version 2.0 (the "License"); -## you may not use this file except in compliance with the License. -## You may obtain a copy of the License at -## -## http://www.apache.org/licenses/LICENSE-2.0 -## -## Unless required by applicable law or agreed to in writing, software -## distributed under the License is distributed on an "AS IS" BASIS, -## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -## See the License for the specific language governing permissions and -## limitations under the License. -## -## -## Template Type: -## ------------- -## This is a velocity mail template, see: http://velocity.apache.org and the -## gerrit-docs:config-mail.txt for more info on modifying gerrit mail templates. -## -## Template File Names and extensions: -## ---------------------------------- -## Gerrit will use templates ending in ".vm" but will ignore templates ending -## in ".vm.example". If a .vm template does not exist, the default internal -## gerrit template which is the same as the .vm.example will be used. If you -## want to override the default template, copy the .vm.example file to a .vm -## file and edit it appropriately. -## -## This Template: -## -------------- -## The Restored.vm template will determine the contents of the email related -## to a change being restored. It is a ChangeEmail: see ChangeSubject.vm and -## ChangeFooter.vm. -## -$fromName has restored this change.#** -*##if($email.changeUrl) ( $email.changeUrl )#end - - -Change subject: $change.subject -...................................................................... - - -#if ($coverLetter) -$coverLetter - -#end
diff --git a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/Reverted.soy b/gerrit-server/src/main/resources/com/google/gerrit/server/mail/Reverted.soy new file mode 100644 index 0000000..7f74df9 --- /dev/null +++ b/gerrit-server/src/main/resources/com/google/gerrit/server/mail/Reverted.soy
@@ -0,0 +1,39 @@ +/** + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +{namespace com.google.gerrit.server.mail.template} + +/** + * The .Reverted template will determine the contents of the email related + * to a change being reverted. + * @param change + * @param coverLetter + * @param email + * @param fromName + */ +{template .Reverted autoescape="strict" kind="text"} + {$fromName} has reverted this change. + {if $email.changeUrl} ( {$email.changeUrl} ){/if}{\n} + {\n} + Change subject: {$change.subject}{\n} + ......................................................................{\n} + {if $coverLetter} + {\n} + {\n} + {$coverLetter} + {\n} + {/if} +{/template}
diff --git a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/Reverted.vm b/gerrit-server/src/main/resources/com/google/gerrit/server/mail/Reverted.vm deleted file mode 100644 index 1e9e251..0000000 --- a/gerrit-server/src/main/resources/com/google/gerrit/server/mail/Reverted.vm +++ /dev/null
@@ -1,46 +0,0 @@ -## Copyright (C) 2010 The Android Open Source Project -## -## Licensed under the Apache License, Version 2.0 (the "License"); -## you may not use this file except in compliance with the License. -## You may obtain a copy of the License at -## -## http://www.apache.org/licenses/LICENSE-2.0 -## -## Unless required by applicable law or agreed to in writing, software -## distributed under the License is distributed on an "AS IS" BASIS, -## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -## See the License for the specific language governing permissions and -## limitations under the License. -## -## -## Template Type: -## ------------- -## This is a velocity mail template, see: http://velocity.apache.org and the -## gerrit-docs:config-mail.txt for more info on modifying gerrit mail templates. -## -## Template File Names and extensions: -## ---------------------------------- -## Gerrit will use templates ending in ".vm" but will ignore templates ending -## in ".vm.example". If a .vm template does not exist, the default internal -## gerrit template which is the same as the .vm.example will be used. If you -## want to override the default template, copy the .vm.example file to a .vm -## file and edit it appropriately. -## -## This Template: -## -------------- -## The Reverted.vm template will determine the contents of the email related -## to a change being reverted. It is a ChangeEmail: see ChangeSubject.vm and -## ChangeFooter.vm. -## -$fromName has reverted this change.#** -*##if($email.changeUrl) ( $email.changeUrl )#end - - -Change subject: $change.subject -...................................................................... - - -#if ($coverLetter) -$coverLetter - -#end