Sumo Logic's Scala-based interactive shell framework
These are the components we provide:
shellbase-core
contains everything you need to make a basic, working shellshellbase-slack
contains the necessary pieces to post your commands to Slack.
<dependency>
<groupId>com.sumologic.shellbase</groupId>
<artifactId>shellbase-core</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>com.sumologic.shellbase</groupId>
<artifactId>shellbase-slack</artifactId>
<version>1.1.2</version>
</dependency>
- help / ? - Displays a summary of available commands.
- clear - Clears the text on the screen
- exit / quit - Exits the current shell
- sleep / zzz - Sleeps for the specified duration. Can use compact time:
5m
means5 minutes
- echo - Writes output to the screen (STDOUT)
- tee - Lets you fork stdout to a file
- time - Time how long a command took
- run_script / script - Execute the specified script. Will attempt to be smart about locating
We've put together a very simple example shell that can generate random numbers.
-
Locally compile/install skipping the PGP signatures:
mvn clean install -Dgpg.skip=true
-
Change your consumer
pom.xml
to depend on theSNAPSHOT
version generated.
- Make sure you have all credentials.
- Can login as
sumoapi
https://oss.sonatype.org/index.html - Have nexus credentials ~/.m2/settings.xml
<server>
<username>sumoapi</username>
<password>****</password>
<id>sonatype-nexus-staging</id>
</server>
- Signing key:
gpg --import ~/Desktop/api.private.key
gpg-agent --daemon
touch a
gpg --use-agent --sign a
mvn release:prepare
mvn release:perform
(alternativegit checkout HEAD~1 && mvn deploy
)- Go to https://oss.sonatype.org/index.html#stagingRepositories, search for com.sumologic and release your repo.
- Push your commits as PR (
git push origin master:new-branch
)