Gradle Release Plugin Bookmarks

Published: 2017-08-27, Updated: 2021-03-20

Como deve ser o fluxo para gerar um pacote usando esse plugin

Especificar a versao

$ gradle release -Prelease.releaseVersion=1.0.0 -Prelease.newVersion=1.1.0-SNAPSHOT

Forçar o plugin a fazer bump de versão e então comitar o properties com a mesma versao


release {

  project.ext.set("release.useAutomaticVersion", true)
  def rg = ~/(\d+)([^\d]*$)/
  def m = rg.matcher(String.valueOf(project.version))
  def v = m.replaceAll("${(m[0][1] as int) + 1}${m[0][2]}")
  project.ext.set("release.releaseVersion", v)
  project.ext.set("release.newVersion", v)
  git {
    requireBranch = 'main'
  }
  failOnCommitNeeded = false
  failOnPublishNeeded = false
  failOnUnversionedFiles = false
  buildTasks = []
}

confirmReleaseVersion.doLast {
  def f = file("${project.projectDir}/README.md")
  def text = f.text
  f.withWriter { w ->
    w << text.replaceAll("(:\\ )*\\d+\\.\\d+\\.\\d+", "\$1${version}")
  }
}

Lifecycle do plugin

O lifecycle desse plugin é o seguinte:

Ou seja, o numero que foi gerado agora só será release na proxima geração de release, ex:

gradle release commands, gradle release examples, gradle release bookmarks


Programmer Utils Saving data to two JDBC tables granting atomicity in Apache Spark

Comments