diff --git a/README.md b/README.md index 5747a2a..b2e1889 100644 --- a/README.md +++ b/README.md @@ -195,8 +195,8 @@ scripts can be in any other interpreted language.__ First you'll need a copy of this framework available in your project sources. Archives are available at: -- https://github.com/mbland/go-script-bash/archive/v1.0.0.tar.gz -- https://github.com/mbland/go-script-bash/archive/v1.0.0.zip +- https://github.com/mbland/go-script-bash/archive/v1.1.0.tar.gz +- https://github.com/mbland/go-script-bash/archive/v1.1.0.zip You can also add this repository to your project as a [`Git submodule`](https://git-scm.com/book/en/v2/Git-Tools-Submodules): diff --git a/RELEASE.md b/RELEASE.md index d87b7a7..4e30fc9 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -1,4 +1,6 @@ -# go-script-bash v1.0.0 +# go-script-bash v1.1.0 + +This release adds some major new features, two new builtin commands, and multiple bug fixes and internal improvements. ## The `./go` script: a unified development environment interface @@ -11,3 +13,302 @@ The `./go` script idea came from Pete Hodgson's blog posts [In Praise of the ./g **Note:** The `./go` script concept is completely unrelated to the [Go programming language](https://golang.org), though the Go language's `go` command encapsulates many common project functions in a similar fashion. This software is made available as [Open Source software](https://opensource.org/osd-annotated) under the [ISC License](https://www.isc.org/downloads/software-support-policy/isc-license/). If you'd care to contribute to this project, be it code fixes, documentation updates, or new features, please read the `CONTRIBUTING.md` file. + +## What's new in this release + +### Modules + +You can import optional Bash library code from the core framework, third-party plugins, or your own project's scripts directory by sourcing the `_GO_USE_MODULES` script. See the **Modules** section of the README or run `./go help modules` and `./go modules --help` for more information. + +### Logging + +The core library `log` module provides functions for standard logging facilities. For more information, see the **Logging** section from the README and run `./go modules --help log`. + +### Bats test assertions and helpers + +The assertions and helpers from the test suite have been extracted into the `lib/bats/assertions` and `lib/bats/helpers` libraries. See the **Bats test assertions and helpers** section from the README and read the comments from each file for more information. + +### `kcov-ubuntu` module for test coverage on Linux + +The `kcov-ubuntu` module provides the `run_kcov` function that uses [kcov](https://github.com/SimonKagstrom/kcov) to collect test coverage on Ubuntu Linux. See the **`kcov-ubuntu` module for test coverage on Linux** section of the README and run `./go modules --help kcov-ubuntu` for more information. + +### Exported `_GO_*` variables and the `vars` builtin command + +A number of global variables starting with the prefix `_GO_*` are exported as environment variables and are available to command scripts in all languages. See the **Command script API** section from the README and run `./go help vars` for more information. + +## Changes since v1.0.0 + +
+9411a89 Mike Bland 
+        Merge pull request #23 from mbland/version
+
+e8ef35b Mike Bland 
+        core: Introduce _GO_CORE_VERSION
+
+17a69d2 Mike Bland 
+        Add documentation improvements for v1.1.0 release
+
+ecd2d81 Mike Bland 
+        use: Unset correct variable
+
+006c38b Mike Bland 
+        Merge pull request #22 from mbland/remove-stale-files
+
+e17c181 Mike Bland 
+        Remove old test `./go` scripts
+
+f9675e5 Mike Bland 
+        Merge pull request #21 from mbland/plugins
+
+33c54b6 Mike Bland 
+        plugins: Revert changes from #20
+
+ce20155 Mike Bland 
+        Merge pull request #20 from mbland/vars
+
+6b376eb Mike Bland 
+        vars: Make test array quotifying more robust
+
+241d2c7 Mike Bland 
+        Revamp `_GO_*` var exports, add `vars` builtin
+
+7c1123b Mike Bland 
+        Move all _GO_* vars to core and document them
+
+17beb1e Mike Bland 
+        Merge pull request #19 from mbland/assert-lines-equal
+
+70d546f Mike Bland 
+        assertions: Add assert_lines_equal
+
+32d47fc Mike Bland 
+        changes: Don't add `^` to end ref
+
+580f08d Mike Bland 
+        core: Tweak COLUMNS test slightly
+
+47b6e63 Mike Bland 
+        Merge pull request #18 from mbland/columns
+
+5292839 Mike Bland 
+        core: Fix test for OS X on Travis without /dev/tty
+
+c7ee892 Mike Bland 
+        core: Reproduce and fix `tput cols` error from #17
+
+664a51f Mike Bland 
+        Merge pull request #17 from mbland/columns
+
+5bdbd2c Mike Bland 
+        core: Update how COLUMNS is set
+
+5fc49a5 Mike Bland 
+        log: Skip setup-project test case on MSYS2
+
+0e91281 Mike Bland 
+        Merge pull request #16 from mbland/log-setup
+
+ecb6b83 Mike Bland 
+        log: Fix @go.critical_section_end return bug
+
+b7f7699 Mike Bland 
+        log: Add @go.setup_project function
+
+ed05f2b Mike Bland 
+        Merge pull request #15 from mbland/log-command
+
+da20203 Mike Bland 
+        log: Add log_command tests for @go command cases
+
+db79ba1 Mike Bland 
+        log: Add @go.log_command, critical section flag
+
+43fae60 Mike Bland 
+        Merge pull request #14 from mbland/add-or-update-log-level
+
+949fb32 Mike Bland 
+        log: Implement @go.add_or_update_log_level
+
+dd712c6 Mike Bland 
+        Merge pull request #13 from mbland/log
+
+0a7bc5e Mike Bland 
+        lib/log: Add logging module
+
+31a1d30 Mike Bland 
+        complete: Fix typo in internal library comment
+
+3cc22b0 Mike Bland 
+        Merge pull request #12 from mbland/assertions
+
+0d94845 Mike Bland 
+        Revert previous two commits
+
+f4a0f85 Mike Bland 
+        assertions: Reset return trap when trap exits
+
+7ca3d05 Mike Bland 
+        assertions: Introduce bats_assertion_return_trap
+
+40d6218 Mike Bland 
+        assertions: Make public return_from_bats_assertion
+
+87bb07c Mike Bland 
+        assertions: Reproduce and fix latent functrace bug
+
+52bc541 Mike Bland 
+        Merge pull request #11 from mbland/complete
+
+112e046 Mike Bland 
+        env/bash: Put single quotes around unset argument
+
+e7f02fe Mike Bland 
+        complete: Eliminate compgen from internal library
+
+096f0f3 Mike Bland 
+        bats/assertions: Change double quotes to single
+
+d8e4231 Mike Bland 
+        complete: Replace most compgen calls with echo
+
+4d61457 Mike Bland 
+        complete: Switch all tests to use ./go complete
+
+54e8e9a Mike Bland 
+        Merge pull request #10 from mbland/tput-fix-test-docs
+
+e779deb Mike Bland 
+        test: Expand comments, refactor slightly
+
+b9792bf Mike Bland 
+        kcov-ubuntu: Update run_kcov function comment
+
+4c66893 Mike Bland 
+        core: Undo tput error redirect
+
+676dd18 Mike Bland 
+        Merge pull request #9 from mbland/bats-libs
+
+69fb63b Mike Bland 
+        bats/assertions: Reorder functions, add docs
+
+d692bb9 Mike Bland 
+        bats/assertions: Add optional fail() reason, docs
+
+ac8ed3f Mike Bland 
+        tests: Extract public bats/assertions module
+
+2707493 Mike Bland 
+        tests: Consolidate environment.bash
+
+c77932e Mike Bland 
+        kcov: Convert to public kcov-ubuntu module
+
+1a47920 Mike Bland 
+        cmd-desc: Remove create_test_command_script calls
+
+3deee25 Mike Bland 
+        run-cmd: Update _GO_* var tests to run subcommands
+
+4168b58 Mike Bland 
+        Extract public bats/helpers module
+
+87ce40a Mike Bland 
+        Merge pull request #8 from mbland/cmd-name-argv
+
+202b17c Mike Bland 
+        core: Export _GO_CMD_{NAME,ARGV}, add Bash test
+
+d674191 Mike Bland 
+        Merge pull request #7 from mbland/cmd-desc
+
+9bd1524 Mike Bland 
+        core: Default to 80 columns on all tput errors
+
+47d9476 Mike Bland 
+        TEMP: Print value of $TERM to debug Travis issue
+
+271c726 Mike Bland 
+        core: Check $TERM before setting columns with tput
+
+c1ba9c8 Mike Bland 
+        cmd_desc: Show full command names in descriptions
+
+c2098c4 Mike Bland 
+        Merge pull request #6 from mbland/core-updates
+
+2777ca8 Mike Bland 
+        core: Export variables for non-Bash script access
+
+1158bc7 Mike Bland 
+        core: Escape % when only one @go.printf argument
+
+995daf0 Mike Bland 
+        script_helper: Default to bash, allow other langs
+
+6444f51 Mike Bland 
+        Merge pull request #5 from mbland/modules-builtin
+
+0a4886a Mike Bland 
+        README: ./go modules help => ./go modules --help
+
+78c447a Mike Bland 
+        test, modules: Quote $_GO_USE_MODULES, add docs
+
+9bb7a45 Mike Bland 
+        Add modules builtin command
+
+766a354 Mike Bland 
+        command_descriptions: Trim trailing whitespace
+
+e764723 Mike Bland 
+        command_descriptions: Return error if read fails
+
+7cd5dd5 Mike Bland 
+        kcov: Add note explaining 2>/dev/null redirection
+
+80b7abe Mike Bland 
+        test: Use time builtin
+
+4c8f931 Mike Bland 
+        complete: Add public module, completion removal
+
+97fd0df Mike Bland 
+        test/script_helper: Add TEST_GO_PLUGINS_DIR
+
+2d88f57 Mike Bland 
+        format: Add public module, pad and zip functions
+
+8c23dcd Mike Bland 
+        Merge pull request #3 from mbland/lightning-talk
+
+4f1e6c6 Mike Bland 
+        README: Update location of lib/internal/env
+
+515730d Mike Bland 
+        README: Add link to Surge 2016 lightning talk
+
+2cbfdda Mike Bland 
+        Merge pull request #2 from mbland/use-modules
+
+a5973af Mike Bland 
+        use: Fix test for bash < 4.4
+
+55d09f9 Mike Bland 
+        test: Replace direct source with _GO_USE_MODULES
+
+ed78d9f Mike Bland 
+        core: Add _GO_USE_MODULES for optional modules
+
+2d5cb96 Mike Bland 
+        Merge pull request #1 from mbland/refactor
+
+345dd55 Mike Bland 
+        Lowercase __go_orig_dir, unset temp globals
+
+e6c29fd Mike Bland 
+        Move all lib/ files to lib/internal/
+
+1634d85 Mike Bland 
+        core: Refactor, update comments
+
diff --git a/go-core.bash b/go-core.bash index 0782bbe..f0c5149 100755 --- a/go-core.bash +++ b/go-core.bash @@ -39,7 +39,7 @@ fi # This and other variables are exported, so that command scripts written in # languages other than Bash (and hence run in new processes) can access them. # See `./go vars` and `./go help vars`. -declare -r -x _GO_CORE_VERSION='v1.0.0' +declare -r -x _GO_CORE_VERSION='v1.1.0' # The URL of the framework's original source repository declare -r -x _GO_CORE_URL='https://github.com/mbland/go-script-bash'