The OESvcZip task type is used to create incremental ZIP file for REST or WEB service package that can be deployed to a PAS for OpenEdge instance in a single operation.

OESvcZip extends from the OEwar task type and hence supports all the properties and methods supported by the OEwar task type. The following tables describe the extra configurations added by the OESvcZip task type.

Methods

Method Description Example
services(serviceNames)

Specifies the service names that should be exported. By default, all the services are exported.

services("service1")
services("service2", "service3")
manifest(configureClosure)

Configures the manifest for the oesvczip archive type.

manifest {
	attributes "Implementation-Title": "My ABL Application"
	attributes "Implementation-Version": "1.0.0"
	from ("<another-manifest-file-path>")
}

Properties

Property Required? Description Example Default value
webAppName Yes

The name of the ABL web application.

webAppName ="myABLWebApp"

None

archiveBaseName

No

The base name of the archive.

archiveBaseName ="myABLWebApp"

webAppName

archiveAppendix

No

The appendix part of the archive name, if any.

archiveAppendix ="appendixName"

None

archiveVersion

No

The version part of the archive name.

archiveVersion="1.0.0"

None

archiveClassifier

No

The classifier part of the archive name, if any.

archiveClassifier="source"

None

archiveExtension

No

The extension used for the OESvcZip archive type.

archiveExtension="customExt"

zip
archiveFileName

No

Displays the archive name in the following format:

[archiveBaseName] -[archiveAppendix] -[archiveVersion] -[archiveClassifier] .[archiveExtension]

archiveFileName="myArchive.customExt"

${webAppName}.zip
destinationDirectory

No

The directory where the archive is placed.

destinationDirectory=project.file "${buildDir}/dist"

project.distsDir

manifest

No

The manifest for the OESvcZip archive, which is placed in the WEB-INF/ folder.

You can configure it the same way as you configure org.gradle.api .java.archives.Manifest

Note: The format for Build-Date is DateTimeFormatter .ISO_OFFSET_DATE_TIME.
manifest.attributes "Implementation-Title": "My Server ABL Application"
manifest.attributes "Implementation-Version": "1.0.0"
Manifest-Version: 1.0
Package-Type: zip
Build-Date: <build-date-time>
OpenEdge-Tool: OpenEdge DevOps Framework
projectLocation

No

Specifies the path to the Progress Developer Studio for OpenEdge server project with all relevant files and folders. For example, .service/, PASOEContent/, and so on.

projectLocation=project.file "<path-to-project>"

None

serviceList

No

Specifies the service names that should be exported. By default, all the services are exported.

servicesList = ["service1", "service2"]

None

verbose

No

Use this property to enable logs.

verbose = true

false

Sample code snippet 1

The following code snippet is an example of using the OESvcZip task type:

task createSvcZipArchive(type: OESvcZip) {
  webAppName = "myABLWebApp"
  projectLocation = project.file "./"
  verbose = true
  destinationDirectory = project.file "${buildDir}/dist"
  manifest {
    attributes "Implementation-Title": "My Incremental Archive"
    attributes "Implementation-Version": "1.0.0"
    from ("PASOEContent/META-INF/MANIFEST.MF")
  }
}
    

Sample code snippet 2

The following code snippet is another example of using the OESvcZip task type:

task createSvcZipArchive(type: OESvcZip){
  webAppName = "myABLWebApp"
  projectLocation = project.file "./"
  services("service2", "service3")
  verbose = true
  destinationDirectory = project.file "${buildDir}/dist"
  manifest {
    attributes "Implementation-Title": "My Incremental Archive"
    attributes "Implementation-Version": "1.0.0"
    from ("PASOEContent/META-INF/MANIFEST.MF")
  }
}