Skip to content
Find file
Fetching contributors…
Cannot retrieve contributors at this time
190 lines (112 sloc) 6.99 KB
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
<html xmlns="" xml:lang="en" lang="en-us">
<title>Community Plugins - </title>
<link href='' rel='stylesheet' type='text/css'>
<link href='resources/site.css' rel='stylesheet' type='text/css'>
<link href='resources/syntax.css' rel='stylesheet' type='text/css'>
<script type="text/javascript" src="">
<!-- Topbar
================================================== -->
<div class="cf" id="more" >
<div id="top">
<div class="container">
<a class="brand" href="/">SBT</a>
<ul class="nav">
<li><a href="learn.html">Learn</a>
<li><a href="download.html">Download</a>
<li><a href="community.html">Community</a></li>
<li><a href="#top">Top</a></li>
<div class="cf" id="container">
<div class="span2 columns container-spacer"><p>&nbsp;</p></div>
<div id="intro" class="span10 columns content">
<div id="head" class="cf">
<div id="name" class="left">
<h2>Community Plugins</h2>
<p id="what">ensuring everything is possible.</p>
<div class="left page-description" id="vc">
<p>The <a href=''>SBT Organization</a> contains a <a href=''>SBT Community Plugins</a> project. This project aims to unify all the SBT plugins in the community and ensure their compatibility and timely releases with new versions of SBT. There is also a <a href=''>list of plugins</a> that is up-to-date.</p>
<div id="features" class="cf">
<div id="feature-list">
<ul class="left">
<li><a href="plugins.html">Available Plugins</a></li>
<li><a href="#sbtorg">SBT Organization</a></li>
<ul class="left">
<li><a href="#communityrepo">Community Ivy repository</a></li>
<li><a href="#pluginbuild">Community Plugin Build</a></li>
<div id="pagecontent" class="cf">
<div id="extra">
<ul id="examples">
<li id="communityrepo" class="feature contained"><h4 id='community_ivy_repository'>Community Ivy Repository</h4>
<p><a href=''>Typesafe, Inc.</a> has provided a freely available <a href=''>Ivy Repository</a> for SBT projects to make use of.</p>
<p>If you would like to publish your project to this Ivy repository, first contact and request privileges (we have to verify code ownership, rights to publish, etc.). After which, you can deploy your plugins using the following configuration:</p>
<pre><code>publishTo := Some(Resolver.url(&quot;sbt-plugin-releases&quot;, new URL(&quot;;))(Resolver.ivyStylePatterns))
publishMavenStyle := false</code></pre>
<p>You&#8217;ll also need to add your credentials somewhere. I use a <code>~/.sbt/sbtpluginpublish.sbt</code> file:</p>
<pre><code>credentials += Credentials(&quot;Artifactory Realm&quot;, &quot;;, &quot;jsuereth&quot;, &quot;@my encrypted password@&quot;)</code></pre>
<p>Where <code>@my encrypted password@</code> is actually obtained using the following <a href=''>instructions</a>.</p>
<p><em>Note: Your code must abide by the <a href='repository-rules.html'>repository polices</a>.</em></p>
<p>To automatically deploy snapshot/release versions of your plugin use the following configuration:</p>
<pre><code>publishTo &lt;&lt;= (version) { version: String =&gt;
val scalasbt = &quot;;
val (name, url) = if (version.contains(&quot;-SNAPSHOT&quot;))
(&quot;sbt-plugin-snapshots&quot;, scalasbt+&quot;sbt-plugin-snapshots&quot;)
(&quot;sbt-plugin-releases&quot;, scalasbt+&quot;sbt-plugin-releases&quot;)
Some(Resolver.url(name, new URL(url))(Resolver.ivyStylePatterns))
<p><em>Note: ivy repositories currently don&#8217;t support Maven-style snapshots.</em></p></li>
<li id="sbtorg" class="feature contained"><h4 id='sbt_organization'>SBT Organization</h4>
<p>The <a href=''>SBT Organization</a> is available for use by any SBT plugin.<br />Developers who contribute their plugins into the community organization will still retain control over their repository and its access. The Goal of the SBT organization is to organize SBT software into one central location.</p>
<p>A side benefit to using the SBT organization for projects is that you can use gh-pages to host websites in the domain.</p></li>
<li id="pluginbuild" class="feature contained"><h4 id='sbt_community_plugin_build'>SBT Community Plugin Build</h4>
<p>The <a href=''>SBT Community Plugins</a> project aims to build <em>all</em> SBT plugins in a single build.<br />This should enable thorough testing of plugins and ensure that plugins work together.</p></li>
<div class="span6 columns"><p>&nbsp;</p></div>
<script type="text/javascript" src="jquery.scrollto.min.js"></script>
<script type="text/javascript">
(function($){ $(function(){
$("#top").click(function(){ $("#intro").ScrollTo(); })
var applyH = function() {
$("#intro, .feature").each(function (i, elt) {
if ($(elt).height() < $(window).height()) {
$(window).bind('resize', function() { applyH(); });
$('#features a, .st').click(function(e){
var h = $(this).attr('href');
if(h && h[0] && h[0] == '#') {
callback:function(){ window.location.hash = h;}
Jump to Line
Something went wrong with that request. Please try again.