0

I need to add the following headers to the MANIFEST.MF file using Gradle and Spring Boot:

  • Name
  • Specification-Title
  • Specification-Version
  • Specification-Vendor

Is there a way to configure the Gradle build process to read these values from settings.gradle and build.gradle and write them to the MANIFEST.MF file?

Fábio
  • 3,291
  • 5
  • 36
  • 49

1 Answers1

1

Writing them to the manifest file is described here: add manifest file to jar with gradle

To populate these values from settings.gradle and gradle.properties, consider the following:

build.gradle

plugins {
    id "idea"
    id "java"
}

jar {
    manifest {
        attributes 'Specification-Title': gradle.ext.jonesVar
        attributes 'Specification-Version': bibibi
    }
}

settings.gradle

gradle.ext.jonesVar = "jones"

gradle.properties

bibibi=3

The result from ./gradlew clean build gives build/libs/tmp.jar containing this manifest:

MANIFEST.MF

Manifest-Version: 1.0
Specification-Title: jones
Specification-Version: 3

If you need to do this for the bootJar, use bootJar { instead of jar { in your build.gradle.

User51
  • 887
  • 8
  • 17