123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- #!/usr/bin/env python
- """Generates a friendly list of changes per language since the last release."""
- import sys
- import os
- class Language(object):
- def __init__(self, name, pathspec):
- self.name = name
- self.pathspec = pathspec
- languages = [
- Language("C++", [
- "':(glob)src/google/protobuf/*'",
- "src/google/protobuf/compiler/cpp",
- "src/google/protobuf/io",
- "src/google/protobuf/util",
- "src/google/protobuf/stubs",
- ]),
- Language("Java", [
- "java",
- "javanano",
- "src/google/protobuf/compiler/cpp",
- ]),
- Language("Python", [
- "javanano",
- "src/google/protobuf/compiler/python",
- ]),
- Language("JavaScript", [
- "js",
- "src/google/protobuf/compiler/js",
- ]),
- Language("PHP", [
- "php",
- "src/google/protobuf/compiler/php",
- ]),
- Language("Ruby", [
- "ruby",
- "src/google/protobuf/compiler/ruby",
- ]),
- Language("Csharp", [
- "csharp",
- "src/google/protobuf/compiler/csharp",
- ]),
- Language("Objective C", [
- "objectivec",
- "src/google/protobuf/compiler/objectivec",
- ]),
- ]
- if len(sys.argv) < 2:
- print("Usage: generate_changelog.py <previous release>")
- sys.exit(1)
- previous = sys.argv[1]
- for language in languages:
- print(language.name)
- sys.stdout.flush()
- os.system(("git log --pretty=oneline --abbrev-commit %s...HEAD %s | " +
- "sed -e 's/^/ - /'") % (previous, " ".join(language.pathspec)))
- print("")
- print("To view a commit on GitHub: " +
- "https://github.com/google/protobuf/commit/<commit id>")
|