1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- #!/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",
- "src/google/protobuf/compiler/java",
- ]),
- Language("Python", [
- "python",
- "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/protocolbuffers/protobuf/commit/<commit id>")
|