15 Aralık 2021 Çarşamba

application plugin - Projeyi Çalıştırılacak Şekilde Paketler

Giriş
Açıklaması şöyle. Executable veya Fat jar yaratmaz. Sadece projeyi çalıştırmak için gerek .bat veya .sh dosyasını üretir ve projeyi zip ve tar olarak paketler.
The Application Plugin also automatically includes the Distribution Plugin. The Distribution Plugin creates two archives: TAR and ZIP. Their contents are identical and include the project jar, all dependency jars, and two scripts: Bash and .bat-file. Then, distributing our application is no problem at all: We can use our-project/build/distributions/our-project-1.0.1.zip, unpack it, and run the executable script:

$ unzip our-project-1.0.1.zip 
$ ./our-project-1.0.1/bin/our-project-1.0.1
Bu plugin yerine fat jar yaratan shadow plugin tercih edilebilir

1. Eklenen Task Listesi
Şu task'lar eklenir
- run
- startScripts
- installDist
- distZip
- distTar

installDist Task
Açıklaması şöyle
You can run gradle installDist to create an image of the application in build/install/projectName. You can run gradle distZip to create a ZIP containing the distribution, gradle distTar to create an application TAR or gradle assemble to build both.

distZip Task
build\distributions altında bir tane zip dosyası oluşturur. Bu dosyanın içeriği şöyle
bin
  foo
  foo.bat
lib
  Çeşitli jar dosyaları
2. Alanlar
distTar Alanı
Tar dosyası oluşturmayı istenmiyorsa bu alan false yapılır

mainClassName Alanı - Kullanmayın
Gradle 8 ile mainClassName yerine mainClass kullanılıyor
Örnek
Şöyle yaparız
plugins {
  id 'application'
}

application {
  mainClassName = 'com.foo.FooMain'
  applicationDefaultJvmArgs = ['-Doracle.jdbc.autoCommitSpecCompliant=false']
  distTar.enabled = false
}

distributions {
  main {
    contents {
      into('bin') {
        from 'src/main/resources'
        include 'Foo.ico'
        include 'setup.vbs'
      }
    }
  }
}
Örnek
Şöyle yaparız
distributions {
  main {
    contents {
      from 'bringup-files'
      from (project(':licensingEngine:licenseUploader').distZip) {
        include project(':licensingEngine:licenseUploader').distZip.archiveFileName
        into 'bring_up_files/license'
      }
    }
  }
}
Örnek
Şöyle yaparız
 application {
mainClass = 'org.gradle.sample.Main' }


Hiç yorum yok:

Yorum Gönder

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...