Files

159 lines
12 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<MBML>
<Var name="repo:host" literal="github"/>
<Var name="repo:name" type="dynamic" expression="$project:name"/>
<Var name="repo:branch" value="$ENV[BRANCH]"/> <!-- expect calling script to set this environment variable -->
<Var name="repo:branch:settings" type="dynamic" expression="^if($repo:branch -AND ^containsValue(^keys($versions)|$repo:branch)|$repo:branch|^if($project:branch:settings|$project:branch:settings|master))"/>
<Var name="repo:url:home" type="dynamic" expression="https://github.com/${repo:owner}/${repo:name}"/>
<Var name="repo:url:branch" type="dynamic" expression="${repo:url:home}/tree"/>
<Var name="repo:url:http" type="dynamic" expression="${repo:url:home}"/>
<Var name="repo:url:ssh" type="dynamic" expression="git@github.com:${repo:owner}/${repo:name}"/>
<Var name="repo:root" literal=".." if="!$ENV[REPO_ROOT]"/>
<Var name="repo:root" value="$ENV[REPO_ROOT]" if="$ENV[REPO_ROOT]"/>
<Var name="repo:dir" type="dynamic" expression="${repo:root}/${repo:name}"/>
<Var name="platforms" type="map">
<Var name="xcode-9" type="map">
<Var name="iOS" type="map">
<Var name="supportsUnitTests" boolean="T"/>
</Var>
<Var name="macOS" type="map">
<Var name="supportsUnitTests" boolean="T"/>
</Var>
<Var name="tvOS" type="map">
<Var name="supportsUnitTests" boolean="T"/>
</Var>
<Var name="watchOS" type="map">
<Var name="supportsUnitTests" boolean="F"/>
</Var>
</Var>
</Var>
<Var name="buildPlatform:default" literal="xcode-9"/>
<Var name="buildPlatform:active" type="dynamic" expression="^if(^matchesRegex($repo:branch|^^xcode-([0-9]+){1}(\.[0-9]+){1,2}(-.*?)*^q($))|$repo:branch|$buildPlatform:default)"/>
<Var name="buildPlatform:supportsCI" type="dynamic" expression="^if($versions[$repo:branch][Travis]|1|0)"/>
<Var name="platforms:build" type="dynamic" expression="$platforms[$buildPlatform:active]"/>
<Var name="platforms:ci" type="dynamic" expression="$platforms[$buildPlatform:active]"/>
<Var name="branches" type="list">
<Var literal="master"/>
</Var>
<Var name="branchForVersions" type="dynamic" expression="^if($versions[$repo:branch]|$repo:branch|master)"/>
<Var name="xcode:version" type="dynamic" expression="$versions[$branchForVersions][Xcode]"/>
<Var name="swift:version" type="dynamic" expression="$versions[$branchForVersions][Swift]"/>
<Var name="project:travisImage" type="dynamic" expression="$versions[$branchForVersions][Travis]"/>
<Var name="versions" type="map">
<!-- master branch declarations -->
<Var name="master" type="map">
<Var name="Swift" literal="4.0"/>
<Var name="Xcode" literal="9.0"/>
<Var name="Travis" literal="xcode9"/>
<Var name="Carthage" literal="0.25.0"/>
<Var name="current" type="map">
<Var name="iOS" literal="11.0"/>
<Var name="macOS" literal="10.13"/>
<Var name="tvOS" literal="11.0"/>
<Var name="watchOS" literal="4.0"/>
</Var>
<Var name="minimum" type="map">
<Var name="iOS" literal="9.0"/>
<Var name="macOS" literal="10.11"/>
<Var name="tvOS" literal="9.0"/>
<Var name="watchOS" literal="2.0"/>
</Var>
</Var>
</Var>
<Var name="branches:nonmaster" type="dynamic" expression="^sort(^filter($branches|$item != master))"/>
<Var name="branches:other" type="dynamic" expression="^sort(^filter($branches|$item != $repo:branch))"/>
<Var name="supports:iOS" type="dynamic" expression="^containsValue($project:platforms|iOS)"/>
<Var name="supports:macOS" type="dynamic" expression="^containsValue($project:platforms|macOS)"/>
<Var name="supports:tvOS" type="dynamic" expression="^containsValue($project:platforms|tvOS)"/>
<Var name="supports:watchOS" type="dynamic" expression="^containsValue($project:platforms|watchOS)"/>
<Var name="platform:current:iOS" type="dynamic" expression="^if($project:platform:versions[current][iOS]|$project:platform:versions[current][iOS]|$versions[$repo:branch:settings][current][iOS])"/>
<Var name="platform:current:macOS" type="dynamic" expression="^if($project:platform:versions[current][macOS]|$project:platform:versions[current][macOS]|$versions[$repo:branch:settings][current][macOS])"/>
<Var name="platform:current:tvOS" type="dynamic" expression="^if($project:platform:versions[current][tvOS]|$project:platform:versions[current][tvOS]|$versions[$repo:branch:settings][current][tvOS])"/>
<Var name="platform:current:watchOS" type="dynamic" expression="^if($project:platform:versions[current][watchOS]|$project:platform:versions[current][watchOS]|$versions[$repo:branch:settings][current][watchOS])"/>
<Var name="platform:minimum:iOS" type="dynamic" expression="^if($project:platform:versions[minimum][iOS]|$project:platform:versions[minimum][iOS]|$versions[$repo:branch:settings][minimum][iOS])"/>
<Var name="platform:minimum:macOS" type="dynamic" expression="^if($project:platform:versions[minimum][macOS]|$project:platform:versions[minimum][macOS]|$versions[$repo:branch:settings][minimum][macOS])"/>
<Var name="platform:minimum:tvOS" type="dynamic" expression="^if($project:platform:versions[minimum][tvOS]|$project:platform:versions[minimum][tvOS]|$versions[$repo:branch:settings][minimum][tvOS])"/>
<Var name="platform:minimum:watchOS" type="dynamic" expression="^if($project:platform:versions[minimum][watchOS]|$project:platform:versions[minimum][watchOS]|$versions[$repo:branch:settings][minimum][watchOS])"/>
<Var name="project:version" value="$ENV[PROJECT_VERSION]"/> <!-- expect calling script to set this environment variable -->
<Var name="project:version:public" value="$ENV[PROJECT_VERSION_PUBLIC]"/> <!-- expect calling script to set this environment variable -->
<Var name="project:file" type="dynamic" expression="${project:name}.xcodeproj"/>
<Var name="project:workspace" type="dynamic" expression="${project:name}.xcworkspace"/>
<Var name="project:hasWorkspace" type="dynamic" expression="^fileExists(${repo:dir}/${project:workspace})"/>
<Var name="project:container" type="dynamic" expression="^if($project:hasWorkspace|$project:workspace|$project:file)"/>
<Var name="project:framework" type="dynamic" expression="${project:name}.framework"/>
<Var name="project:language:name" type="dynamic" expression="^if($project:language == ObjC|Objective-C|Swift)"/>
<Var name="project:import:swift" type="dynamic" expression="import ${project:name}"/>
<Var name="project:import:swift:block" type="dynamic" expression="```swift\n${project:import:swift}\n```"/>
<Var name="project:import:objc" type="dynamic" expression="@import ${project:name};"/>
<Var name="project:import:objc:block" type="dynamic" expression="```objc\n${project:import:objc}\n```"/>
<Var name="project:import" type="dynamic" expression="^if($project:language == ObjC|$project:import:objc|$project:import:swift)"/>
<Var name="project:import:block" type="dynamic" expression="^if($project:language == ObjC|$project:import:objc:block|$project:import:swift:block)"/>
<Var name="project:readme:description" type="dynamic" expression="^selectFirstValue($project:description:formats[markdown]|$project:description:formats[text]|$project:description)"/>
<Var name="project:readme:examples:file" type="dynamic" expression="${repo:dir}/Sources/README.md"/>
<Var name="project:readme:examples" type="dynamic" expression="^if(^fileExists($project:readme:examples:file)|^fileContents($project:readme:examples:file))"/>
<Var name="project:meta" type="map">
<Var name="Cleanroom" type="map">
<Var name="title" literal="Cleanroom Project"/>
<Var name="project:url" literal="https://github.com/gilt/Cleanroom"/>
<Var name="owner:name" literal="Gilt Tech"/>
<Var name="owner:url" literal="http://tech.gilt.com"/>
<Var name="about">The Cleanroom Project began as an experiment to re-imagine Gilt’s iOS codebase in a legacy-free, Swift-based incarnation.
Since then, we’ve expanded the Cleanroom Project to include multi-platform support. Much of our codebase now supports tvOS in addition to iOS, and our lower-level code is usable on macOS and watchOS as well.
Cleanroom Project code serves as the foundation of Gilt on TV, our tvOS app [featured by Apple during the launch of the new Apple TV](http://www.apple.com/apple-events/september-2015/). And as time goes on, we'll be replacing more and more of our existing Objective-C codebase with Cleanroom implementations.
In the meantime, we’ll be tracking the latest releases of Swift &amp; Xcode, and [open-sourcing major portions of our codebase](https://github.com/gilt/Cleanroom#open-source-by-default) along the way.</Var>
<Var name="contributing">If you’d like to contribute to this or any other Cleanroom Project repo, please read [the contribution guidelines](https://github.com/gilt/Cleanroom#contributing-to-the-cleanroom-project).</Var>
<Var name="acknowledgements">API documentation is generated using [Realm](http://realm.io)’s [jazzy](https://github.com/realm/jazzy/) project, maintained by [JP Simard](https://github.com/jpsim) and [Samuel E. Giddins](https://github.com/segiddins).</Var>
</Var>
<Var name="Mockingbird" type="map">
<Var name="title" literal="Mockingbird Library"/>
<Var name="owner:name" literal="Gilt Tech"/>
<Var name="owner:url" literal="http://tech.gilt.com"/>
<Var name="about">Over the years, Gilt Groupe has used and refined Mockingbird Library as the base for its various Apple Platform projects.
Mockingbird began life as AppFramework, created by Jesse Boyes.
AppFramework found a home at Gilt Groupe and eventually became Mockingbird Library.
In recent years, Mockingbird Library has been developed and maintained by Evan Maloney.</Var>
<Var name="acknowledgements">API documentation is generated using [appledoc](http://gentlebytes.com/appledoc/) from [Gentle Bytes](http://gentlebytes.com/).</Var>
</Var>
</Var>
<Var name="project:hasGeneratedDocumentation" type="dynamic" expression="^if(^setContains(^setWithArray(^array(framework|application))|$project:skeleton)|#(1)|#(0))"/>
<Var name="docs:root" type="dynamic" expression="https://rawgit.com/${repo:owner}/${repo:name}/${repo:branch}/Documentation"/>
<Var name="docs:api:root" type="dynamic" expression="${docs:root}/API"/>
<Var name="docs:api:index" type="dynamic" expression="${docs:api:root}/index.html"/>
<Var name="docs:images:root" type="dynamic" expression="${docs:root}/Images"/>
<Var name="docs:integrationFilesCount" type="dynamic" expression="#(^count($project:dependencies) + 1)"/>
<Var name="docs:projectsDependenciesList" type="dynamic" expression="^if($project:dependencies|^if(^count($project:dependencies) -LT 2|`$project:dependencies[0]^q(.xcodeproj)`)^if(^count($project:dependencies) -EQ 2|`$project:dependencies[0]^q(.xcodeproj)` and $project:dependencies[1]^q(.xcodeproj)`)^if(^count($project:dependencies) -GT 2|^join(^list(^groupArrayElements($project:dependencies|#(^count($project:dependencies) - 1))[0]|`$(item).xcodeproj`)|, ) and `$project:dependencies[#(^count($project:dependencies) - 1)]^q(.xcodeproj)`))"/>
<Var name="docs:projectsAllList" type="dynamic" expression="`${project:file}`^if($project:dependencies|^if(^count($project:dependencies) == 1| and|,) $docs:projectsDependenciesList)"/>
<Var name="docs:frameworksDependenciesList" type="dynamic" expression="^if($project:dependencies|^if(^count($project:dependencies) -LT 2|`$project:dependencies[0]^q(.framework)`)^if(^count($project:dependencies) -EQ 2|`$project:dependencies[0]^q(.framework)` and $project:dependencies[1]^q(.framework)`)^if(^count($project:dependencies) -GT 2|^join(^list(^groupArrayElements($project:dependencies|#(^count($project:dependencies) - 1))[0]|`$(item).framework`)|, ) and `$project:dependencies[#(^count($project:dependencies) - 1)]^q(.framework)`))"/>
<Var name="docs:frameworksAllList" type="dynamic" expression="`${project:file}`^if($project:dependencies|^if(^count($project:dependencies) == 1| and|,) $docs:frameworksDependenciesList)"/>
<Var name="docs:cloneCommand" type="dynamic" expression="git clone ^if($project:dependencies|--recursive )${repo:url:http}"/>
<Var name="docs:carthageSpec" type="dynamic" expression='$repo:host "${repo:owner}/${repo:name}" ~> ${project:version:public}.0'/>
<Var name="travis:url" type="dynamic" expression="https://travis-ci.^if(${travis:build-status-token}|com|org)/${repo:owner}/${repo:name}"/>
</MBML>