xref: /aosp_15_r20/external/cronet/third_party/protobuf/generate_changelog.py (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1*6777b538SAndroid Build Coastguard Worker#!/usr/bin/env python
2*6777b538SAndroid Build Coastguard Worker
3*6777b538SAndroid Build Coastguard Worker"""Generates a friendly list of changes per language since the last release."""
4*6777b538SAndroid Build Coastguard Worker
5*6777b538SAndroid Build Coastguard Workerimport sys
6*6777b538SAndroid Build Coastguard Workerimport os
7*6777b538SAndroid Build Coastguard Worker
8*6777b538SAndroid Build Coastguard Workerclass Language(object):
9*6777b538SAndroid Build Coastguard Worker  def __init__(self, name, pathspec):
10*6777b538SAndroid Build Coastguard Worker    self.name = name
11*6777b538SAndroid Build Coastguard Worker    self.pathspec = pathspec
12*6777b538SAndroid Build Coastguard Worker
13*6777b538SAndroid Build Coastguard Workerlanguages = [
14*6777b538SAndroid Build Coastguard Worker  Language("C++", [
15*6777b538SAndroid Build Coastguard Worker      "':(glob)src/google/protobuf/*'",
16*6777b538SAndroid Build Coastguard Worker      "src/google/protobuf/compiler/cpp",
17*6777b538SAndroid Build Coastguard Worker      "src/google/protobuf/io",
18*6777b538SAndroid Build Coastguard Worker      "src/google/protobuf/util",
19*6777b538SAndroid Build Coastguard Worker      "src/google/protobuf/stubs",
20*6777b538SAndroid Build Coastguard Worker  ]),
21*6777b538SAndroid Build Coastguard Worker  Language("Java", [
22*6777b538SAndroid Build Coastguard Worker      "java",
23*6777b538SAndroid Build Coastguard Worker      "src/google/protobuf/compiler/java",
24*6777b538SAndroid Build Coastguard Worker  ]),
25*6777b538SAndroid Build Coastguard Worker  Language("Python", [
26*6777b538SAndroid Build Coastguard Worker      "python",
27*6777b538SAndroid Build Coastguard Worker      "src/google/protobuf/compiler/python",
28*6777b538SAndroid Build Coastguard Worker  ]),
29*6777b538SAndroid Build Coastguard Worker  Language("PHP", [
30*6777b538SAndroid Build Coastguard Worker      "php",
31*6777b538SAndroid Build Coastguard Worker      "src/google/protobuf/compiler/php",
32*6777b538SAndroid Build Coastguard Worker  ]),
33*6777b538SAndroid Build Coastguard Worker  Language("Ruby", [
34*6777b538SAndroid Build Coastguard Worker      "ruby",
35*6777b538SAndroid Build Coastguard Worker      "src/google/protobuf/compiler/ruby",
36*6777b538SAndroid Build Coastguard Worker  ]),
37*6777b538SAndroid Build Coastguard Worker  Language("Csharp", [
38*6777b538SAndroid Build Coastguard Worker      "csharp",
39*6777b538SAndroid Build Coastguard Worker      "src/google/protobuf/compiler/csharp",
40*6777b538SAndroid Build Coastguard Worker  ]),
41*6777b538SAndroid Build Coastguard Worker  Language("Objective C", [
42*6777b538SAndroid Build Coastguard Worker      "objectivec",
43*6777b538SAndroid Build Coastguard Worker      "src/google/protobuf/compiler/objectivec",
44*6777b538SAndroid Build Coastguard Worker  ]),
45*6777b538SAndroid Build Coastguard Worker]
46*6777b538SAndroid Build Coastguard Worker
47*6777b538SAndroid Build Coastguard Workerif len(sys.argv) < 2:
48*6777b538SAndroid Build Coastguard Worker  print("Usage: generate_changelog.py <previous release>")
49*6777b538SAndroid Build Coastguard Worker  sys.exit(1)
50*6777b538SAndroid Build Coastguard Worker
51*6777b538SAndroid Build Coastguard Workerprevious = sys.argv[1]
52*6777b538SAndroid Build Coastguard Worker
53*6777b538SAndroid Build Coastguard Workerfor language in languages:
54*6777b538SAndroid Build Coastguard Worker  print(language.name)
55*6777b538SAndroid Build Coastguard Worker  sys.stdout.flush()
56*6777b538SAndroid Build Coastguard Worker  os.system(("git log --pretty=oneline --abbrev-commit %s...HEAD %s | " +
57*6777b538SAndroid Build Coastguard Worker             "sed -e 's/^/ - /'") % (previous, " ".join(language.pathspec)))
58*6777b538SAndroid Build Coastguard Worker  print("")
59*6777b538SAndroid Build Coastguard Worker
60*6777b538SAndroid Build Coastguard Workerprint("To view a commit on GitHub: " +
61*6777b538SAndroid Build Coastguard Worker      "https://github.com/protocolbuffers/protobuf/commit/<commit id>")
62