diff options
-rwxr-xr-x | intro2-tldr | 2 | ||||
-rwxr-xr-x | intro2-tour | 59 | ||||
-rw-r--r-- | intro2-tour.orig | 172 |
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} |