[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-deployment] branch master updated: taler-local utility.
From: |
gnunet |
Subject: |
[taler-deployment] branch master updated: taler-local utility. |
Date: |
Tue, 28 Sep 2021 12:49:33 +0200 |
This is an automated email from the git hooks/post-receive script.
ms pushed a commit to branch master
in repository deployment.
The following commit(s) were added to refs/heads/master by this push:
new d31e955 taler-local utility.
d31e955 is described below
commit d31e9557e0e1b43922764073e0b0cf8738eb2be5
Author: ms <ms@taler.net>
AuthorDate: Tue Sep 28 12:46:39 2021 +0200
taler-local utility.
Add option to cherry-pick projects to compile.
---
bin/WIP/taler-local | 44 +++++++++++++++++++++++++++++++++++---------
1 file changed, 35 insertions(+), 9 deletions(-)
diff --git a/bin/WIP/taler-local b/bin/WIP/taler-local
index 6bfcbca..5eb89d5 100755
--- a/bin/WIP/taler-local
+++ b/bin/WIP/taler-local
@@ -338,7 +338,9 @@ def get_stale_repos(repos: List[Repo]) -> List[Repo]:
continue
ts = timestamps[r.name] = s.stat().st_mtime
for dep in r.deps:
- if timestamps[dep] > ts:
+ # When 'dep' in not found, it has been
+ # excluded from the compilation.
+ if timestamps.get("dep", 0) > ts:
stale.append(r)
break
return stale
@@ -349,16 +351,34 @@ def get_stale_repos(repos: List[Repo]) -> List[Repo]:
help="WITHOUT REPOS is a unspaced and comma-separated list \
of the repositories to _exclude_ from compilation",
default="")
-def build(without_repos) -> None:
+@click.option(
+ "--only-repos", metavar="ONLY REPOS",
+ help="ONLY REPOS is a unspaced and comma-separated exclusive list \
+of the repositories to include in the compilation",
+ default="")
+def build(without_repos, only_repos) -> None:
"""Build the deployment from source."""
- exclude = split_repos_list(without_repos)
- # Get the repositories names from the source directory
+ if only_repos != "" and without_repos != "":
+ print("Either use --only-repos or --without-repos")
+ exit(1)
+
repos_names = get_repos_names()
+ if only_repos != "":
+ repos_names = list(filter(
+ lambda x: x in split_repos_list(only_repos),
+ repos_names
+ ))
+ if without_repos != "":
+ repos_names = list(filter(
+ lambda x: x not in split_repos_list(without_repos),
+ repos_names
+ ))
+
# Reorder the list of repositories so that the
# most fundamental dependecies appear left-most.
- repos_keys = repos.keys() # Has the precedence rules.
+ repos_keys = repos.keys()
sorted_repos = sorted(
set(repos_keys).intersection(repos_names),
key=lambda x: list(repos_keys).index(x)
@@ -368,9 +388,6 @@ def build(without_repos) -> None:
stale = get_stale_repos(target_repos)
print(f"found stale repos: {[r.name for r in stale]}")
for r in stale:
- if r.name in exclude:
- print(f"not building: {r.name}")
- continue
# Warn, if a dependency is not being built:
diff = set(r.deps) - set(repos_names)
if len(diff) > 0:
@@ -387,10 +404,19 @@ def build(without_repos) -> None:
default="libmicrohttpd,gnunet,exchange,merchant,wallet-core,taler-merchant-demos,sync,anastasis,libeufin",
show_default=True,
)
-def bootstrap(repos) -> None:
+@click.option(
+ "--list-repos/--no-list-repos", default=False,
+ help="Lists the repositories that were bootstrapped.",
+)
+def bootstrap(list_repos, repos) -> None:
"""Clone all the specified repositories."""
+ if list_repos:
+ for repo in get_repos_names():
+ print(repo)
+ return
+
# Download the repository.
def checkout_repos(repos: List[Repo]):
if len(repos) == 0:
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [taler-deployment] branch master updated: taler-local utility.,
gnunet <=