summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xintro2-tldr2
-rwxr-xr-xintro2-tour59
-rw-r--r--intro2-tour.orig172
3 files changed, 196 insertions, 37 deletions
diff --git a/intro2-tldr b/intro2-tldr
index 31d5f49..ee1f487 100755
--- a/intro2-tldr
+++ b/intro2-tldr
@@ -32,7 +32,7 @@ rm -rf hello.git hello hello-gcc
# Prepare hello.git repository.
#
-bdep new -t exe -l c++ --no-init -d hello.git hello
+bdep new -t exe -l c++ --no-init -o hello.git hello
cd hello.git
sed -i -re 's/version: .+/version: 0.1.0/' manifest
git add .
diff --git a/intro2-tour b/intro2-tour
index 794ed2e..aca5085 100755
--- a/intro2-tour
+++ b/intro2-tour
@@ -41,7 +41,7 @@ function clean ()
rm -rf hello hello-gcc hello-clang hello-vc-* hello-mingw
}
-##if false; then
+## if false; then
clean
@@ -81,6 +81,8 @@ show bdep update @mingw
show bdep test @mingw
show ../hello-mingw/hello/hello/hello.exe Windows
+show bdep deinit @gcc @clang
+
cd ..
##fi
@@ -227,7 +229,60 @@ git commit -a -m "Another commit"
show bdep status
cd ..
-##fi
+## fi
+
+# Developing Multiple Packages and Projects (multi-project).
+#
+rm -rf libhello
+
+clean
+show bdep new -C hello-gcc @gcc -t exe -l c++ hello cc config.cxx=$gcc
+cd hello
+show bdep init -C ../hello-clang @clang cc config.cxx=$clang
+cd ..
+
+show bdep new -t lib -l c++ libhello
+show cd libhello
+
+show bdep init -A ../hello-gcc @gcc
+show bdep init -A ../hello-clang @clang
+
+show cd ../hello
+cat <<EOF >>manifest
+depends: libhello
+EOF
+sed -i -re 's/^#import/import/' hello/buildfile
+
+show bdep test -i
+
+# Developing Multiple Packages and Projects (multi-package).
+#
+clean
+show bdep new -C hello-gcc @gcc -t exe -l c++ hello cc config.cxx=$gcc
+show cd hello
+show bdep init -C ../hello-clang @clang cc config.cxx=$clang
+
+mkdir tmp
+mv build hello buildfile manifest .gitignore tmp/
+mv tmp hello
+
+show bdep new --package -t lib -l c++ libhello
+show cat packages.manifest
+cat <<EOF >>packages.manifest
+:
+location: hello/
+EOF
+
+show cd libhello
+show bdep init -a
+
+show cd ..
+cat <<EOF >>hello/manifest
+depends: libhello
+EOF
+sed -i -re 's/^#import/import/' hello/hello/buildfile
+
+show bdep test
# Package Consumption.
#
diff --git a/intro2-tour.orig b/intro2-tour.orig
index e8e2c21..48228aa 100644
--- a/intro2-tour.orig
+++ b/intro2-tour.orig
@@ -22,10 +22,10 @@ hello
+ cat hello/hello.cxx
#include <iostream>
-using namespace std;
-
int main (int argc, char* argv[])
{
+ using namespace std;
+
if (argc < 2)
{
cerr << "error: missing name" << endl;
@@ -67,36 +67,30 @@ depends: * bpkg >= 0.7.0-
#depends: libhello ^1.0.0
+ bdep init -C ../hello-gcc @gcc cc config.cxx=g++
-initializing project /tmp/hello/
+initializing in project /tmp/hello/
created configuration @gcc /tmp/hello-gcc/ (1, default, forwarded, auto-synchronized)
synchronizing:
new hello/0.1.0-a.0.19700101000000
+ bdep init -C ../hello-clang @clang cc config.cxx=clang++-5.0
-initializing project /tmp/hello/
+initializing in project /tmp/hello/
created configuration @clang /tmp/hello-clang/ (2, auto-synchronized)
synchronizing:
new hello/0.1.0-a.0.19700101000000
-+ ls -d -1 ../hello ../hello1 ../hello1-gcc ../hello2 ../hello2-gcc ../hello-clang ../hello-gcc ../hello-gcc-1 ../hello.git
++ ls -d -1 ../hello ../hello-clang ../hello-gcc
../hello
-../hello1
-../hello1-gcc
-../hello2
-../hello2-gcc
../hello-clang
../hello-gcc
-../hello-gcc-1
-../hello.git
+ bdep init -C ../hello-vc-debug @debug cc config.cxx=cl-15 config.cc.coptions=/MDd /Z7 config.cc.loptions=/DEBUG
-initializing project /tmp/hello/
+initializing in project /tmp/hello/
created configuration @debug /tmp/hello-vc-debug/ (3, auto-synchronized)
synchronizing:
new hello/0.1.0-a.0.19700101000000
+ bdep init -C ../hello-vc-release @release cc config.cxx=cl-15 config.cc.coptions=/O2
-initializing project /tmp/hello/
+initializing in project /tmp/hello/
created configuration @release /tmp/hello-vc-release/ (4, auto-synchronized)
synchronizing:
new hello/0.1.0-a.0.19700101000000
@@ -147,7 +141,7 @@ in configuration @clang:
test hello/test{testscript}@../hello-clang/hello/hello/ ../hello-clang/hello/hello/exe{hello}
+ bdep init -C ../hello-mingw @mingw cc config.cxx=x86_64-w64-mingw32-g++
-initializing project /tmp/hello/
+initializing in project /tmp/hello/
created configuration @mingw /tmp/hello-mingw/ (5, auto-synchronized)
synchronizing:
new hello/0.1.0-a.0.19700101000000
@@ -163,6 +157,16 @@ test hello/test{testscript}@../hello-mingw/hello/hello/ ../hello-mingw/hello/hel
+ ../hello-mingw/hello/hello/hello.exe Windows
Hello, Windows!
++ bdep deinit @gcc @clang
+deinitializing in project /tmp/hello/
+in configuration @gcc:
+synchronizing:
+ drop hello
+
+in configuration @clang:
+synchronizing:
+ drop 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, default, forwarded, auto-synchronized)
@@ -170,7 +174,7 @@ synchronizing:
new hello/0.1.0-a.0.19700101000000
+ bdep init -C ../hello-clang @clang cc config.cxx=clang++-5.0
-initializing project /tmp/hello/
+initializing in project /tmp/hello/
created configuration @clang /tmp/hello-clang/ (2, auto-synchronized)
synchronizing:
new hello/0.1.0-a.0.19700101000000
@@ -210,7 +214,7 @@ synchronizing:
new libhello/1.0.0 (required by hello)
upgrade hello/0.1.0-a.0.19700101000000#1
- 0K ... 100% 94.3M=0s
+ 0K ... 100% 101M=0s
+ b
synchronizing /tmp/hello-gcc/:
upgrade hello/0.1.0-a.0.19700101000000#2
@@ -239,7 +243,7 @@ synchronizing:
new libhello/1.0.0 (required by hello)
upgrade hello/0.1.0-a.0.19700101000000#1
- 0K ... 100% 98.9M=0s
+ 0K ... 100% 95.1M=0s
+ bdep test -ai
in configuration @gcc:
c++ ../hello-gcc/libhello-1.0.0/tests/basics/cxx{driver}
@@ -250,14 +254,14 @@ test ../hello-gcc/libhello-1.0.0/tests/basics/exe{driver}
in configuration @clang:
mkdir ../hello-clang/hello/fsdir{hello/}
ver ../hello-clang/libhello-1.0.0/libhello/version.hxx.in
-c++ ../hello-clang/libhello-1.0.0/tests/basics/cxx{driver}
c++ ../hello-clang/libhello-1.0.0/libhello/cxx{hello}
+c++ ../hello-clang/libhello-1.0.0/tests/basics/cxx{driver}
c++ hello/cxx{hello}@../hello-clang/hello/hello/
ld ../hello-clang/libhello-1.0.0/libhello/libs{hello}
-ld ../hello-clang/libhello-1.0.0/tests/basics/exe{driver}
ld ../hello-clang/hello/hello/exe{hello}
-test hello/test{testscript}@../hello-clang/hello/hello/ ../hello-clang/hello/hello/exe{hello}
+ld ../hello-clang/libhello-1.0.0/tests/basics/exe{driver}
test ../hello-clang/libhello-1.0.0/tests/basics/exe{driver}
+test hello/test{testscript}@../hello-clang/hello/hello/ ../hello-clang/hello/hello/exe{hello}
+ bdep status
hello configured 0.1.0-a.0.19700101000000#2 available 0.1.0-a.0.19700101000000#3
@@ -270,7 +274,7 @@ synchronizing:
new libhello/1.0.0 (required by hello)
upgrade hello/0.1.0-a.0.19700101000000#4
- 0K ... 100% 95.9M=0s
+ 0K ... 100% 94.7M=0s
+ bdep fetch
fetching git:build2.org/hello/libhello (prerequisite of dir:/tmp/hello)
querying https://git.build2.org/hello/libhello.git
@@ -324,8 +328,8 @@ mkdir libextra-gcc/libextra/fsdir{libextra/}
ver libextra/libextra/version.hxx.in
c++ libextra/libextra/cxx{extra}@libextra-gcc/libextra/libextra/
c++ libextra/libextra/cxx{extra}@libextra-gcc/libextra/libextra/
-ld libextra-gcc/libextra/libextra/liba{extra}
ld libextra-gcc/libextra/libextra/libs{extra}
+ld libextra-gcc/libextra/libextra/liba{extra}
install unpkg-gcc/
install unpkg-gcc/include/
install unpkg-gcc/include/libextra/
@@ -353,7 +357,7 @@ unpkg-gcc
4 directories, 8 files
+ bdep init -C ../hello-gcc-1 @gcc1 cc config.cxx=g++ config.cc.poptions=-I/tmp/unpkg-gcc/include config.cc.loptions=-L/tmp/unpkg-gcc/lib
-initializing project /tmp/hello/
+initializing in project /tmp/hello/
created configuration @gcc1 /tmp/hello-gcc-1/ (3, auto-synchronized)
fetching git:build2.org/hello/libhello (prerequisite of dir:/tmp/hello)
querying https://git.build2.org/hello/libhello.git
@@ -379,9 +383,9 @@ mkdir ../hello-gcc-1/hello/fsdir{hello/}
ver ../hello-gcc-1/libhello-1.1.0/libhello/version.hxx.in
ver ../hello-gcc-1/libformat-1.0.0/libformat/version.hxx.in
ver ../hello-gcc-1/libprint-1.0.0/libprint/version.hxx.in
+c++ ../hello-gcc-1/libprint-1.0.0/libprint/cxx{print}
c++ ../hello-gcc-1/libprint-1.0.0/tests/basics/cxx{driver}
c++ ../hello-gcc-1/libformat-1.0.0/tests/basics/cxx{driver}
-c++ ../hello-gcc-1/libprint-1.0.0/libprint/cxx{print}
c++ ../hello-gcc-1/libhello-1.1.0/libhello/cxx{hello}
c++ ../hello-gcc-1/libformat-1.0.0/libformat/cxx{format}
c++ ../hello-gcc-1/libhello-1.1.0/tests/basics/cxx{driver}
@@ -416,7 +420,7 @@ test hello/test{testscript}@../hello-gcc/hello/hello/ ../hello-gcc/hello/hello/e
synchronizing:
configure sys:libsqlite3/*
upgrade hello/0.1.0-a.0.19700101000000#5
-[master (root-commit) 7566fd1] Start hello project
+[master (root-commit) 3743acb] Start hello project
11 files changed, 118 insertions(+)
create mode 100644 .gitignore
create mode 100644 build/.gitignore
@@ -431,11 +435,11 @@ synchronizing:
create mode 100644 repositories.manifest
+ bdep status
-hello configured 0.1.0-a.0.19700101000000#5 available 0.1.0-a.0.20180512075852.7566fd12c353
+hello configured 0.1.0-a.0.19700101000000#5 available 0.1.0-a.0.20180514120938.3743acb50ddf
+ b info
project: hello
-version: 0.1.0-a.0.20180512075852.7566fd12c353
+version: 0.1.0-a.0.20180514120938.3743acb50ddf
summary: hello executable project
url: https://example.org/hello
src_root: /tmp/hello/
@@ -445,18 +449,118 @@ subprojects:
+ bdep sync
synchronizing:
- upgrade hello/0.1.0-a.0.20180512075852.7566fd12c353
+ upgrade hello/0.1.0-a.0.20180514120938.3743acb50ddf
+ bdep status
-hello configured 0.1.0-a.0.20180512075852.7566fd12c353
-[master 13e11b0] Another commit
+hello configured 0.1.0-a.0.20180514120938.3743acb50ddf
+[master 366545b] Another commit
1 file changed, 1 insertion(+)
+ bdep status
-hello configured 0.1.0-a.0.20180512075852.7566fd12c353 available 0.1.0-a.0.20180512075853.13e11b05aacb
+hello configured 0.1.0-a.0.20180514120938.3743acb50ddf available 0.1.0-a.0.20180514120939.366545be657d
+
++ 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, default, forwarded, auto-synchronized)
+synchronizing:
+ new hello/0.1.0-a.0.19700101000000
+
++ bdep init -C ../hello-clang @clang cc config.cxx=clang++-5.0
+initializing in project /tmp/hello/
+created configuration @clang /tmp/hello-clang/ (2, auto-synchronized)
+synchronizing:
+ new hello/0.1.0-a.0.19700101000000
+
++ bdep new -t lib -l c++ libhello
+created new library project libhello in /tmp/libhello/
+
++ cd libhello
+
++ bdep init -A ../hello-gcc @gcc
+initializing in project /tmp/libhello/
+added configuration @gcc /tmp/hello-gcc/ (1, default, forwarded, auto-synchronized)
+synchronizing:
+ new libhello/0.1.0-a.0.19700101000000
+
++ bdep init -A ../hello-clang @clang
+initializing in project /tmp/libhello/
+added configuration @clang /tmp/hello-clang/ (2, auto-synchronized)
+synchronizing:
+ new libhello/0.1.0-a.0.19700101000000
+
++ cd ../hello
+
++ bdep test -i
+synchronizing:
+ upgrade hello/0.1.0-a.0.19700101000000#1
+mkdir ../hello-gcc/libhello/fsdir{libhello/}
+mkdir ../hello-gcc/libhello/tests/fsdir{basics/}
+mkdir ../hello-gcc/hello/fsdir{hello/}
+ver ../libhello/libhello/version.hxx.in
+c++ ../libhello/libhello/cxx{hello}@../hello-gcc/libhello/libhello/
+c++ hello/cxx{hello}@../hello-gcc/hello/hello/
+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}
+test hello/test{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/hello/
+created configuration @gcc /tmp/hello/hello-gcc/ (1, default, forwarded, auto-synchronized)
+synchronizing:
+ new hello/0.1.0-a.0.19700101000000
+
++ cd hello
+
++ bdep init -C ../hello-clang @clang cc config.cxx=clang++-5.0
+initializing in project /tmp/hello/hello/
+created configuration @clang /tmp/hello/hello-clang/ (2, auto-synchronized)
+synchronizing:
+ new hello/0.1.0-a.0.19700101000000
+
++ bdep new --package -t lib -l c++ libhello
+created new library package libhello in /tmp/hello/hello/libhello/
+
++ cat packages.manifest
+: 1
+location: libhello/
+
++ cd libhello
+
++ bdep init -a
+initializing in project /tmp/hello/hello/
+in configuration @gcc:
+synchronizing:
+ upgrade hello/0.1.0-a.0.19700101000000#1
+ new libhello/0.1.0-a.0.19700101000000
+
+in configuration @clang:
+synchronizing:
+ upgrade hello/0.1.0-a.0.19700101000000#1
+ new libhello/0.1.0-a.0.19700101000000
+
++ cd ..
+
++ bdep test
+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/}
+ver libhello/libhello/version.hxx.in
+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/libhello/tests/basics/exe{driver}
+ld ../hello-gcc/hello/hello/exe{hello}
+test hello/hello/test{testscript}@../hello-gcc/hello/hello/ ../hello-gcc/hello/hello/exe{hello}
+test ../hello-gcc/libhello/tests/basics/exe{driver}
+ 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/
+created new configuration in /tmp/hello/hello/tools/
+ cd tools
@@ -491,10 +595,10 @@ distributing hello/1.0.0
checked out hello/1.0.0
configured hello/1.0.0
ver libhello-1.1.0/libhello/version.hxx.in
-ver libprint-1.0.0/libprint/version.hxx.in
ver libformat-1.0.0/libformat/version.hxx.in
-c++ libhello-1.1.0/libhello/cxx{hello}
+ver libprint-1.0.0/libprint/version.hxx.in
c++ libprint-1.0.0/libprint/cxx{print}
+c++ libhello-1.1.0/libhello/cxx{hello}
c++ libformat-1.0.0/libformat/cxx{format}
c++ hello-1.0.0/hello/cxx{hello}
ld libprint-1.0.0/libprint/libs{print}