implicit.ly

Scala software, hot off the presses

less-sbt 0.1.9

It was time to pack up so less-sbt has moved to it's new home in a bed of ivy thanks to some generosity of some friends.

This means its also time for you to update your resolvers accordingly. You can install this plugin as you did before through your plugin definition with

addSbtPlugin("me.lessis" % "less-sbt" % "0.1.9")

Just be sure to and the sbt community resolver for plugin releases if you do not already

resolvers += Resolver.url("sbt-plugin-releases",
  new URL("http://scalasbt.artifactoryonline.com/scalasbt/sbt-plugin-releases/"))(
    Resolver.ivyStylePatterns)

And mix it in your build definition with

seq(lessSettings:_*)

For more information see the readme

So where did 0.1.8 go? That's what I would like to know!.

less-sbt compiles less gaining you more.

Filed under  //   Scala 2.9.1   less-sbt   me.lessis  

sindi 0.5

Sindi is an IoC (Inversion of Control) container for Scala.

For more informations visit: http://aloiscochard.github.com/sindi

Filed under  //   Scala 2.9.0-1   Scala 2.9.1   com.github.aloiscochard.sindi   sindi  

sbteclipse 2.0.0

This is the 2.0.0 final release of sbteclipse, an sbt plugin for creating Eclipse project definitions.

sbteclipse 2.0.0 is a complete rewrite of the 1.x branch. The main difference as compared to sbteclipse 1.x is the ability to configure sbteclipse via settings in addition to options now. For example you can define skipParents as a setting now instead of applying it as an option every time you execute the command eclipse.

One other important change: sbteclipse 2.0.0 no longer uses different target directories. In 1.x the Eclipse project definition pointed to the .target folder by default. While this tried to avoid issues with both sbt and Eclipse working on the same files at the same time, it seemed to be confusing for users and probably overcautious.

These are the most important additional issues that were addressed:

  • Issue #34: Use relative path for local libraries
  • Issue #39: Add support for execution environments
  • Issue #51: Add support for configurations
  • Issue #59: Add settings as an alternative to command options
  • Issue #66: Add support for source attachments for lib entries again
  • Issue #67: Split into core and library
  • Issue #69: Add selective creation of non existing source directories
  • Issue #71: Add support for pre tasks
  • Issue #74: Replace classpathEntryCollector with more powerful classpathEntryTransformer
  • Issue #75: java.util.regex.PatternSyntaxException on Windows
  • Issue #77: .classpath entries for project dependencies with configurations are never generated
  • Issue #83: Generalize support for scalac settings
  • Issue #89: Duplicate external dependencies

Please see the Documentation for information about installing and using sbteclipse.

sbteclipse is an sbt plugin for creating Eclipse project definitions.

Filed under  //   Scala 2.9.1   com.typesafe.sbteclipse   sbteclipse  

treehugger 0.1.1

Function type contructors

Several ways were added to create function types.

typ1 TYPE_=> typ2
TYPE_FUNCTION(typ, ..., r)
TYPE_FUNCTION(typ :: Nil, r)

Now accepting Iterables

DSL was expanded to accept Iterable[A] where it accepted vararg of A. Also implicit conversions were expanded to handle iterables. These changes should minimize explicit conversions that were necessary in the previous version:

withTypeParams(sym.pipeParams map {TYPEVAR(_)})

Bug fixes and minor enhancements

  • Fixes param modifiers not printing. #1
  • Fixes passing args to parent constructors. #2
  • Adds withParams(...) to DEF(sym). #3

treehugger.scala is a library to code Scala programmatically.

Filed under  //   Scala 2.8.1   Scala 2.9.1   com.eed3si9n   treehugger  

lmxml 0.1.1

Optional submodules were added:

  • lmxml-html includes html shortcuts when parsing LMXML
  • lmxml-template includes file base template inheritance when parsing LMXML
  • lmxml-json includes the ability to template JSON data
  • lmxml-cache includes an interface and serialization utilities for storing the compiled LMXML source.

The wiki has more information about each module located under Extending.

Some library changes:

  • JSON style attributes can be made strict for key transforms
  • Small changes to signatures in LmxmlParsers trait, adding extensibility
  • Transforms now work against attributes and text nodes
  • Added a CommentNode which can be converted now
  • The Lmxml object has been refactored to DefaultLmxml as users can now define their own Lmxml with included modules.

Light Markup to XML (LMXML) is a library for quickly creating recursive decent markup without the necessary obligation of opening or closing tags.

Curious? Try the command-line app, or the GAE web-app.

twirl 0.5.1

This is primarily a maintenance release.

  • Added support for specification of custom twirl source codec (default: UTF-8)
  • Fixed incorrect dependency on twirl-api SNAPSHOT
  • Upgraded to scala-io 0.3.0
  • Smaller cosmetic improvements

Twirl is the Play Framework Scala template engine, repackaged for stand-alone use. This project provides an SBT plugin that lets you use Twirl in your Scala applications without any additional dependencies on the Play Framework.

The Scala template engine provided by Play 2.0 enables type-safe templating that integrates seamlessly into your Scala applications. Templates are text files containing a mix of "markup" and Scala code. At compile time the Twirl compiler translates them into actual Scala source files, which are then picked up by the Scala compiler and compiled together with the rest of your application sources into regular .class files. On a type level each template is just a function from a number of (strongly typed) input values to a result object.

The Twirl SBT plugin smoothly integrates templating support into your Scala builds. It supports triggered compilation (via SBTs ~ operator) as well as hot reloading via sbt-revolver.

Filed under  //   Scala 2.9.1   cc.spray   twirl  

css-selectors-scala 0.1.1

Minor enhancements:

  • Added a pimp and an implicit conversion so one can write:

    elem $ "div > div"
    elem.cssQuery("div > div")

css-selectors-scala is an implementation of the W3C Selectors Level 3 specification.

Filed under  //   Scala 2.9.1   css-selectors-scala   se.fishtank  

configrity 0.10.0

Changes since version 0.9.0:

  • Configrity adopted a modular code layout. Most features are provided by the configrity-core module, which doesn't require any external dependencies. The sbt dependency line is now slightly different: check the README file.
  • YAML import/export is now provided by the configrity-yaml module, based on snakeyaml. Usage and documentation in the project wiki (issue #2).

If you wish for extra features, feel free to ask.

Configrity is a simple, immutable and flexible Scala API for handling configurations.

Filed under  //   Scala 2.9.0-1   Scala 2.9.1   configrity   org.streum  

treehugger 0.1.0

This is the initial release of treehugger.scala.

It's a library for generating Scala code by constructing Scala abstract syntax tree.

treehugger.scala is a library to code Scala programmatically.

Filed under  //   Scala 2.8.1   Scala 2.9.1   com.eed3si9n   treehugger  

xsbt-fmpp-plugin 0.1

Initial release:

  • Process '.fm' files from src/main/scala/ or src/main/java

xsbt-fmpp-plugin is a plug-in for Simple Build Tool that automates the generation of scala/java boilerplate code using FreeMarker templating.

Filed under  //   Scala 2.9.1   com.github.aloiscochard   xsbt-fmpp-plugin