Add a option to kiwix-build.py to build release version of subproject.
With `--make-release` option, kiwix-build.py will build the tagged version of the subproject.
This commit is contained in:
parent
9823f7ae48
commit
e4f8b6c7a9
|
@ -276,9 +276,11 @@ class Libzim(Dependency):
|
||||||
class Source(GitClone):
|
class Source(GitClone):
|
||||||
git_remote = "https://github.com/openzim/libzim.git"
|
git_remote = "https://github.com/openzim/libzim.git"
|
||||||
git_dir = "libzim"
|
git_dir = "libzim"
|
||||||
|
release_git_ref = "3.0.0"
|
||||||
|
|
||||||
Builder = MesonBuilder
|
Builder = MesonBuilder
|
||||||
|
|
||||||
|
|
||||||
class ZimTools(Dependency):
|
class ZimTools(Dependency):
|
||||||
name = "zim-tools"
|
name = "zim-tools"
|
||||||
dependencies = ['libzim']
|
dependencies = ['libzim']
|
||||||
|
@ -336,6 +338,7 @@ class Kiwixlib(Dependency):
|
||||||
class Source(GitClone):
|
class Source(GitClone):
|
||||||
git_remote = "https://github.com/kiwix/kiwix-lib.git"
|
git_remote = "https://github.com/kiwix/kiwix-lib.git"
|
||||||
git_dir = "kiwix-lib"
|
git_dir = "kiwix-lib"
|
||||||
|
release_git_ref = "1.0.1"
|
||||||
|
|
||||||
class Builder(MesonBuilder):
|
class Builder(MesonBuilder):
|
||||||
@property
|
@property
|
||||||
|
@ -359,6 +362,7 @@ class KiwixTools(Dependency):
|
||||||
class Source(GitClone):
|
class Source(GitClone):
|
||||||
git_remote = "https://github.com/kiwix/kiwix-tools.git"
|
git_remote = "https://github.com/kiwix/kiwix-tools.git"
|
||||||
git_dir = "kiwix-tools"
|
git_dir = "kiwix-tools"
|
||||||
|
release_git_ref = "0.3.0"
|
||||||
|
|
||||||
class Builder(MesonBuilder):
|
class Builder(MesonBuilder):
|
||||||
@property
|
@property
|
||||||
|
|
|
@ -123,22 +123,33 @@ class ReleaseDownload(Source):
|
||||||
|
|
||||||
|
|
||||||
class GitClone(Source):
|
class GitClone(Source):
|
||||||
git_ref = "master"
|
base_git_ref = "master"
|
||||||
|
release_git_ref = "master"
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def source_dir(self):
|
def source_dir(self):
|
||||||
return self.git_dir
|
if self.buildEnv.make_release:
|
||||||
|
return "{}_release".format(self.git_dir)
|
||||||
|
else:
|
||||||
|
return self.git_dir
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def git_path(self):
|
def git_path(self):
|
||||||
return pj(self.buildEnv.source_dir, self.git_dir)
|
return pj(self.buildEnv.source_dir, self.source_dir)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def git_ref(self):
|
||||||
|
if self.buildEnv.make_release:
|
||||||
|
return self.release_git_ref
|
||||||
|
else:
|
||||||
|
return self.base_git_ref
|
||||||
|
|
||||||
def _git_clone(self, context):
|
def _git_clone(self, context):
|
||||||
context.force_native_build = True
|
context.force_native_build = True
|
||||||
if os.path.exists(self.git_path):
|
if os.path.exists(self.git_path):
|
||||||
raise SkipCommand()
|
raise SkipCommand()
|
||||||
command = "git clone --depth=1 --branch {} {} {}".format(
|
command = "git clone --depth=1 --branch {} {} {}".format(
|
||||||
self.git_ref, self.git_remote, self.git_dir)
|
self.git_ref, self.git_remote, self.source_dir)
|
||||||
self.buildEnv.run_command(command, self.buildEnv.source_dir, context)
|
self.buildEnv.run_command(command, self.buildEnv.source_dir, context)
|
||||||
|
|
||||||
def _git_update(self, context):
|
def _git_update(self, context):
|
||||||
|
|
|
@ -979,7 +979,9 @@ def parse_args():
|
||||||
parser.add_argument('--skip-source-prepare', action='store_true',
|
parser.add_argument('--skip-source-prepare', action='store_true',
|
||||||
help="Skip the source download part")
|
help="Skip the source download part")
|
||||||
parser.add_argument('--build-deps-only', action='store_true',
|
parser.add_argument('--build-deps-only', action='store_true',
|
||||||
help=("Build only the dependencies of the specified targets."))
|
help="Build only the dependencies of the specified targets.")
|
||||||
|
parser.add_argument('--make-release', action='store_true',
|
||||||
|
help="Build a release version")
|
||||||
subgroup = parser.add_argument_group('advanced')
|
subgroup = parser.add_argument_group('advanced')
|
||||||
subgroup.add_argument('--no-cert-check', action='store_true',
|
subgroup.add_argument('--no-cert-check', action='store_true',
|
||||||
help="Skip SSL certificate verification during download")
|
help="Skip SSL certificate verification during download")
|
||||||
|
|
Loading…
Reference in New Issue