shellbase-core

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

Лицензия

Лицензия

Группа

Группа

com.sumologic.shellbase
Идентификатор

Идентификатор

shellbase-core
Последняя версия

Последняя версия

1.5.1
Дата

Дата

Тип

Тип

jar
Описание

Описание

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

Скачать shellbase-core

Как подключить последнюю версию

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

Зависимости

compile (7)

Идентификатор библиотеки Тип Версия
joda-time : joda-time jar 2.9.3
org.slf4j : slf4j-api jar 1.7.21
commons-cli : commons-cli jar 1.2
commons-io : commons-io jar 2.4
jline : jline jar 2.14.6
org.apache.velocity : velocity jar 1.7
org.scala-lang : scala-library jar 2.11.8

test (3)

Идентификатор библиотеки Тип Версия
org.scalatest : scalatest_2.11 jar 2.1.7
org.mockito : mockito-core jar 1.9.5
junit : junit jar 4.12

Модули Проекта

Данный проект не имеет модулей.

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.

Версии библиотеки

Версия
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