aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar halcanary <halcanary@google.com>2016-03-29 09:09:29 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-03-29 09:09:29 -0700
commitffe54004b92f84b65ee4569aaccbc178c51b017f (patch)
tree9d977d6b9c269bdf87d468300c7fead4ed03959c
parent9d524f22bfde5dc3dc8f48e1be39bdebd3bb0304 (diff)
SkPDF: milestone in metadata, also SkMilestone.h
-rw-r--r--include/core/SkMilestone.h9
-rw-r--r--src/pdf/SkPDFMetadata.cpp9
-rw-r--r--tests/PDFMetadataAttributeTest.cpp2
-rwxr-xr-xtools/milestone.py46
4 files changed, 64 insertions, 2 deletions
diff --git a/include/core/SkMilestone.h b/include/core/SkMilestone.h
new file mode 100644
index 0000000000..1b93a7b84d
--- /dev/null
+++ b/include/core/SkMilestone.h
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2016 Google Inc.
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+#ifndef SK_MILESTONE
+#define SK_MILESTONE 51
+#endif
diff --git a/src/pdf/SkPDFMetadata.cpp b/src/pdf/SkPDFMetadata.cpp
index 118cda39fe..addec4f01d 100644
--- a/src/pdf/SkPDFMetadata.cpp
+++ b/src/pdf/SkPDFMetadata.cpp
@@ -5,6 +5,7 @@
* found in the LICENSE file.
*/
+#include "SkMilestone.h"
#include "SkPDFMetadata.h"
#include "SkPDFTypes.h"
#include <utility>
@@ -27,6 +28,9 @@ static SkString pdf_date(const SkTime::DateTime& dt) {
timeZoneMinutes);
}
+#define SKPDF_STRING(X) SKPDF_STRING_IMPL(X)
+#define SKPDF_STRING_IMPL(X) #X
+
SkPDFObject* SkPDFMetadata::createDocumentInformationDict() const {
auto dict = sk_make_sp<SkPDFDict>();
static const char* keys[] = {
@@ -38,7 +42,7 @@ SkPDFObject* SkPDFMetadata::createDocumentInformationDict() const {
}
}
}
- dict->insertString("Producer", "Skia/PDF");
+ dict->insertString("Producer", "Skia/PDF m" SKPDF_STRING(SK_MILESTONE));
if (fCreation) {
dict->insertString("CreationDate", pdf_date(*fCreation.get()));
}
@@ -48,6 +52,9 @@ SkPDFObject* SkPDFMetadata::createDocumentInformationDict() const {
return dict.release();
}
+#undef SKPDF_STRING
+#undef SKPDF_STRING_IMPL
+
#ifdef SK_PDF_GENERATE_PDFA
SkPDFMetadata::UUID SkPDFMetadata::uuid() const {
// The main requirement is for the UUID to be unique; the exact
diff --git a/tests/PDFMetadataAttributeTest.cpp b/tests/PDFMetadataAttributeTest.cpp
index bfc2b41fa0..6a5aca76f7 100644
--- a/tests/PDFMetadataAttributeTest.cpp
+++ b/tests/PDFMetadataAttributeTest.cpp
@@ -34,7 +34,7 @@ DEF_TEST(SkPDF_MetadataAttribute, r) {
"/Subject (A3)",
"/Keywords (A4)",
"/Creator (A5)",
- "/Producer (Skia/PDF)",
+ "/Producer (Skia/PDF ",
"/CreationDate (D:",
"/ModDate (D:"
};
diff --git a/tools/milestone.py b/tools/milestone.py
new file mode 100755
index 0000000000..2577277f10
--- /dev/null
+++ b/tools/milestone.py
@@ -0,0 +1,46 @@
+#!/usr/bin/env python
+# Copyright 2016 Google Inc.
+#
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import os
+import sys
+
+milestone_file = 'include/core/SkMilestone.h'
+
+usage = '''
+usage:
+ git fetch
+ git checkout -b change_milestone origin/master
+ python %s MILESTONE_NUMBER
+ git add %s
+ git commit -m "Update Skia milestone."
+ git cl land
+
+'''
+try:
+ milestone = int(sys.argv[1])
+ assert milestone > 0
+except (IndexError, ValueError, AssertionError):
+ sys.stderr.write(usage % (sys.argv[0], milestone_file))
+ exit(1)
+
+text = '''/*
+ * Copyright 2016 Google Inc.
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+#ifndef SK_MILESTONE
+#define SK_MILESTONE %d
+#endif
+'''
+
+os.chdir(os.path.join(os.path.dirname(__file__), os.pardir))
+
+with open(milestone_file, 'w') as o:
+ o.write(text % milestone)
+
+with open(milestone_file, 'r') as f:
+ sys.stdout.write(f.read())