Forge Home

sbt

Module managing scala build tool

39,105 downloads

37,746 latest version

4.3 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Version information

  • 0.2.0 (latest)
  • 0.1.1
  • 0.1.0 (deleted)
released Sep 28th 2016
This version is compatible with:
  • Puppet Enterprise 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
  • Puppet >= 3.0.0 < 5.0.0
  • ,

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'talend-sbt', '0.2.0'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add talend-sbt
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install talend-sbt --version 0.2.0

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download

Documentation

talend/sbt — version 0.2.0 Sep 28th 2016

Build Status

talend-sbt

A puppet module for installing and configuring Scala Build Tool. SBT is an open source build tool for Scala and Java projects.

Basic Usage:

Installation via jar configuration

The default configuration installs and configures sbt via the sbt jar download and configuration.

Prerequisite : You need to have Java installed on your machine in order to have sbt working using this type of installation.

class { 'sbt':
  sbt_jar_version  => '0.13.11'
  sbt_java_opts    => '-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M'
  sbt_jar_path     => '/bin'
}

Installation via package

It is also possible to install sbt via a RPM package. To do so, you must set the install_as_package parameter to true.

class { 'sbt': }

This package will install openjdk as part of the process, so you don't need to have java installed as a prerequisite.

Set-up publishing

The publish action is used to publish your project to a remote repository. To use publishing, you need to specify the repository to publish to and the credentials to use.

To do so, you have to configure a set of hiera variables, such as:

sbt::publish_configure_credentials: true
sbt::publish_credentials_folder: '/home/myuser/.ivy2/'
sbt::publish_credentials_file: '.credentials'
sbt::publish_credentials_file_owner: 'myuser'
sbt::publish_realm: 'My Nexus Repository Manager'
sbt::publish_host: 'my.artifact.repo.net'
sbt::publish_user: 'admin'
sbt::publish_password: 'admin'

Parameters

  • install_as_package - Whether to install sbt via the RPM package or the jar file
  • sbt_jar_version - The version of sbt to install (default is 0.13.11) - Only used when installing via the jar file
  • sbt_jar_path - The directory in which to install the jar file - Only used when installing via the jar file
  • sbt_java_opts - The Java options used when launching a sbt build
  • publish_configure_credentials - Whether to set the configuration for remote publishing
  • publish_credentials_folder - The directory in which to place the credentials file used for publishing
  • publish_credentials_file - The name of the file containing the credentials used for publishing
  • publish_credentials_file_owner - The owner of the crendentials file
  • publish_realm - The realm of the artifacts repository
  • publish_host - The artifacts repository host
  • publish_user - Username for publishing into the artifacts repository
  • publish_password - Password for publishing into the artifacts repository

Hiera Support

All parameters can be defined in hiera:

sbt::install_as_package: false
sbt::sbt_jar_version: 0.13.11
sbt::sbt_jar_path: '/bin/'
sbt::sbt_java_opts: '-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M'
sbt::publish_configure_credentials: true
sbt::publish_credentials_folder: '/home/myuser/.ivy2/'
sbt::publish_credentials_file: '.credentials'
sbt::publish_credentials_file_owner: 'myuser'
sbt::publish_realm: 'My Nexus Repository Manager'
sbt::publish_host: 'my.artifact.repo.net'
sbt::publish_user: 'admin'
sbt::publish_password: 'admin'

Dependencies

  • puppetlabs-stdlib > 2.4.0
  • maestrodev-wget > 1.7.0

Supported platforms

For installation as a jar file

  • CentOS/Redhat 6/7
  • Ubuntu 14.04

For installation as a package

  • CentOS/Redhat 6/7