Each Sling project or module may contain a Sling project file, commonly referred to as a Pling file. This document describes the format and the supported data fields that can be specified in this file.

Filed under

The Sling Project File or Pling file can contain various configuration settings for a Sling project or module. Below is an example of a sling project file:

#
# Pling files can contain comments like this.
#

title = "Sample application"
description = "This is a sample application"
copyright = "Copyright (c) 2018 Eqela Oy"
license = "MIT"
url = "https://github.com/eqela/sampleproject"
version = "1.0.x"
vendorId = "com.eqela"
authors += "Eqela Oy"
type = "gui"
preFilters += "@cape"
preFilters += "@caveui"

defines = {
	"server_address" : "http://localhost:8080"
}

resources = [ "images", "fonts" ]

modules = [
	"sampleapp.api",
	"sampleapp.ui"
]

androidMetaData = {
	"com.facebook.sdk.ApplicationId" : "1111111111111111",
	"com.google.android.geo.API_KEY" : "2222222222222222222222222222"
}

iosInfoPlistData = "
<key>FacebookAppID</key>
<string>3333333333333333</string>
<key>FacebookDisplayName</key>
<string>Sample application</string>"

Supported common fields

  • title : The title of the application

  • description : A short description of the application

  • copyright : Copyright information for the application

  • license : Licensing information for the application. Commonly the name of the license.

  • vendorId : The vendor ID of the developer, commonly in Reverse Domain Notation

  • url : The Internet URL of the application

  • version : Current version of the application

  • authors : The name of the author of the application

  • type : The project type (see below)

  • modules : Modules the project will be using, if necessary (defaults to current directory)

  • defines : Static preprocessor values which can be referenced in application code

  • preFilters : Filters that are executed before the actual compilation takes place (see The Sling compiler for details)

Platform specific fields

  • androidPermissions : Android Permissions that the application requires in order to execute

  • androidMetaData : Metadata used in your application when compiled for Android, such as API keys, SDK application ID, etc.

  • iosInfoPlistData : Custom data for an iOS applications to be placed in the application's Info.plist file.

Supported project types

  • console : Used for developing console applications

  • library : Used for developing libraries

  • gui : Used for developing gui applications

Available preFilters

For available prefilters, please see the Sling Compiler reference


Twitter Facebook LinkedIn Youtube Slideshare Github