23 Ocak 2022 Pazar

axion-release plugin

Giriş
Şöyle yaparız
plugins {
    id 'pl.allegro.tech.build.axion-release' version '1.11.0'
}
1. Seçenekler
Seçenekler Intellij Gradle menüsü altında release ve help menüleri altında görünüyor. Şöyle

help/currentVersion
release/createRelease
release/markNextVersion
release/pushRelease
release/release
release/verifyRelease 

Kullanım şöyle
$ git tag
project-0.1.0

# En son commit ve tag aynı
$ ./gradlew currentVersion
0.1.0

$ git commit -m "Some commit."

# En son commit tagden ileride
$ ./gradlew currentVersion
0.1.1-SNAPSHOT

# Yeni tag yarat ve remote'a pushla
$ ./gradlew release

# Yeni tagi gitte görebiliriz 
$ git tag
project-0.1.0 project-0.1.1

# En son commit ve tag aynı
$ ./gradlew currentVersion
0.1.1

# Burada maven-publish plugin kullanılıyor
$ ./gradlew publish
published project-0.1.1 release version

# Yeni versiyonu elle ata ve remote'a push'la
$ ./gradlew markNextVersion -Prelease.version=1.0.0

$ ./gradlew currentVersion
1.0.0-SNAPSHOT


currentVersion seçeneği
Açıklaması şöyle
Prints current project version extracted from SCM
Örnek
Şöyle yaparız
./gradlew currentVersion ... Project version: 0.1.0-SNAPSHOT
release seçeneği
Açıklaması şöyle
Performs release - creates tag and pushes to remote
Örnek
Şöyle yaparız
./gradlew release
...
Creating tag: v0.1.0
Changes made to local repository
markNextVersion seçeneği
Açıklaması şöyle
Create next-version marker tag, that affects current version resolution. Tag is pushed to remote.
2. Alanlar
tag alanı
Açıklaması şöyle
Only tags which match the predefined prefix are taken into account when calculating current version. Prefix can be set using scmVersion.tag.prefix property:

scmVersion {
    tag {
        prefix = 'my-prefix'
    }
}
Default prefix is release.

Örnek
Eğer  SCM tag alanı v ile başlamıyorsa kullanılır. Şöyle yaparız
scmVersion {
  tag {
    prefix = 'release'
  }
}
Örnek
Şöyle yaparız. Burada "release-" ile başlayan tag'ler dikkate alınıyor. "release-a" gibi tag'ler simple olarak işaretli olduğu için es geçilir.
scmVersion {
  tag {
    //Only tags which match the predefined prefix are taken into account when calculating
    //current version. use "git tag" to list tags
    prefix = 'release'
  }
  //You can also set decorators per branches that match specific regular expression
  //simple : This is the default version creator that does nothing
  branchVersionCreator = [
    'release[/-].+': 'simple',
  ]
  versionCreator {versionFromTag, position ->
    return "${versionFromTag}-${position.shortRevision}"
  }
}

10 Ocak 2022 Pazartesi

GRADLE_HOME Ortam Değişkeni

Giriş
Intellij ile çalışırken gradle kurulumunu otomatik yapıyor. Ancak komut satırında "gradle" yazınca hata alıyoruz. Bu durumda GRADLE_HOME ortam değişkenini tanımlamak gerekiyor.

Örnek - Windows
Şöyle yaparız
Ortam değişkenleri penceresinden GRADLE_HOME ortam değişkeni IntelliJ'in kurulum yaptığı yere gösterecek şekilde düzenleriz. Bu yer şöyle
C:\Users\user\.gradle\wrapper\dists\gradle-6.3-bin\8tpu6egwsccjzp10c1jckl0rx\gradle-6.3
Daha sonra PATH ortam değişkenine şunu ilave ederiz
%GRADLE_HOME%\bin


Gradle Daemon Nedir?

Giriş Açıklaması  şöyle . Gradle Daemon arka planda çalışır. Çünkü Gradle'ı ayağa kaldırmak ve ilklendirmek çok uzun sürüyor.  Gradle ru...