; this is a regular config file that ought to load successfully.

[Platform pc]
tags=tools,renderer

[Platform es3]
tags=android,mobile,renderer

[Platform osx_gl]
tags=tools,renderer

[Platform server]
tags=server

; we define an xenia platform in order to make sure that it does NOT show up anywhere
[Platform xenia]
tags=console,renderer

; for the purposes of this test, we enable only server and es3, but we make sure the CURRENT_PLATFORM is auto enabled.

[Platforms]
;pc=enabled
es3=enabled
;ios=enabled
;osx_gl=enabled
;xenia=enabled
;provo=enabled
server=enabled

; ---- The number of worker jobs, 0 means use the number of Logical Cores
[Jobs]
minJobs=1
maxJobs=0

[MetaDataTypes]
exportsettings=
animsettings=i_caf
Animations/SkeletonList.xml=i_caf
cbc=abc
fbx.assetinfo=fbx

[ScanFolder Game]
watch=@ROOT@/@GAMENAME@
; use a special display name here to make sure macros work
display=@GAMENAME@ Scan Folder
recursive=1
order=0

; this test makes sure that those macros make sense and are present as well as that order is preserved.
; it also makes sure that the friendly name ("FeatureTests") is used, if no display is present and does not lose its case.
[ScanFolder FeatureTests]
watch=@ROOT@/@GAMENAME@FeatureTests
output=featuretestsoutputfolder
recursive=0
order=5000

; this test makes sure that the scan folders system uses the portable key of the scan Folder to find duplicates.
; (which is constructed from its name in the square brackets)
; instead of other attributes such as the watch folder, or output prefix.
[ScanFolder FeatureTests2]
watch=@ROOT@/@GAMENAME@FeatureTests
output=featuretestsoutputfolder
recursive=0
order=6000

[Exclude HoldFiles]
pattern=.*\\/Levels\\/.*_hold\\/.*

[Exclude TempFiles]
pattern=.*\\/\\$tmp[0-9]*_.*

[RC i_caf]
glob=*.i_caf
params=defaultparams
; server should not appear
server=skip 
; es3 should have this overridden
es3=mobile 
; xenia is allowed here but should be skipped
xenia=copy
; host should have defaultparams
; make sure priority is used.
priority=5
checkServer=true

[RC caf]
glob=*.caf
params=copy
; all platforms with 'renderer' tag should have these params applied. (so host platform and es3 but not server)
renderer=rendererparams 

[RC mov]
glob=*.mov
params=copy
; this one proves that platforms override more broader tags (es3 has both the es3 platform and the renderer tag)
es3=platformspecificoverride
; hosts should use this
renderer=rendererparams 

; this tests to make sure that even if "params" is missing, it is assumed to be default operation
; this is because if you wanted to skip a platform, we have a specific verb for that ('skip') and simply omitting the defaults means
; that you just want the default behavior. only the platforms indicated have a role
[RC rend]
glob=*.rend
renderer=rendererparams 

; this tests to make sure that even if you have no params at all, it is assumed to be default operation
[RC alldefault]
glob=*.alldefault

; this tests to make sure if you set default to skip you can still specify one platform to compile on
[RC skipallbutone]
glob=*.files
params=skip
server=copy