Статьи

Как добавить автоматическое обновление номера версии проекта Play Framework 2.X

Я хотел, чтобы номера версий автоматически обновлялись, когда я хочу выпустить новую версию, поэтому я решил выяснить, как это сделать с помощью Play Framework.

Я обнаружил, что могу основывать его на плагине sbt-release , но это было не так просто. Вот моя стратегия, так что в итоге все, что мне нужно сделать, это запустить « activator release »:

1. Добавьте плагин

Добавьте плагин, добавив эту строку в файл вашего project/plugins.sbt :

1
addSbtPlugin("com.github.gseitz" % "sbt-release" % "1.0.2")

2. Обновите файл build.sbt:

Добавьте этот импорт в верхней части файла:

1
import ReleaseTransformations._

Измените строку с версией на эту:

1
version := (version in ThisBuild).value

Затем дополнительно добавьте этот фрагмент кода в конце и закомментируйте этапы конвейера, которые вы не хотите выполнять (Примечание: это, по-видимому, конвейер по умолчанию)

01
02
03
04
05
06
07
08
09
10
11
12
releaseProcess := Seq[ReleaseStep](
  checkSnapshotDependencies,              // : ReleaseStep
  inquireVersions,                        // : ReleaseStep
  runTest,                                // : ReleaseStep
  setReleaseVersion,                      // : ReleaseStep
  commitReleaseVersion,                   // : ReleaseStep, performs the initial git checks
  tagRelease,                             // : ReleaseStep
  //publishArtifacts,                       // : ReleaseStep, checks whether `publishTo` is properly set up
  setNextVersion,                         // : ReleaseStep
  commitNextVersion                      // : ReleaseStep
  //pushChanges                             // : ReleaseStep, also checks that an upstream branch is properly configured
)

Примечание: я прокомментировал автоматическую публикацию и толчок git

3. Получить номер версии в контроллере и перейти к шаблону

1
2
3
4
5
public static Result index() {
    String title = Application.class.getPackage().getImplementationTitle(); 
    String version = Application.class.getPackage().getImplementationVersion();  
    return ok(index.render(version));
}

И отобразить это в шаблоне:

1
2
3
4
@(version: String)
 
...
Version: @version

4. Убедитесь, что все совершено, прежде чем вы отпустите

5. Выполните релиз

После того, как вы выпустите релиз, новая версия будет сохранена в файле versions.sbt .

1
activator release
  • Вы можете найти дополнительные параметры и возможности для плагина sbt-release , в том числе стратегии автоматического увеличения версии здесь: https://github.com/sbt/sbt-release