Giter Site home page Giter Site logo

homebrew-tap's Introduction

SDKMAN! Golang CLI

Build Status

This project has been downgraded to a mere spike, the learnings of which will lead to the next phase of exploration of the CLI. We are also looking at Rust as an alternative implementation solution.

The current bash implementation is still completely fit for purpose and remains in full production use.

Living Documentation

SDKMAN's development is always driven by tests. More than that, we use Cucumber to describe the behaviour of the CLI in plain English. We do so using Cucumber features, all of which can be found under the features/ folder of this repo. These Features form a body of Living Documentation that evolves with the software implementation.

The Cucumber Features are backed by Step Definitions, snippets of matched code that are invoked in order as the Cucumber Feature are

Development

Prerequisites

Ensure that Go is installed on your system.

Optionally, install Godog for running the Cucumber specifications directly:

$ go get github.com/DATA-DOG/godog/cmd/godog

Running the tests

To run all tests using Go's builtin test support (unit and cukes):

$ cd path/to/the/repo/sdk
$ go test --godog.format=pretty

If Godog was installed earlier, run the Cucumber specs directly in isolation with the following command:

$ godog

Run

To kick the tyres before building:

$ go run sdk.go version

Build

To build and run the binary executable:

$ go build
$ ./sdk

homebrew-tap's People

Contributors

jreleaserbot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

homebrew-tap's Issues

sdk selfupdate Invalid Command

Hello getting errors on SelfUpdate and Version commands on MacOS (Macbook pro M1 Max - MacOS Ventura 13.4.1)

~ % sdk selfupdate

Invalid command: selfupdate

~ sdk version    
cat: /opt/homebrew/opt/sdkman-cli/libexec/var/version: No such file or directory

SDKMAN

Installed via Homebrew

~ % brew tap sdkman/tap
==> Tapping sdkman/tap
Cloning into '/opt/homebrew/Library/Taps/sdkman/homebrew-tap'...
remote: Enumerating objects: 55, done.
remote: Counting objects: 100% (55/55), done.
remote: Compressing objects: 100% (47/47), done.
remote: Total 55 (delta 16), reused 39 (delta 0), pack-reused 0
Receiving objects: 100% (55/55), 10.36 KiB | 816.00 KiB/s, done.
Resolving deltas: 100% (16/16), done.
Tapped 2 formulae (15 files, 29.8KB).

~ % brew install sdkman-cli
==> Downloading https://formulae.brew.sh/api/formula.jws.json

==> Downloading https://formulae.brew.sh/api/cask.jws.json

==> Fetching sdkman/tap/sdkman-cli
==> Downloading https://github.com/sdkman/sdkman-cli/releases/download/5.18.1/sdkman-cli-5.18.1.zip
==> Downloading from https://objects.githubusercontent.com/github-production-release-asset-2e65be/5573275/f57ee1b9-53b2-4722-b3d
######################################################################################################################### 100.0%
==> Installing sdkman-cli from sdkman/tap
==> curl -s https://api.sdkman.io/2/candidates/all -o /opt/homebrew/Cellar/sdkman-cli/5.18.1/libexec/var/candidates
๐Ÿบ  /opt/homebrew/Cellar/sdkman-cli/5.18.1: 28 files, 65.7KB, built in 3 seconds
==> Running `brew cleanup sdkman-cli`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).

Any work around to get these resolved?
Thanks

apply changes to the bash profile and zsh profile

Compared to https://get.sdkman.io/ the brew formula does not add anything to the bash or zsh profile. This only mentioned here at the README.md.

I didn't notice it even as hint / caveat when running

brew install sdkman-cli

I think, it would be great if no further manual action is necessary after running the install command.

Loses all candidates upon upgrade

I just upgraded a homebrew-based installation of sdkman. I was shocked to find my installed candidates had been deleted and my development environment was broken until I manually issued the sdkman commands to reinstall them.

Is there a way to store the installed software in a version-independent location outside of the homebrew Cellar version specific directory?

Can't print version

I followed these instructions on my Macbook, but by modifiying .zshrc rather than .bash-profile, and I got the following issue during sdk version:

gerardo@macbook ~ % sdk version
cat: /usr/local/opt/sdkman-cli/libexec/var/version: No such file or directory

SDKMAN 
gerardo@macbook ~ % 

And indeed that file doesn't exist.

Macbook: MacBook Pro 2020 (Intel)
MacOS: Version 13.3.1 (22E261)
SDKMAN: 5.18.1

All other commands appear to work though.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.