all

Sonatype helps open source projects to set up Maven repositories on https://oss.sonatype.org/

License

License

GroupId

GroupId

com.sumologic.shellbase
ArtifactId

ArtifactId

all
Last Version

Last Version

1.5.1
Release Date

Release Date

Type

Type

pom
Description

Description

all
Sonatype helps open source projects to set up Maven repositories on https://oss.sonatype.org/

Download all

Filename Size
all-1.5.1.pom 6 KB
Browse

How to add to project

<!-- https://jarcasting.com/artifacts/com.sumologic.shellbase/all/ -->
<dependency>
    <groupId>com.sumologic.shellbase</groupId>
    <artifactId>all</artifactId>
    <version>1.5.1</version>
    <type>pom</type>
</dependency>
// https://jarcasting.com/artifacts/com.sumologic.shellbase/all/
implementation 'com.sumologic.shellbase:all:1.5.1'
// https://jarcasting.com/artifacts/com.sumologic.shellbase/all/
implementation ("com.sumologic.shellbase:all:1.5.1")
'com.sumologic.shellbase:all:pom:1.5.1'
<dependency org="com.sumologic.shellbase" name="all" rev="1.5.1">
  <artifact name="all" type="pom" />
</dependency>
@Grapes(
@Grab(group='com.sumologic.shellbase', module='all', version='1.5.1')
)
libraryDependencies += "com.sumologic.shellbase" % "all" % "1.5.1"
[com.sumologic.shellbase/all "1.5.1"]

Dependencies

compile (1)

Group / Artifact Type Version
org.scalatest : scalatest_2.11 jar 2.2.6

Project Modules

  • shellbase-core
  • shellbase-example
  • shellbase-slack

Build Status codecov.io Join the chat at https://gitter.im/SumoLogic/shellbase

shellbase

Sumo Logic's Scala-based interactive shell framework

Install / Download

These are the components we provide:

  • shellbase-core_2.11 contains everything you need to make a basic, working shell
  • shellbase-slack_2.11 contains the necessary pieces to post your commands to Slack.
    <dependency>
      <groupId>com.sumologic.shellbase</groupId>
      <artifactId>shellbase-core_2.11</artifactId>
      <version>1.5.4</version>
    </dependency>

    <dependency>
      <groupId>com.sumologic.shellbase</groupId>
      <artifactId>shellbase-slack_2.11</artifactId>
      <version>1.5.4</version>
    </dependency>

Built-In Commands

  • 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 means 5 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

Example Shell

We've put together a very simple example shell that can generate random numbers.

[Dev] Building/testing locally

To build project in default Scala version:

./gradlew build

To build project in any supported Scala version:

./gradlew build -PscalaVersion=2.12.11

For testing, change your consumer pom.xml or gradle.properties to depend on the SNAPSHOT version generated. Make sure, your consumer can resolve artifacts from a local repository.

[Dev] Managing Scala versions

This project supports multiple versions of Scala. Supported versions are listed in gradle.properties.

  • supportedScalaVersions - list of supported versions (Gradle prevents building with versions from outside this list)
  • defaultScalaVersion - default version of Scala used for building - can be overridden with -PscalaVersion

[Dev] How to release new version

  1. Make sure you have all credentials.
    1. Can login as sumoapi https://oss.sonatype.org/index.html
    2. Can import and verify the signing key:
      gpg --import ~/Desktop/api.private.key
      gpg-agent --daemon
      touch a
      gpg --use-agent --sign a
      gpg -k
      
    3. Have nexus and signing credentials in ~/.gradle/gradle.properties
      nexus_username=sumoapi
      nexus_password=${sumoapi_password_for_sonatype_nexus}
      signing.gnupg.executable=gpg
      signing.gnupg.keyName=${id_of_imported_sumoapi_key}
      signing.gnupg.passphrase=${password_for_imported_sumoapi_key}
      
  2. Remove -SNAPSHOT suffix from version in build.gradle
  3. Make a release branch with Scala version and project version, ex. shellbase-1.5.5:
    export RELEASE_VERSION=shellbase-1.5.5
    git checkout -b ${RELEASE_VERSION}
    git add build.gradle
    git commit -m "[release] ${RELEASE_VERSION}"
    
  4. Perform a release in selected Scala versions:
    ./gradlew build publish -PscalaVersion=2.11.8
    ./gradlew build publish -PscalaVersion=2.12.11
    
  5. Go to https://oss.sonatype.org/index.html#stagingRepositories, search for com.sumologic, close and release your repo. NOTE: If you had to login, reload the URL. It doesn't take you to the right page post-login
  6. Update the README.md and CHANGELOG.md with the new version and set upcoming snapshot version in build.gradle, ex. 1.5.4-SNAPSHOT
  7. Commit the change and push as a PR:
    git add build.gradle README.md CHANGELOG.md
    git commit -m "[release] Updating version after release ${RELEASE_VERSION}"
    git push
    
com.sumologic.shellbase

Sumo Logic, Inc.

Versions

Version
1.5.1
1.5.0
1.4.0
1.3.0
1.2.2
1.2.1
1.2.0
1.1.2
1.1.1
1.1.0
1.0.1
1.0.0