summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/release.cli5
-rwxr-xr-xintro2-tldr23
-rw-r--r--intro2-tldr.orig20
-rwxr-xr-xintro2-tour133
-rw-r--r--intro2-tour.orig324
5 files changed, 357 insertions, 148 deletions
diff --git a/doc/release.cli b/doc/release.cli
index bc37f56..2c34796 100644
--- a/doc/release.cli
+++ b/doc/release.cli
@@ -154,11 +154,12 @@ distribution from \c{etc/stage} and add the pre-distributed packages
\
cd etc
- ./intro2-tldr 2>&1 | tee intro2-tldr.out
+ script -qc ./intro2-tldr intro2-tldr.out && sed -i -e 's/\r//g' intro2-tldr.out
diff -u intro2-tldr.orig intro2-tldr.out # Or use gitk.
mv intro2-tldr.out intro2-tldr.orig
- ./intro2-tour 2>&1 | tee intro2-tour.out
+
+ script -qc ./intro2-tour intro2-tour.out && sed -i -e 's/\r//g' intro2-tour.out
diff -u intro2-tour.orig intro2-tour.out # Or use gitk.
mv intro2-tour.out intro2-tour.orig
\
diff --git a/intro2-tldr b/intro2-tldr
index ee1f487..6fd2d09 100755
--- a/intro2-tldr
+++ b/intro2-tldr
@@ -15,15 +15,28 @@ function error () { echo "$*" 1>&2; exit 1; }
tmp=/tmp
show=y
+# Keep in sync with *-tour.
+#
function show () # <cmd> ...
{
if [ $show = "y" ]; then
echo
echo "+ $*"
- "${@}"
- else
- "${@}"
fi
+
+ local p=("$1")
+
+ if [ "$1" = b -o "$1" = bpkg -o "$1" = bdep ]; then
+ p+=(--no-progress)
+ fi
+
+ if [ "$1" = tree ]; then
+ p+=(-n) # No color.
+ fi
+
+ shift
+
+ "${p[@]}" "${@}"
}
cd "$tmp"
@@ -39,7 +52,7 @@ git add .
git commit -m "first commit"
cd ..
-show git clone file://$tmp/hello.git
+show git clone --no-progress file://$tmp/hello.git
show tree hello
show cd hello
@@ -64,7 +77,7 @@ show b
sed -i -re 's/#v1.0.0//' repositories.manifest
show bdep fetch
-bdep sync
+bdep sync --no-progress
show bdep status -i
show bdep sync libhello
diff --git a/intro2-tldr.orig b/intro2-tldr.orig
index 769f179..2b8531a 100644
--- a/intro2-tldr.orig
+++ b/intro2-tldr.orig
@@ -1,5 +1,6 @@
+Script started on Wed 20 Oct 2021 01:28:03 PM SAST
created new executable project hello in /tmp/hello.git/
-[master (root-commit) 838e609] first commit
+[master (root-commit) 032348d] first commit
13 files changed, 141 insertions(+)
create mode 100644 .gitattributes
create mode 100644 .gitignore
@@ -15,7 +16,7 @@ created new executable project hello in /tmp/hello.git/
create mode 100644 manifest
create mode 100644 repositories.manifest
-+ git clone file:///tmp/hello.git
++ git clone --no-progress file:///tmp/hello.git
Cloning into 'hello'...
+ tree hello
@@ -53,29 +54,20 @@ Hello, World!
+ b
fetching git:build2.org/hello/libhello#v1.0.0 (prerequisite of dir:/tmp/hello)
-querying https://git.build2.org/hello/libhello.git
-fetching from https://git.build2.org/hello/libhello.git
synchronizing /tmp/hello-gcc/:
new libhello/1.0.0+4 (required by hello)
upgrade hello/0.1.0#1
-distributing libhello/1.0.0+4
+version.in ../hello-gcc/libhello-1.0.0+4/libhello/version.hxx.in
c++ ../hello-gcc/libhello-1.0.0+4/libhello/cxx{hello}
c++ hello/cxx{hello}@../hello-gcc/hello/hello/
-version.in ../hello-gcc/libhello-1.0.0+4/libhello/version.hxx.in
ld ../hello-gcc/libhello-1.0.0+4/libhello/libs{hello}
ld ../hello-gcc/hello/hello/exe{hello}
ln ../hello-gcc/hello/hello/exe{hello} -> hello/
+ bdep fetch
fetching git:build2.org/hello/libhello (prerequisite of dir:/tmp/hello)
-querying https://git.build2.org/hello/libhello.git
-fetching from https://git.build2.org/hello/libhello.git
fetching git:build2.org/hello/libformat##HEAD (prerequisite of git:build2.org/hello/libhello)
-querying https://git.build2.org/hello/libformat.git
-fetching from https://git.build2.org/hello/libformat.git
fetching git:build2.org/hello/libprint##HEAD (prerequisite of git:build2.org/hello/libhello)
-querying https://git.build2.org/hello/libprint.git
-fetching from https://git.build2.org/hello/libprint.git
+ bdep status -i
hello configured 0.1.0#1
@@ -87,9 +79,6 @@ synchronizing:
new libprint/1.0.0+8 (required by libhello)
upgrade libhello/1.1.0+8
reconfigure hello/0.1.0#1
-distributing libformat/1.0.0+8
-distributing libprint/1.0.0+8
-distributing libhello/1.1.0+8
+ bdep sync libhello/1.0.0
synchronizing:
@@ -97,4 +86,3 @@ synchronizing:
drop libformat/1.0.0+8 (unused)
downgrade libhello/1.0.0+8
reconfigure hello/0.1.0#1
-distributing libhello/1.0.0+8
diff --git a/intro2-tour b/intro2-tour
index 6f8c2a9..660ffc8 100755
--- a/intro2-tour
+++ b/intro2-tour
@@ -23,22 +23,35 @@ msvc=cl-15
repo=https://stage.build2.org/1/
trust="EC:50:13:E2:3D:F7:92:B4:50:0B:BF:2A:1F:7D:31:04:C6:57:6F:BC:BE:04:2E:E0:58:14:FA:66:66:21:1F:14"
+# Keep in sync with *-tldr.
+#
function show () # <cmd> ...
{
if [ $show = "y" ]; then
echo
echo "+ $*"
- "${@}"
- else
- "${@}"
fi
+
+ local p=("$1")
+
+ if [ "$1" = b -o "$1" = bpkg -o "$1" = bdep ]; then
+ p+=(--no-progress)
+ fi
+
+ if [ "$1" = tree ]; then
+ p+=(-n) # No color.
+ fi
+
+ shift
+
+ "${p[@]}" "${@}"
}
cd "$tmp"
function clean ()
{
- rm -rf hello hello-gcc hello-clang hello-vc-* hello-mingw
+ rm -rf hello hello-host hello-build2 hello-base hello-gcc hello-gcc-1 hello-clang hello-vc-* hello-mingw
}
## if false; then
@@ -74,19 +87,19 @@ show b ../hello-clang/hello/
show b test: ../hello-clang/hello/
show ../hello-clang/hello/hello/hello World
-b clean: ../hello-clang/hello/
+b --no-progress clean: ../hello-clang/hello/
show bdep test @clang
show bdep test @gcc @clang
show bdep init -C ../hello-mingw @mingw cc config.cxx=x86_64-w64-mingw32-g++
show bdep update @mingw
show bdep test @mingw
-show ../hello-mingw/hello/hello/hello.exe Windows
+show ../hello-mingw/hello/hello/hello.exe Windows | cat # Strip term junk.
show git add .
show git commit -m "Initial implementation"
show git remote add origin git@github.com:boris-kolpackov/hello.git
-show git push origin master -u --force
+show git push --no-progress origin master -u --force
show bdep ci --simulate success
show bdep deinit @gcc @clang
@@ -221,6 +234,102 @@ show bdep sync ?sys:libsqlite3
cd ..
+# Build-time Dependencies.
+#
+clean
+show bdep new -t exe -l c++ hello
+cd hello
+show bdep init -C @gcc cc config.cxx=$gcc
+show bdep init -C @clang cc config.cxx=$clang
+
+cat <<EOF >>repositories.manifest
+:
+role: prerequisite
+location: https://pkg.cppget.org/1/alpha
+trust: 70:64:FE:E4:E0:F3:60:F1:B4:51:E1:FA:12:5C:E0:B3:DB:DF:96:33:39:B9:2E:E5:C2:68:63:4C:A6:47:39:43
+EOF
+echo 'depends: * xxd >= 8.2.0' >>manifest
+cat <<EOF >hello/buildfile
+import! [metadata] xxd = xxd%exe{xxd}
+
+exe{hello}: {hxx ixx txx cxx}{** -names} cxx{names} $libs testscript
+
+cxx{names}: file{names.txt} \$xxd
+{{
+ i = \$path(\$<[0])
+ env --cwd \$directory(\$i) -- \$xxd -i \$leaf(\$i) >\$path(\$>)
+}}
+EOF
+cat <<EOF >hello/hello.cxx
+#include <iostream>
+#include <string>
+
+extern unsigned char names_txt[];
+extern unsigned int names_txt_len;
+
+int main (int argc, char* argv[])
+{
+ using namespace std;
+
+ if (argc < 2)
+ {
+ cerr << "error: missing name" << endl;
+ return 1;
+ }
+
+ cout << string (reinterpret_cast<const char*> (names_txt), names_txt_len) << ", " << argv[1] << '!' << endl;
+}
+EOF
+echo -n "Hello" >hello/names.txt
+
+show bdep config list
+#show bdep sync --create-host-config # Needed if not terminal.
+show b
+b --no-progress test
+show bdep config list
+show bdep update @clang
+
+echo 'depends: * libbuild2-hello' >>manifest
+echo 'using hello' >>hello/buildfile
+
+#show bdep sync --create-build2-config # Needed if not terminal.
+show b
+show bdep config list
+show bdep update @clang
+
+cd ..
+
+
+# Linked Configurations.
+#
+clean
+show bdep new -t exe -l c++ hello
+cd hello
+
+cat <<EOF >>repositories.manifest
+:
+role: prerequisite
+location: $repo
+trust: $trust
+EOF
+sed -i -re 's/^#depends: libhello/depends: libhello/' manifest # ^1.0.0
+sed -i -re 's/^#import/import/' hello/buildfile
+
+show bdep config create ../hello-base @base --no-default cc config.cxx=$gcc
+show bdep config create ../hello-gcc @gcc --default cc config.cxx=$gcc
+show bdep config create ../hello-clang @clang cc config.cxx=$clang
+
+show bdep config link @gcc @base
+show bdep config link @clang @base
+
+show bdep init @gcc { @base }+ ?libhello
+show bdep init @clang
+
+show bdep update @gcc
+show bdep update @clang
+
+cd ..
+
# Versioning and Release Management.
#
clean
@@ -228,13 +337,13 @@ show bdep new -C hello-gcc @gcc -t exe -l c++ hello cc config.cxx=$gcc
cd hello
git remote add origin git@github.com:boris-kolpackov/hello.git
-git push origin :build2-control || true
-git push -d origin v0.1.0-a.1 || true
-git push -d origin v0.1.0 || true
+git push --no-progress origin :build2-control || true
+git push --no-progress -d origin v0.1.0-a.1 || true
+git push --no-progress -d origin v0.1.0 || true
git add .
git commit -m "Initial implementation"
-git push -f -u
+git push --no-progress -f -u
show bdep status
show b info
@@ -331,5 +440,3 @@ show /opt/tools/bin/hello World
show tree /opt/tools
show bpkg uninstall hello
show bpkg drop hello
-
-echo "finished"
diff --git a/intro2-tour.orig b/intro2-tour.orig
index 02f006e..bbbb7f3 100644
--- a/intro2-tour.orig
+++ b/intro2-tour.orig
@@ -1,3 +1,4 @@
+Script started on Wed 20 Oct 2021 01:29:58 PM SAST
+ bdep new -t exe -l c++ hello
created new executable project hello in /tmp/hello/
@@ -65,8 +66,8 @@ description-file: README.md
url: https://example.org/hello
email: boris@codesynthesis.com
#build-error-email: boris@codesynthesis.com
-depends: * build2 >= 0.14.0-
-depends: * bpkg >= 0.14.0-
+depends: * build2 >= 0.14.0
+depends: * bpkg >= 0.14.0
#depends: libhello ^1.0.0
+ bdep init -C ../hello-gcc @gcc cc config.cxx=g++
@@ -180,12 +181,12 @@ ld ../hello-mingw/hello/hello/exe{hello}
test hello/testscript{testscript}@../hello-mingw/hello/hello/ ../hello-mingw/hello/hello/exe{hello}
+ ../hello-mingw/hello/hello/hello.exe Windows
-Hello, Windows!
+Hello, Windows!
+ git add .
+ git commit -m Initial implementation
-[master (root-commit) d998af5] Initial implementation
+[master (root-commit) cf83f68] Initial implementation
13 files changed, 141 insertions(+)
create mode 100644 .gitattributes
create mode 100644 .gitignore
@@ -203,22 +204,20 @@ Hello, Windows!
+ git remote add origin git@github.com:boris-kolpackov/hello.git
-+ git push origin master -u --force
++ git push --no-progress origin master -u --force
To github.com:boris-kolpackov/hello.git
- + 5557360...d998af5 master -> master (forced update)
+ + 35716b9...cf83f68 master -> master (forced update)
Branch 'master' set up to track remote branch 'master' from 'origin'.
+ bdep ci --simulate success
submitting:
to: https://ci.stage.build2.org
- in: https://github.com/boris-kolpackov/hello.git#master@d998af5d8a31b2dc6e2c28e4fd1f242935b89b7e
+ in: https://github.com/boris-kolpackov/hello.git#master@cf83f6837196e738ae36c48a1ebbbb35a25e3ce9
package: hello
- version: 0.1.0-a.0.20211016074742.d998af5d8a31
-continue? [y/n] % Total % Received % Xferd Average Speed Time Time Time Current
- Dload Upload Total Spent Left Speed
- 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 79 812 0 0 100 649 0 468 0:00:01 0:00:01 --:--:-- 468 100 812 100 163 100 649 117 468 0:00:01 0:00:01 --:--:-- 468
-CI request is queued: https://ci.stage.build2.org/@1773db76-9c9a-456c-a0ca-864c22b05ded
-reference: 1773db76-9c9a-456c-a0ca-864c22b05ded
+ version: 0.1.0-a.0.20211020113017.cf83f6837196
+continue? [y/n] y
+CI request is queued: https://ci.stage.build2.org/@b194b7d3-b76a-470f-aa55-4c46508604c8
+reference: b194b7d3-b76a-470f-aa55-4c46508604c8
+ bdep deinit @gcc @clang
deinitializing in project /tmp/hello/
@@ -243,8 +242,6 @@ synchronizing:
new hello/0.1.0-a.0.19700101000000
+ bpkg rep-info https://git.build2.org/hello/libhello.git
-querying https://git.build2.org/hello/libhello.git
-fetching from https://git.build2.org/hello/libhello.git
git:build2.org/hello/libhello https://git.build2.org/hello/libhello.git
prerequisite git:build2.org/hello/libprint##HEAD https://git.build2.org/hello/libprint.git##HEAD
prerequisite git:build2.org/hello/libformat##HEAD https://git.build2.org/hello/libformat.git##HEAD
@@ -253,8 +250,6 @@ libhello/1.0.0+8
libhello/1.1.0+8
+ bpkg rep-info https://git.build2.org/hello/libhello.git#HEAD
-querying https://git.build2.org/hello/libhello.git
-fetching from https://git.build2.org/hello/libhello.git
git:build2.org/hello/libhello#HEAD https://git.build2.org/hello/libhello.git#HEAD
prerequisite git:build2.org/hello/libprint##HEAD https://git.build2.org/hello/libprint.git##HEAD
prerequisite git:build2.org/hello/libformat##HEAD https://git.build2.org/hello/libformat.git##HEAD
@@ -267,29 +262,29 @@ warning: authenticity of the certificate for repository pkg:stage.build2.org can
certificate is for **build2.org, "Code Synthesis" <admin@build2.org>
certificate SHA256 fingerprint:
EC:50:13:E2:3D:F7:92:B4:50:0B:BF:2A:1F:7D:31:04:C6:57:6F:BC:BE:04:2E:E0:58:14:FA:66:66:21:1F:14
-trust this certificate? [y/n] hello configured 0.1.0-a.0.19700101000000 available 0.1.0-a.0.19700101000000#1
+trust this certificate? [y/n] y
+hello configured 0.1.0-a.0.19700101000000 available 0.1.0-a.0.19700101000000#1
+ bdep sync
synchronizing:
- new libhello/1.0.0+7 (required by hello)
+ new libhello/1.0.0+8 (required by hello)
upgrade hello/0.1.0-a.0.19700101000000#1
- 0K ... 100% 77.1M=0s
+ b
synchronizing /tmp/hello-gcc/:
upgrade hello/0.1.0-a.0.19700101000000#2
mkdir ../hello-gcc/hello/fsdir{hello/}
-version.in ../hello-gcc/libhello-1.0.0+7/libhello/version.hxx.in
-c++ ../hello-gcc/libhello-1.0.0+7/libhello/cxx{hello}
+version.in ../hello-gcc/libhello-1.0.0+8/libhello/version.hxx.in
+c++ ../hello-gcc/libhello-1.0.0+8/libhello/cxx{hello}
c++ hello/cxx{hello}@../hello-gcc/hello/hello/
-ld ../hello-gcc/libhello-1.0.0+7/libhello/libs{hello}
+ld ../hello-gcc/libhello-1.0.0+8/libhello/libs{hello}
ld ../hello-gcc/hello/hello/exe{hello}
ln ../hello-gcc/hello/hello/exe{hello} -> hello/
+ bdep status -ai
in configuration @gcc:
hello configured 0.1.0-a.0.19700101000000#2
- libhello ^1.0.0 configured 1.0.0+7
+ libhello ^1.0.0 configured 1.0.0+8
in configuration @clang:
fetching pkg:stage.build2.org (prerequisite of dir:/tmp/hello)
@@ -300,27 +295,26 @@ in configuration @gcc:
in configuration @clang:
synchronizing:
- new libhello/1.0.0+7 (required by hello)
+ new libhello/1.0.0+8 (required by hello)
upgrade hello/0.1.0-a.0.19700101000000#1
- 0K ... 100% 62.8M=0s
+ bdep test -ai
in configuration @gcc:
-c++ ../hello-gcc/libhello-1.0.0+7/tests/basics/cxx{driver}
-ld ../hello-gcc/libhello-1.0.0+7/tests/basics/exe{driver}
-test ../hello-gcc/libhello-1.0.0+7/tests/basics/exe{driver}
+c++ ../hello-gcc/libhello-1.0.0+8/tests/basics/cxx{driver}
+ld ../hello-gcc/libhello-1.0.0+8/tests/basics/exe{driver}
test hello/testscript{testscript}@../hello-gcc/hello/hello/ ../hello-gcc/hello/hello/exe{hello}
+test ../hello-gcc/libhello-1.0.0+8/tests/basics/exe{driver}
in configuration @clang:
mkdir ../hello-clang/hello/fsdir{hello/}
-version.in ../hello-clang/libhello-1.0.0+7/libhello/version.hxx.in
+version.in ../hello-clang/libhello-1.0.0+8/libhello/version.hxx.in
c++ hello/cxx{hello}@../hello-clang/hello/hello/
-c++ ../hello-clang/libhello-1.0.0+7/libhello/cxx{hello}
-c++ ../hello-clang/libhello-1.0.0+7/tests/basics/cxx{driver}
-ld ../hello-clang/libhello-1.0.0+7/libhello/libs{hello}
-ld ../hello-clang/libhello-1.0.0+7/tests/basics/exe{driver}
+c++ ../hello-clang/libhello-1.0.0+8/tests/basics/cxx{driver}
+c++ ../hello-clang/libhello-1.0.0+8/libhello/cxx{hello}
+ld ../hello-clang/libhello-1.0.0+8/libhello/libs{hello}
ld ../hello-clang/hello/hello/exe{hello}
-test ../hello-clang/libhello-1.0.0+7/tests/basics/exe{driver}
+ld ../hello-clang/libhello-1.0.0+8/tests/basics/exe{driver}
+test ../hello-clang/libhello-1.0.0+8/tests/basics/exe{driver}
test hello/testscript{testscript}@../hello-clang/hello/hello/ ../hello-clang/hello/hello/exe{hello}
+ bdep status
@@ -328,27 +322,20 @@ hello configured 0.1.0-a.0.19700101000000#2 available 0.1.0-a.0.19700101000000#3
+ bdep sync
synchronizing:
- drop libhello/1.0.0+7 (unused)
+ drop libhello/1.0.0+8 (unused)
upgrade hello/0.1.0-a.0.19700101000000#3
synchronizing:
- new libhello/1.0.0+7 (required by hello)
+ new libhello/1.0.0+8 (required by hello)
upgrade hello/0.1.0-a.0.19700101000000#4
- 0K ... 100% 11.2M=0s
+ bdep fetch
fetching git:build2.org/hello/libhello (prerequisite of dir:/tmp/hello)
-querying https://git.build2.org/hello/libhello.git
-fetching from https://git.build2.org/hello/libhello.git
fetching git:build2.org/hello/libformat##HEAD (prerequisite of git:build2.org/hello/libhello)
-querying https://git.build2.org/hello/libformat.git
-fetching from https://git.build2.org/hello/libformat.git
fetching git:build2.org/hello/libprint##HEAD (prerequisite of git:build2.org/hello/libhello)
-querying https://git.build2.org/hello/libprint.git
-fetching from https://git.build2.org/hello/libprint.git
fetching pkg:stage.build2.org (prerequisite of dir:/tmp/hello)
+ bdep status libhello
-libhello configured 1.0.0+7 available [1.1.0+8] [1.0.0+8]
+libhello configured 1.0.0+8 available [1.1.0+8]
+ bdep sync libhello
synchronizing:
@@ -356,9 +343,6 @@ synchronizing:
new libprint/1.0.0+8 (required by libhello)
upgrade libhello/1.1.0+8
reconfigure hello/0.1.0-a.0.19700101000000#4
-distributing libformat/1.0.0+8
-distributing libprint/1.0.0+8
-distributing libhello/1.1.0+8
+ bdep status -r
hello configured 0.1.0-a.0.19700101000000#4
@@ -367,7 +351,7 @@ hello configured 0.1.0-a.0.19700101000000#4
libprint ^1.0.0 configured 1.0.0+8
+ bdep status -o libhello
-libhello configured 1.1.0+8 available (1.1.0+8) [1.0.0+8] [1.0.0+7]
+libhello configured 1.1.0+8 available (1.1.0+8) [1.0.0+8]
+ bdep sync libhello/1.0.0
synchronizing:
@@ -375,7 +359,6 @@ synchronizing:
drop libformat/1.0.0+8 (unused)
downgrade libhello/1.0.0+8
reconfigure hello/0.1.0-a.0.19700101000000#4
-distributing libhello/1.0.0+8
+ bdep new -C libextra-gcc -t lib -l c++ libextra cc config.cxx=g++
created new library project libextra in /tmp/libextra/
@@ -388,10 +371,10 @@ mkdir libextra-gcc/libextra/fsdir{libextra/}
version.in libextra/libextra/version.hxx.in
c++ libextra/libextra/cxx{extra}@libextra-gcc/libextra/libextra/
c++ libextra/libextra/cxx{extra}@libextra-gcc/libextra/libextra/
-pc libextra-gcc/libextra/libextra/pca{extra}
pc libextra-gcc/libextra/libextra/pcs{extra}
-pc libextra-gcc/libextra/libextra/pc{extra}
+pc libextra-gcc/libextra/libextra/pca{extra}
ld libextra-gcc/libextra/libextra/libs{extra}
+pc libextra-gcc/libextra/libextra/pc{extra}
ar libextra-gcc/libextra/libextra/liba{extra}
install unpkg-gcc/
install unpkg-gcc/include/
@@ -434,23 +417,14 @@ unpkg-gcc
initializing in project /tmp/hello/
created configuration @gcc1 /tmp/hello-gcc-1/ 3 target auto-synchronized
fetching git:build2.org/hello/libhello (prerequisite of dir:/tmp/hello)
-querying https://git.build2.org/hello/libhello.git
-fetching from https://git.build2.org/hello/libhello.git
fetching git:build2.org/hello/libformat##HEAD (prerequisite of git:build2.org/hello/libhello)
-querying https://git.build2.org/hello/libformat.git
-fetching from https://git.build2.org/hello/libformat.git
fetching git:build2.org/hello/libprint##HEAD (prerequisite of git:build2.org/hello/libhello)
-querying https://git.build2.org/hello/libprint.git
-fetching from https://git.build2.org/hello/libprint.git
fetching pkg:stage.build2.org (prerequisite of dir:/tmp/hello)
synchronizing:
new libformat/1.0.0+8 (required by libhello)
new libprint/1.0.0+8 (required by libhello)
new libhello/1.1.0+8 (required by hello)
new hello/0.1.0-a.0.19700101000000
-distributing libformat/1.0.0+8
-distributing libprint/1.0.0+8
-distributing libhello/1.1.0+8
+ b test: ../hello-gcc-1/
mkdir ../hello-gcc-1/hello/fsdir{hello/}
@@ -459,21 +433,21 @@ version.in ../hello-gcc-1/libformat-1.0.0+8/libformat/version.hxx.in
version.in ../hello-gcc-1/libprint-1.0.0+8/libprint/version.hxx.in
c++ ../hello-gcc-1/libprint-1.0.0+8/libprint/cxx{print}
c++ ../hello-gcc-1/libprint-1.0.0+8/tests/basics/cxx{driver}
-c++ ../hello-gcc-1/libformat-1.0.0+8/libformat/cxx{format}
c++ ../hello-gcc-1/libformat-1.0.0+8/tests/basics/cxx{driver}
-c++ ../hello-gcc-1/libhello-1.1.0+8/libhello/cxx{hello}
c++ ../hello-gcc-1/libhello-1.1.0+8/tests/basics/cxx{driver}
+c++ ../hello-gcc-1/libformat-1.0.0+8/libformat/cxx{format}
c++ hello/cxx{hello}@../hello-gcc-1/hello/hello/
+c++ ../hello-gcc-1/libhello-1.1.0+8/libhello/cxx{hello}
ld ../hello-gcc-1/libprint-1.0.0+8/libprint/libs{print}
ld ../hello-gcc-1/libprint-1.0.0+8/tests/basics/exe{driver}
ld ../hello-gcc-1/libformat-1.0.0+8/libformat/libs{format}
ld ../hello-gcc-1/libformat-1.0.0+8/tests/basics/exe{driver}
ld ../hello-gcc-1/libhello-1.1.0+8/libhello/libs{hello}
-ld ../hello-gcc-1/hello/hello/exe{hello}
ld ../hello-gcc-1/libhello-1.1.0+8/tests/basics/exe{driver}
-test ../hello-gcc-1/libprint-1.0.0+8/tests/basics/exe{driver}
+ld ../hello-gcc-1/hello/hello/exe{hello}
test ../hello-gcc-1/libformat-1.0.0+8/tests/basics/exe{driver}
test ../hello-gcc-1/libhello-1.1.0+8/tests/basics/exe{driver}
+test ../hello-gcc-1/libprint-1.0.0+8/tests/basics/exe{driver}
test hello/testscript{testscript}@../hello-gcc-1/hello/hello/ ../hello-gcc-1/hello/hello/exe{hello}
+ b configure: ../hello-gcc/ config.cc.poptions+=-I/tmp/unpkg-gcc/include config.cc.loptions+=-L/tmp/unpkg-gcc/lib
@@ -496,6 +470,145 @@ synchronizing:
configure sys:libsqlite3/*
upgrade hello/0.1.0-a.0.19700101000000#5
++ bdep new -t exe -l c++ hello
+created new executable project hello in /tmp/hello/
+
++ bdep init -C @gcc cc config.cxx=g++
+initializing in project /tmp/hello/
+created configuration @gcc /tmp/hello-gcc/ 1 target default,forwarded,auto-synchronized
+synchronizing:
+ new hello/0.1.0-a.0.19700101000000
+
++ bdep init -C @clang cc config.cxx=clang++-5.0
+initializing in project /tmp/hello/
+created configuration @clang /tmp/hello-clang/ 2 target auto-synchronized
+synchronizing:
+ new hello/0.1.0-a.0.19700101000000
+
++ bdep config list
+@gcc /tmp/hello-gcc/ 1 target default,forwarded,auto-synchronized
+@clang /tmp/hello-clang/ 2 target auto-synchronized
+
++ b
+fetching pkg:cppget.org/alpha (prerequisite of dir:/tmp/hello)
+fetching pkg:cppget.org/beta (complements pkg:cppget.org/alpha)
+fetching pkg:cppget.org/testing (complements pkg:cppget.org/beta)
+fetching pkg:cppget.org/stable (complements pkg:cppget.org/testing)
+
+creating configuration of host type in /tmp/hello-host/ and associating it with project(s):
+ /tmp/hello/
+as if by executing command(s):
+ bdep config create -d /tmp/hello @host --type host --no-default --forward /tmp/hello-host cc config.config.load=~host
+while searching for configuration for build-time dependency xxd of package hello/0.1.0-a.0.19700101000000#1 [/tmp/hello-gcc/]
+while synchronizing configuration /tmp/hello-gcc/
+continue? [Y/n] y
+synchronizing /tmp/hello-gcc/:
+ new xxd/8.2.3075 [/tmp/hello-host/] (required by hello)
+ upgrade hello/0.1.0-a.0.19700101000000#1
+mkdir ../hello-gcc/hello/fsdir{hello/}
+c ../hello-host/xxd-8.2.3075/c{xxd}
+ld ../hello-host/xxd-8.2.3075/exe{xxd}
+xxd ../hello-gcc/hello/hello/cxx{names}
+c++ ../hello-gcc/hello/hello/cxx{names}
+c++ hello/cxx{hello}@../hello-gcc/hello/hello/
+ld ../hello-gcc/hello/hello/exe{hello}
+ln ../hello-gcc/hello/hello/exe{hello} -> hello/
+test hello/testscript{testscript}@../hello-gcc/hello/hello/ ../hello-gcc/hello/hello/exe{hello}
+
++ bdep config list
+@gcc /tmp/hello-gcc/ 1 target default,forwarded,auto-synchronized
+@clang /tmp/hello-clang/ 2 target auto-synchronized
+@host /tmp/hello-host/ 3 host forwarded,auto-synchronized
+
++ bdep update @clang
+fetching pkg:cppget.org/alpha (prerequisite of dir:/tmp/hello)
+fetching pkg:cppget.org/beta (complements pkg:cppget.org/alpha)
+fetching pkg:cppget.org/testing (complements pkg:cppget.org/beta)
+fetching pkg:cppget.org/stable (complements pkg:cppget.org/testing)
+synchronizing:
+ upgrade hello/0.1.0-a.0.19700101000000#1
+mkdir ../hello-clang/hello/fsdir{hello/}
+xxd ../hello-clang/hello/hello/cxx{names}
+c++ ../hello-clang/hello/hello/cxx{names}
+c++ hello/cxx{hello}@../hello-clang/hello/hello/
+ld ../hello-clang/hello/hello/exe{hello}
+
++ b
+
+creating configuration of build2 type in /tmp/hello-build2/ and associating it with project(s):
+ /tmp/hello/
+as if by executing command(s):
+ bdep config create -d /tmp/hello @build2 --type build2 --no-default --forward /tmp/hello-build2 cc config.config.load=~build2
+while searching for configuration for build-time dependency libbuild2-hello of package hello/0.1.0-a.0.19700101000000#2 [/tmp/hello-gcc/]
+while synchronizing configuration /tmp/hello-gcc/
+continue? [Y/n] y
+synchronizing /tmp/hello-gcc/:
+ new libbuild2-hello/0.1.0-a.0.20210928065245.4c3109c2b741 [/tmp/hello-build2/] (required by hello [/tmp/hello-clang/], hello [/tmp/hello-gcc/])
+ upgrade hello/0.1.0-a.0.19700101000000#2 [/tmp/hello-gcc/]
+ upgrade hello/0.1.0-a.0.19700101000000#2 [/tmp/hello-clang/]
+c++ ../hello-build2/libbuild2-hello-0.1.0-a.0.20210928065245.4c3109c2b741/libbuild2/hello/cxx{init}
+ld ../hello-build2/libbuild2-hello-0.1.0-a.0.20210928065245.4c3109c2b741/libbuild2/hello/libs{build2-hello}
+hello/buildfile:10:7: info: module hello initialized
+hello/buildfile:10:7: info: module hello initialized
+hello/buildfile:10:7: info: module hello initialized
+ info: while applying rule alias to update ../hello-gcc/dir{hello/}
+info: ../hello-gcc/dir{hello/} is up to date
+
++ bdep config list
+@gcc /tmp/hello-gcc/ 1 target default,forwarded,auto-synchronized
+@build2 /tmp/hello-build2/ 4 build2 forwarded,auto-synchronized
+@clang /tmp/hello-clang/ 2 target auto-synchronized
+@host /tmp/hello-host/ 3 host forwarded,auto-synchronized
+
++ bdep update @clang
+hello/buildfile:10:7: info: module hello initialized
+ info: while applying rule alias to update ../hello-clang/dir{hello/}
+info: ../hello-clang/dir{hello/} is up to date
+
++ bdep new -t exe -l c++ hello
+created new executable project hello in /tmp/hello/
+
++ bdep config create ../hello-base @base --no-default cc config.cxx=g++
+created configuration @base /tmp/hello-base/ 1 target auto-synchronized
+
++ bdep config create ../hello-gcc @gcc --default cc config.cxx=g++
+created configuration @gcc /tmp/hello-gcc/ 2 target default,forwarded,auto-synchronized
+
++ bdep config create ../hello-clang @clang cc config.cxx=clang++-5.0
+created configuration @clang /tmp/hello-clang/ 3 target auto-synchronized
+
++ bdep config link @gcc @base
+linked configuration @gcc (target) with configuration @base (target)
+
++ bdep config link @clang @base
+linked configuration @clang (target) with configuration @base (target)
+
++ bdep init @gcc { @base }+ ?libhello
+initializing in project /tmp/hello/
+fetching pkg:stage.build2.org (prerequisite of dir:/tmp/hello)
+synchronizing:
+ new libhello/1.0.0+8 [/tmp/hello-base/]
+ new hello/0.1.0-a.0.19700101000000
+
++ bdep init @clang
+initializing in project /tmp/hello/
+fetching pkg:stage.build2.org (prerequisite of dir:/tmp/hello)
+synchronizing:
+ new hello/0.1.0-a.0.19700101000000 [/tmp/hello-clang/]
+
++ bdep update @gcc
+mkdir ../hello-gcc/hello/fsdir{hello/}
+version.in ../hello-base/libhello-1.0.0+8/libhello/version.hxx.in
+c++ ../hello-base/libhello-1.0.0+8/libhello/cxx{hello}
+c++ hello/cxx{hello}@../hello-gcc/hello/hello/
+ld ../hello-base/libhello-1.0.0+8/libhello/libs{hello}
+ld ../hello-gcc/hello/hello/exe{hello}
+
++ bdep update @clang
+mkdir ../hello-clang/hello/fsdir{hello/}
+c++ hello/cxx{hello}@../hello-clang/hello/hello/
+ld ../hello-clang/hello/hello/exe{hello}
+
+ bdep new -C hello-gcc @gcc -t exe -l c++ hello cc config.cxx=g++
created new executable project hello in /tmp/hello/
created configuration @gcc /tmp/hello-gcc/ 1 target default,forwarded,auto-synchronized
@@ -507,7 +620,7 @@ To github.com:boris-kolpackov/hello.git
- [deleted] v0.1.0-a.1
To github.com:boris-kolpackov/hello.git
- [deleted] v0.1.0
-[master (root-commit) af66fb2] Initial implementation
+[master (root-commit) 731bc3c] Initial implementation
13 files changed, 141 insertions(+)
create mode 100644 .gitattributes
create mode 100644 .gitignore
@@ -523,15 +636,15 @@ To github.com:boris-kolpackov/hello.git
create mode 100644 manifest
create mode 100644 repositories.manifest
To github.com:boris-kolpackov/hello.git
- + d998af5...af66fb2 master -> master (forced update)
+ + cf83f68...731bc3c master -> master (forced update)
Branch 'master' set up to track remote branch 'master' from 'origin'.
+ bdep status
-hello configured 0.1.0-a.0.19700101000000 available 0.1.0-a.0.20211016074922.af66fb280c29
+hello configured 0.1.0-a.0.19700101000000 available 0.1.0-a.0.20211020113315.731bc3ce86e0
+ b info
project: hello
-version: 0.1.0-a.0.20211016074922.af66fb280c29
+version: 0.1.0-a.0.20211020113315.731bc3ce86e0
summary: hello C++ executable
url: https://example.org/hello
src_root: /tmp/hello/
@@ -544,15 +657,15 @@ modules: version config test install dist
+ bdep sync
synchronizing:
- upgrade hello/0.1.0-a.0.20211016074922.af66fb280c29
+ upgrade hello/0.1.0-a.0.20211020113315.731bc3ce86e0
+ bdep status
-hello configured 0.1.0-a.0.20211016074922.af66fb280c29
-[master f055ca5] Another commit
+hello configured 0.1.0-a.0.20211020113315.731bc3ce86e0
+[master 008e72b] Another commit
1 file changed, 1 insertion(+)
+ bdep status
-hello configured 0.1.0-a.0.20211016074922.af66fb280c29 available 0.1.0-a.0.20211016074925.f055ca500a96
+hello configured 0.1.0-a.0.20211020113315.731bc3ce86e0 available 0.1.0-a.0.20211020113318.008e72b6b68d
+ bdep release --alpha --push
releasing:
@@ -563,11 +676,11 @@ releasing:
commit: yes
tag: v0.1.0-a.1
push: origin/master
-continue? [y/n] [master e99c5ac] Release version 0.1.0-a.1
+continue? [y/n] y
+[master 0d6d0e7] Release version 0.1.0-a.1
1 file changed, 1 insertion(+), 1 deletion(-)
-[master 29af065] Change version to 0.1.0-a.1.z
+[master 3438da6] Change version to 0.1.0-a.1.z
1 file changed, 1 insertion(+), 1 deletion(-)
-pushing branch master, tag v0.1.0-a.1
+ bdep release --no-open --push
releasing:
@@ -577,9 +690,9 @@ releasing:
commit: yes
tag: v0.1.0
push: origin/master
-continue? [y/n] [master ced585b] Release version 0.1.0
+continue? [y/n] y
+[master 751fb24] Release version 0.1.0
1 file changed, 1 insertion(+), 1 deletion(-)
-pushing branch master, tag v0.1.0
+ bdep publish --simulate success
synchronizing:
@@ -593,18 +706,14 @@ publishing:
section: alpha
control: https://github.com/boris-kolpackov/hello.git
warning: publishing using staged build2 toolchain
-continue? [y/n] pushing branch build2-control
-remote:
-remote: Create a pull request for 'build2-control' on GitHub by visiting:
-remote: https://github.com/boris-kolpackov/hello/pull/new/build2-control
-remote:
+continue? [y/n] y
+remote:
+remote: Create a pull request for 'build2-control' on GitHub by visiting:
+remote: https://github.com/boris-kolpackov/hello/pull/new/build2-control
+remote:
Branch 'build2-control' set up to track remote branch 'build2-control' from 'origin'.
-submitting hello-0.1.0.tar.gz
- % Total % Received % Xferd Average Speed Time Time Time Current
- Dload Upload Total Spent Left Speed
- 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 94 2203 0 0 100 2087 0 1315 0:00:01 0:00:01 --:--:-- 1315 100 2203 100 116 100 2087 73 1315 0:00:01 0:00:01 --:--:-- 1315
package submission is queued: https://queue.cppget.org/hello/0.1.0
-reference: 44aaead7a984
+reference: 1ba1d57aebbb
+ bdep release --open --push
opening:
@@ -613,9 +722,9 @@ opening:
open: 0.2.0-a.0.z
commit: yes
push: origin/master
-continue? [y/n] [master 78814f9] Change version to 0.2.0-a.0.z
+continue? [y/n] y
+[master 6d08d43] Change version to 0.2.0-a.0.z
1 file changed, 1 insertion(+), 1 deletion(-)
-pushing branch master
+ bdep new -C hello-gcc @gcc -t exe -l c++ hello cc config.cxx=g++
created new executable project hello in /tmp/hello/
@@ -688,8 +797,8 @@ c++ ../libhello/tests/basics/cxx{driver}@../hello-gcc/libhello/tests/basics/
ld ../hello-gcc/libhello/libhello/libs{hello}
ld ../hello-gcc/libhello/tests/basics/exe{driver}
ld ../hello-gcc/hello/hello/exe{hello}
-test ../hello-gcc/libhello/tests/basics/exe{driver}
test hello/testscript{testscript}@../hello-gcc/hello/hello/ ../hello-gcc/hello/hello/exe{hello}
+test ../hello-gcc/libhello/tests/basics/exe{driver}
+ bdep new -C hello-gcc @gcc -t exe -l c++ hello cc config.cxx=g++
created new executable project hello in /tmp/hello/
@@ -732,21 +841,21 @@ synchronizing:
synchronizing:
upgrade hello/0.1.0-a.0.19700101000000#2
mkdir ../hello-gcc/libhello/fsdir{libhello/}
-mkdir ../hello-gcc/hello/fsdir{hello/}
mkdir ../hello-gcc/libhello/tests/fsdir{basics/}
+mkdir ../hello-gcc/hello/fsdir{hello/}
version.in libhello/libhello/version.hxx.in
-c++ libhello/libhello/cxx{hello}@../hello-gcc/libhello/libhello/
c++ hello/hello/cxx{hello}@../hello-gcc/hello/hello/
+c++ libhello/libhello/cxx{hello}@../hello-gcc/libhello/libhello/
c++ libhello/tests/basics/cxx{driver}@../hello-gcc/libhello/tests/basics/
ld ../hello-gcc/libhello/libhello/libs{hello}
-ld ../hello-gcc/hello/hello/exe{hello}
ld ../hello-gcc/libhello/tests/basics/exe{driver}
+ld ../hello-gcc/hello/hello/exe{hello}
test ../hello-gcc/libhello/tests/basics/exe{driver}
test hello/hello/testscript{testscript}@../hello-gcc/hello/hello/ ../hello-gcc/hello/hello/exe{hello}
+ bpkg create -d tools cc config.cxx=g++ config.cc.coptions=-O3 config.install.root=/opt/tools config.install.sudo=sudo config.bin.rpath=/opt/tools/lib
created new configuration in /tmp/tools/
- uuid: 481e4c3d-c27d-49bc-80b3-842eef804942
+ uuid: 6ce7c9f5-4d02-4334-a064-21c3a2399ac0
type: target
+ cd tools
@@ -754,40 +863,29 @@ created new configuration in /tmp/tools/
+ bpkg build hello@https://git.build2.org/hello/hello.git
added git:build2.org/hello/hello
fetching git:build2.org/hello/hello
-querying https://git.build2.org/hello/hello.git
-fetching from https://git.build2.org/hello/hello.git
fetching git:build2.org/hello/libhello (prerequisite of git:build2.org/hello/hello)
-querying https://git.build2.org/hello/libhello.git
-fetching from https://git.build2.org/hello/libhello.git
fetching git:build2.org/hello/libformat##HEAD (prerequisite of git:build2.org/hello/libhello)
-querying https://git.build2.org/hello/libformat.git
-fetching from https://git.build2.org/hello/libformat.git
fetching git:build2.org/hello/libprint##HEAD (prerequisite of git:build2.org/hello/libhello)
-querying https://git.build2.org/hello/libprint.git
-fetching from https://git.build2.org/hello/libprint.git
new libformat/1.0.0+8 (required by libhello)
new libprint/1.0.0+8 (required by libhello)
new libhello/1.1.0+8 (required by hello)
new hello/1.0.0+7
-continue? [Y/n] distributing libformat/1.0.0+8
+continue? [Y/n] y
checked out libformat/1.0.0+8
-distributing libprint/1.0.0+8
checked out libprint/1.0.0+8
-distributing libhello/1.1.0+8
checked out libhello/1.1.0+8
-distributing hello/1.0.0+7
checked out hello/1.0.0+7
configured libformat/1.0.0+8
configured libprint/1.0.0+8
configured libhello/1.1.0+8
configured hello/1.0.0+7
-version.in libhello-1.1.0+8/libhello/version.hxx.in
version.in libprint-1.0.0+8/libprint/version.hxx.in
+version.in libhello-1.1.0+8/libhello/version.hxx.in
version.in libformat-1.0.0+8/libformat/version.hxx.in
+c++ libformat-1.0.0+8/libformat/cxx{format}
+c++ libhello-1.1.0+8/libhello/cxx{hello}
c++ libprint-1.0.0+8/libprint/cxx{print}
c++ hello-1.0.0+7/hello/cxx{hello}
-c++ libhello-1.1.0+8/libhello/cxx{hello}
-c++ libformat-1.0.0+8/libformat/cxx{format}
ld libprint-1.0.0+8/libprint/libs{print}
ld libformat-1.0.0+8/libformat/libs{format}
ld libhello-1.1.0+8/libhello/libs{hello}
@@ -912,11 +1010,13 @@ following dependencies were automatically built but will no longer be used:
libhello
libformat
libprint
-drop unused packages? [Y/n] drop hello
+drop unused packages? [Y/n] y
+ drop hello
drop libhello
drop libformat
drop libprint
-continue? [Y/n] disfigured hello
+continue? [Y/n] y
+disfigured hello
disfigured libhello
disfigured libformat
disfigured libprint