Skip to content

Commit 8eb0e92

Browse files
WilliangalvaniES-Alexander
authored andcommitted
scripts: run_parsers: include development versions
Treats the latest ArduPilot code state as a temporary new version, so we have metadata generated for the master branch (if it is configured as a newer major or minor than the existing releases). Co-authored-by: ES-Alexander <sandman.esalexander@gmail.com>
1 parent 3b7fb1a commit 8eb0e92

1 file changed

Lines changed: 15 additions & 0 deletions

File tree

scripts/run_parsers.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,20 @@ def clone_repository(self):
7777
#return git.Repo(self.repository_path)
7878
return git.Repo.clone_from(self.repository_url, self.repository_path)
7979

80+
def tag_latest_versions(self):
81+
''' Creates a VehicleType-Major.Minor.Patch tag from master, for each vehicle type.
82+
83+
The version is extracted from the version.h file in the vehicle's source folder.
84+
'''
85+
for vehicle_type in set(self.valid_name_map.values()):
86+
if not (version := self.get_version_from_source(vehicle_type)):
87+
continue
88+
major, minor, patch = version
89+
try:
90+
self.repository.create_tag(f'{vehicle_type}-{major}.{minor}.{patch}')
91+
except Exception:
92+
pass # If the tag already exists, we are happy
93+
8094
@staticmethod
8195
def get_last_ground_change(repository: git.Repo):
8296
last_commit_date = repository.head.commit.committed_date
@@ -94,6 +108,7 @@ def get_vehicle_prefix(vehicle_type: str):
94108

95109
def run(self):
96110
self.repository = self.clone_repository()
111+
self.tag_latest_versions() # Create temporary/local tags, to include development versions in metadata generation
97112
tag_names = [tag.path[len('refs/tags/'):] for tag in self.repository.tags]
98113
last_ground_change = self.get_last_ground_change(git.Repo(Path(__file__).parent.parent))
99114

0 commit comments

Comments
 (0)