version 2.2.0

@seratch seratch released this Jul 25, 2016 · 110 commits to master since this release

Skinny Framework 2.2.0 is available now. Please try it out by just specifying version 2.2.0 in your existing projects. Homebrew Formula will be available after our pull request will be merged. Homebrew/homebrew-core#3280

Topics

Skinny Micro 1.1, json4s 3.4

skinny-framework/skinny-micro@1.0.6...1.1.0

Various updates on reverse-scaffold generator

If you need to override ReverseScaffoldAllGenerator, more customizing points are added since this version. See the source code for details.

  • Enable descending order in index page (descendingOrderForIndexPage)
  • Enable specifying connectionPoolName in generated model code (connectionPoolName)
  • Improve factoryName when specifying namespace
  • Enable omitting Edit/Delete links in index page (operationLinksInIndexPageRequired)
  • Enable specifying whitelist/blacklist for reverse-scaffold-all (targetTableNames, tableNamesToBeExcluded)
  • Stop creating commented migration files when skipDBMigration = true

sbt 0.13.12: project/Build.scala is deprecated

https://github.com/sbt/sbt/releases/tag/v0.13.12

Skinny 2.2.0's blank project use build.sbt instead of project/Build.scala because since 0.13.12, sbt marks the Build trait deprecated and will remove it since version 1.0.

sbt/sbt#2530

Limitation

Unfortunately, build.sbt doesn't allow defining multiple sub projects which share the same base directory. Due to the limitation, the precompileDev project is disabled by default since 2.2.0. If you prefer using precompileDev project, modify build.sbt after creating a skinny project.

Migration Guide

The migration from your existing project/Build.scala to build.sbt is not difficult. But if you're stuck with it, check the default settings in skinny-blank-app.

Remove the build object

In build.sbt, you don't need a parent object which extends Build trait. Just remove it.

object SkinnyAppBuild extends Build {
}

Migrate project definition DSL

In build.sbt, the DSL to define projects is different from project/Build.scala. Migrate Project(...)

  lazy val dev = Project(id = "dev", base = file("."),
    settings = devBaseSettings ++ Seq(
      name := appName + "-dev",
      target := baseDirectory.value / "target" / "dev"
    )
  )

to (project in file(dir)).settings(...) like this:

lazy val dev = (project in file(".")).settings(devBaseSettings).settings(
  name := appName + "-dev",
  target := baseDirectory.value / "target" / "dev"
)

Changes

2.1.2...2.2.0

  • [blank-app] Bump sbt version to 0.13.12 and change the style of sbt build settings
  • [blank-app] Fix ivy2 dir removal issue of skinny-blank-app-with-deps.zip on Mac/Linux OS
  • [blank-app] Bump minor version of Bootstrap, jQuery
  • [common] kuromoji from 6.0 to 6.1
  • [framework] skinny-micro from 1.0 to 1.1
  • [task] Enable descending order in index page (descendingOrderForIndexPage)
  • [task] Enable specifying connectionPoolName in generated model code (connectionPoolName)
  • [task] Improve factoryName when specifying namespace
  • [task] Enable omitting Edit/Delete links in index page (operationLinksInIndexPageRequired)
  • [task] Enable specifying whitelist/blacklist for reverse-scaffold-all (targetTableNames, tableNamesToBeExcluded)
  • [task] Stop creating commented migration files when skipDBMigration = true
  • [task] Skip appending Controllers.scala, factories.conf and messages.conf when reverse-scaffolding
  • [task] Apply namespace on resource name in messages.conf