From 2aac6bb4b179a45908cd9d8c6656fef671c24042 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Fri, 13 Jul 2018 12:27:28 +0200 Subject: Initial infrastructure setup --- .gitignore | 1 + INSTALL | 6 ++++++ LICENSE | 20 ++++++++++++++++++++ NEWS | 0 README | 23 +++++++++++++++++++++++ build/.gitignore | 3 +++ build/bootstrap.build | 11 +++++++++++ build/root.build | 16 ++++++++++++++++ buildfile | 10 ++++++++++ libbutl/buildfile | 5 +++++ libbutl/manifest-parser.bash | 3 +++ manifest | 17 +++++++++++++++++ tests/.gitignore | 2 ++ tests/buildfile | 5 +++++ 14 files changed, 122 insertions(+) create mode 100644 .gitignore create mode 100644 INSTALL create mode 100644 LICENSE create mode 100644 NEWS create mode 100644 README create mode 100644 build/.gitignore create mode 100644 build/bootstrap.build create mode 100644 build/root.build create mode 100644 buildfile create mode 100644 libbutl/buildfile create mode 100644 libbutl/manifest-parser.bash create mode 100644 manifest create mode 100644 tests/.gitignore create mode 100644 tests/buildfile diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..13d880b --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.bdep/ diff --git a/INSTALL b/INSTALL new file mode 100644 index 0000000..fbea44b --- /dev/null +++ b/INSTALL @@ -0,0 +1,6 @@ +The easiest way to build this package is with the bpkg package manager: + +$ bpkg build libbutl.bash + +But if you don't want to use the package manager, then you can also build it +manually using the standard build2 build system. diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..c1332e6 --- /dev/null +++ b/LICENSE @@ -0,0 +1,20 @@ +Copyright (c) 2014-2018 Code Synthesis Ltd + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/NEWS b/NEWS new file mode 100644 index 0000000..e69de29 diff --git a/README b/README new file mode 100644 index 0000000..5365579 --- /dev/null +++ b/README @@ -0,0 +1,23 @@ +This package contains the build2 utility library for bash. + +build2 is an open source, cross-platform toolchain for building and packaging +C++ code. Its aim is a modern build system and dependency manager for the C++ +language that provide a consistent, out of the box interface across multiple +platforms and compilers. For more information see: + +https://build2.org/ + +This library is a collection of bash utilities that are used throughout the +toolchain. + +See the NEWS file for the user-visible changes from the previous release. + +See the LICENSE file for the distribution conditions. + +See the INSTALL file for the prerequisites and installation instructions. + +See the doc/ directory for documentation. + +Send questions, bug reports, or any other feedback to the users@build2.org +mailing list. You can post without subscribing. See https://lists.build2.org +for details. diff --git a/build/.gitignore b/build/.gitignore new file mode 100644 index 0000000..4a730a3 --- /dev/null +++ b/build/.gitignore @@ -0,0 +1,3 @@ +config.build +root/ +bootstrap/ diff --git a/build/bootstrap.build b/build/bootstrap.build new file mode 100644 index 0000000..8e62ed7 --- /dev/null +++ b/build/bootstrap.build @@ -0,0 +1,11 @@ +# file : build/bootstrap.build +# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd +# license : MIT; see accompanying LICENSE file + +project = libbutl.bash + +using version +using config +using dist +using test +using install diff --git a/build/root.build b/build/root.build new file mode 100644 index 0000000..d0d4e08 --- /dev/null +++ b/build/root.build @@ -0,0 +1,16 @@ +# file : build/root.build +# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd +# license : MIT; see accompanying LICENSE file + +# Bash module target type. +# +# We install it into the same location where the scripts that use it would +# presumably go. +# +# @@ Path/string cast is ugly, should go away once have implicit to-untyped +# conversion during function call. +# +define bash: file +bash{*}: extension = bash +bash{*}: install = bin/([string] $path.base([path] $project))/ +bash{*}: install.mode = 644 diff --git a/buildfile b/buildfile new file mode 100644 index 0000000..cb1610f --- /dev/null +++ b/buildfile @@ -0,0 +1,10 @@ +# file : buildfile +# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd +# license : MIT; see accompanying LICENSE file + +./: {*/ -build/} doc{INSTALL LICENSE NEWS README} manifest + +# Don't install tests or the INSTALL file. +# +tests/: install = false +doc{INSTALL}@./: install = false diff --git a/libbutl/buildfile b/libbutl/buildfile new file mode 100644 index 0000000..6509396 --- /dev/null +++ b/libbutl/buildfile @@ -0,0 +1,5 @@ +# file : libbutl/buildfile +# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd +# license : MIT; see accompanying LICENSE file + +./: bash{manifest-parser} diff --git a/libbutl/manifest-parser.bash b/libbutl/manifest-parser.bash new file mode 100644 index 0000000..4de96a6 --- /dev/null +++ b/libbutl/manifest-parser.bash @@ -0,0 +1,3 @@ +# file : libbutl/manifest-parser.bash +# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd +# license : MIT; see accompanying LICENSE file diff --git a/manifest b/manifest new file mode 100644 index 0000000..d9743b6 --- /dev/null +++ b/manifest @@ -0,0 +1,17 @@ +: 1 +name: libbutl.bash +version: 0.8.0-a.0.z +project: build2 +summary: build2 utility library for bash +license: MIT +tags: utility, library, bash +description-file: README +changes-file: NEWS +url: https://build2.org +doc-url: https://build2.org/doc.xhtml +src-url: https://git.build2.org/cgit/libbutl.bash/tree/ +email: users@build2.org +build-email: builds@build2.org +requires: bash >= 4 +depends: * build2 >= 0.8.0- +depends: * bpkg >= 0.8.0- diff --git a/tests/.gitignore b/tests/.gitignore new file mode 100644 index 0000000..35ec43f --- /dev/null +++ b/tests/.gitignore @@ -0,0 +1,2 @@ +test/ +test-*/ diff --git a/tests/buildfile b/tests/buildfile new file mode 100644 index 0000000..d248d2b --- /dev/null +++ b/tests/buildfile @@ -0,0 +1,5 @@ +# file : tests/buildfile +# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd +# license : MIT; see accompanying LICENSE file + +./: {*/ -build/} -- cgit v1.1