MCPcopy Create free account
hub / github.com/apache/solr / ReleaseState

Class ReleaseState

dev-tools/scripts/releaseWizard.py:311–714  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

309
310
311class ReleaseState:
312 def __init__(self, config_path, release_version, script_version):
313 self.script_version = script_version
314 self.config_path = config_path
315 self.todo_groups = None
316 self.todos = None
317 self.latest_version = None
318 self.previous_rcs = {}
319 self.rc_number = 1
320 self.start_date = unix_time_millis(datetime.now(UTC))
321 self.script_branch = run("git rev-parse --abbrev-ref HEAD").strip()
322 self.mirrored_versions = None
323 try:
324 self.script_branch_type = scriptutil.find_branch_type()
325 except:
326 print("WARNING: This script shold (ideally) run from the release branch, not a feature branch (%s)" % self.script_branch)
327 self.script_branch_type = 'feature'
328 self.set_release_version(release_version)
329 self.set_latest_version()
330 self.set_latest_lts_version()
331
332
333 def set_release_version(self, version):
334 self.validate_release_version(self.script_branch_type, self.script_branch, version)
335 self.release_version = version
336 v = Version.parse(version)
337 self.release_version_major = v.major
338 self.release_version_minor = v.minor
339 self.release_version_bugfix = v.bugfix
340 self.release_branch = "branch_%s_%s" % (v.major, v.minor)
341 if v.is_major_release():
342 self.release_type = 'major'
343 elif v.is_minor_release():
344 self.release_type = 'minor'
345 else:
346 self.release_type = 'bugfix'
347
348 def is_released(self):
349 return self.get_todo_by_id('announce_solr').is_done()
350
351 def get_gpg_key(self):
352 gpg_task = self.get_todo_by_id('gpg')
353 if gpg_task.is_done():
354 return gpg_task.get_state()['gpg_key']
355 else:
356 return None
357
358 def get_release_date(self):
359 publish_task = self.get_todo_by_id('publish_maven')
360 if publish_task.is_done():
361 return unix_to_datetime(publish_task.get_state()['done_date'])
362 else:
363 return None
364
365 def get_release_date_iso(self):
366 release_date = self.get_release_date()
367 if release_date is None:
368 return "yyyy-mm-dd"

Callers 1

mainFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…