Compare commits
No commits in common. "0cdf4b4c9c8e19264509b01c93f9de4b175cf3a0" and "4a23b0b800c61ec764f1fa9492e5b5b9879a0bef" have entirely different histories.
0cdf4b4c9c
...
4a23b0b800
5 changed files with 30 additions and 43 deletions
57
build.py
57
build.py
|
@ -1,29 +1,10 @@
|
||||||
import sys
|
|
||||||
import os
|
|
||||||
from pathlib import Path
|
|
||||||
from ddadevops import *
|
|
||||||
|
|
||||||
# getting the name of the directory
|
|
||||||
# where the this file is present.
|
|
||||||
current = os.path.dirname(os.path.realpath(__file__))
|
|
||||||
|
|
||||||
# adding the current directory to
|
|
||||||
# the sys.path.
|
|
||||||
sys.path.append(current)
|
|
||||||
|
|
||||||
# now we can import the module in the current
|
|
||||||
# directory.
|
|
||||||
|
|
||||||
from pybuilder.core import task, init
|
from pybuilder.core import task, init
|
||||||
from ddadevops import *
|
from ddadevops import *
|
||||||
from release_mixin import ReleaseMixin, create_release_mixin_config
|
from version import *
|
||||||
|
from release_mixin import *
|
||||||
|
|
||||||
CONFIG_FILE = Path('config.json')
|
CONFIG_FILE = ''
|
||||||
MAIN_BRANCH = 'main'
|
MAIN_BRANCH = 'main'
|
||||||
STAGE = 'test'
|
|
||||||
PROJECT_ROOT_PATH = '.'
|
|
||||||
MODULE = 'test'
|
|
||||||
BUILD_DIR_NAME = "build_dir"
|
|
||||||
|
|
||||||
class MyBuild(ReleaseMixin):
|
class MyBuild(ReleaseMixin):
|
||||||
pass
|
pass
|
||||||
|
@ -32,17 +13,33 @@ class MyBuild(ReleaseMixin):
|
||||||
def initialize(project):
|
def initialize(project):
|
||||||
project.build_depends_on('ddadevops>=3.1.2')
|
project.build_depends_on('ddadevops>=3.1.2')
|
||||||
config = create_release_mixin_config(CONFIG_FILE, MAIN_BRANCH)
|
config = create_release_mixin_config(CONFIG_FILE, MAIN_BRANCH)
|
||||||
config.update({'stage': STAGE,
|
|
||||||
'module': MODULE,
|
|
||||||
'project_root_path': PROJECT_ROOT_PATH,
|
|
||||||
'build_dir_name': BUILD_DIR_NAME})
|
|
||||||
build = MyBuild(project, config)
|
build = MyBuild(project, config)
|
||||||
build.initialize_build_dir()
|
build.init()
|
||||||
|
|
||||||
@task
|
@task
|
||||||
def release(project):
|
def release(project):
|
||||||
build = get_devops_build(project)
|
build = get_devops_build(project)
|
||||||
|
|
||||||
build.init_release()
|
prepare_release(build)
|
||||||
build.prepare_release()
|
tag_and_push_release(build)
|
||||||
build.tag_and_push_release()
|
|
||||||
|
prepare_version_bump(build)
|
||||||
|
tag_and_push_version_bump(build)
|
||||||
|
|
||||||
|
def prepare_release(build):
|
||||||
|
release_version = build.release_version
|
||||||
|
build.prepare(release_version)
|
||||||
|
|
||||||
|
def tag_and_push_release(build):
|
||||||
|
release_version = build.release_version
|
||||||
|
build.tag_and_push(release_version)
|
||||||
|
|
||||||
|
def prepare_version_bump(build):
|
||||||
|
bump_version = build.bump_version
|
||||||
|
build.prepare(bump_version)
|
||||||
|
|
||||||
|
def tag_and_push_version_bump(build):
|
||||||
|
bump_version = build.bump_version
|
||||||
|
build.tag_and_push(bump_version)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
{
|
|
||||||
"version": "123.125.1-SNAPSHOT"
|
|
||||||
}
|
|
|
@ -42,28 +42,21 @@ class GitRepository():
|
||||||
|
|
||||||
def tag_annotated(self, annotation: str, message: str):
|
def tag_annotated(self, annotation: str, message: str):
|
||||||
self.system_repository.run_checked('git', 'tag', '-a', annotation, '-m', message)
|
self.system_repository.run_checked('git', 'tag', '-a', annotation, '-m', message)
|
||||||
return self.system_repository.stdout
|
|
||||||
|
|
||||||
def tag_annotated(self, annotation: str, message: str, count: int):
|
def tag_annotated(self, annotation: str, message: str, count: int):
|
||||||
self.system_repository.run_checked('git', 'tag', '-a', annotation, '-m', message, f'HEAD~{count}')
|
self.system_repository.run_checked('git', 'tag', '-a', annotation, '-m', message, f'HEAD~{count}')
|
||||||
return self.system_repository.stdout
|
|
||||||
|
|
||||||
def get_current_branch(self):
|
def get_current_branch(self):
|
||||||
self.system_repository.run_checked('git', 'branch', '--show-current')
|
self.system_repository.run_checked('git', 'branch', '--show-current')
|
||||||
return ''.join(self.system_repository.stdout).rstrip()
|
|
||||||
|
|
||||||
def add_file(self, file_path: Path):
|
def add_file(self, file_path: Path):
|
||||||
self.system_repository.run_checked('git', 'add', file_path)
|
self.system_repository.run_checked('git', 'add', file_path)
|
||||||
return self.system_repository.stdout
|
|
||||||
|
|
||||||
def commit(self, commit_message: str):
|
def commit(self, commit_message: str):
|
||||||
self.system_repository.run_checked('git', 'commit', '-m', commit_message)
|
self.system_repository.run_checked('git', 'commit', '-m', commit_message)
|
||||||
return self.system_repository.stdout
|
|
||||||
|
|
||||||
def push(self):
|
def push(self):
|
||||||
self.system_repository.run_checked('git', 'push')
|
self.system_repository.run_checked('git', 'push')
|
||||||
return self.system_repository.stdout
|
|
||||||
|
|
||||||
def checkout(self, branch: str):
|
def checkout(self, branch: str):
|
||||||
self.system_repository.run_checked('git', 'checkout', branch)
|
self.system_repository.run_checked('git', 'checkout', branch)
|
||||||
return self.system_repository.stdout
|
|
||||||
|
|
|
@ -41,7 +41,7 @@ class ReleaseMixin(DevopsBuild):
|
||||||
self.bump_version = self.release_version.create_bump_version()
|
self.bump_version = self.release_version.create_bump_version()
|
||||||
|
|
||||||
def prepare_release(self):
|
def prepare_release(self):
|
||||||
prepare_release_service = PrepareReleaseService(self.version_repo, self.git_repo, self.config_file, self.main_branch)
|
prepare_release_service = PrepareReleaseService(self.version_repo, self.config_file, self.main_branch)
|
||||||
if self.release_version is None or self.bump_version is None:
|
if self.release_version is None or self.bump_version is None:
|
||||||
raise Exception('prepare_release was called before init_release')
|
raise Exception('prepare_release was called before init_release')
|
||||||
|
|
||||||
|
@ -49,6 +49,6 @@ class ReleaseMixin(DevopsBuild):
|
||||||
prepare_release_service.write_and_commit_release(self.release_version)
|
prepare_release_service.write_and_commit_release(self.release_version)
|
||||||
prepare_release_service.write_and_commit_bump(self.bump_version)
|
prepare_release_service.write_and_commit_bump(self.bump_version)
|
||||||
|
|
||||||
def tag_and_push_release(self):
|
def tag_and_push(self):
|
||||||
tag_and_push_release_service = TagAndPushReleaseService(self.git_repo)
|
tag_and_push_release_service = TagAndPushReleaseService(self.git_repo)
|
||||||
tag_and_push_release_service.tag_and_push_release(self.release_version)
|
tag_and_push_release_service.tag_and_push_release(self.release_version)
|
||||||
|
|
|
@ -64,6 +64,6 @@ class TagAndPushReleaseService():
|
||||||
annotation = 'v' + release_version.get_version_string()
|
annotation = 'v' + release_version.get_version_string()
|
||||||
message = 'Release ' + annotation
|
message = 'Release ' + annotation
|
||||||
self.git_repository.tag_annotated(annotation, message, 1)
|
self.git_repository.tag_annotated(annotation, message, 1)
|
||||||
# self.git_repository.push()
|
self.git_repository.push()
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue