diff --git a/.gitignore b/.gitignore index cbc7673..c183d51 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ .conche/ +.build/ +Packages/ diff --git a/.swift-version b/.swift-version new file mode 100644 index 0000000..c78c4ff --- /dev/null +++ b/.swift-version @@ -0,0 +1 @@ +2.2-dev diff --git a/Package.swift b/Package.swift new file mode 100644 index 0000000..89bb356 --- /dev/null +++ b/Package.swift @@ -0,0 +1,8 @@ +import PackageDescription + +let package = Package( + name: "Stencil", + dependencies: [ + .Package(url: "https://github.com/kylef/PathKit.git", majorVersion: 0, minor: 5), + ] +) diff --git a/Stencil/Context.swift b/Sources/Context.swift similarity index 87% rename from Stencil/Context.swift rename to Sources/Context.swift index 02ee1e6..645f37d 100644 --- a/Stencil/Context.swift +++ b/Sources/Context.swift @@ -26,9 +26,10 @@ public class Context { /// Set a variable in the current context, deleting the variable if it's nil set(value) { - if var dictionary = dictionaries.popLast() { - dictionary[key] = value - dictionaries.append(dictionary) + if let dictionary = dictionaries.popLast() { + var mutable_dictionary = dictionary + mutable_dictionary[key] = value + dictionaries.append(mutable_dictionary) } } } diff --git a/Stencil/Filters.swift b/Sources/Filters.swift similarity index 100% rename from Stencil/Filters.swift rename to Sources/Filters.swift diff --git a/Stencil/TemplateLoader/Include.swift b/Sources/Include.swift similarity index 100% rename from Stencil/TemplateLoader/Include.swift rename to Sources/Include.swift diff --git a/Stencil/Info.plist b/Sources/Info.plist similarity index 100% rename from Stencil/Info.plist rename to Sources/Info.plist diff --git a/Stencil/TemplateLoader/Inheritence.swift b/Sources/Inheritence.swift similarity index 100% rename from Stencil/TemplateLoader/Inheritence.swift rename to Sources/Inheritence.swift diff --git a/Stencil/Lexer.swift b/Sources/Lexer.swift similarity index 100% rename from Stencil/Lexer.swift rename to Sources/Lexer.swift diff --git a/Stencil/Namespace.swift b/Sources/Namespace.swift similarity index 100% rename from Stencil/Namespace.swift rename to Sources/Namespace.swift diff --git a/Stencil/Node.swift b/Sources/Node.swift similarity index 100% rename from Stencil/Node.swift rename to Sources/Node.swift diff --git a/Stencil/Parser.swift b/Sources/Parser.swift similarity index 100% rename from Stencil/Parser.swift rename to Sources/Parser.swift diff --git a/Stencil/Template.swift b/Sources/Template.swift similarity index 100% rename from Stencil/Template.swift rename to Sources/Template.swift diff --git a/Stencil/TemplateLoader.swift b/Sources/TemplateLoader.swift similarity index 100% rename from Stencil/TemplateLoader.swift rename to Sources/TemplateLoader.swift diff --git a/Stencil/Tokenizer.swift b/Sources/Tokenizer.swift similarity index 100% rename from Stencil/Tokenizer.swift rename to Sources/Tokenizer.swift diff --git a/Stencil/Variable.swift b/Sources/Variable.swift similarity index 100% rename from Stencil/Variable.swift rename to Sources/Variable.swift diff --git a/Stencil.podspec.json b/Stencil.podspec.json index a6fbaf3..fc52295 100644 --- a/Stencil.podspec.json +++ b/Stencil.podspec.json @@ -16,8 +16,7 @@ "tag": "0.4.0" }, "source_files": [ - "Stencil/*.swift", - "Stencil/TemplateLoader/*.swift" + "Sources/*.swift" ], "platforms": { "ios": "8.0", @@ -29,9 +28,9 @@ }, "test_specification": { "source_files": [ - "StencilSpecs/*.swift", - "StencilSpecs/TemplateLoader/*.swift", - "StencilSpecs/Nodes/*.swift" + "Tests/*.swift", + "Tests/TemplateLoader/*.swift", + "Tests/Nodes/*.swift" ], "dependencies": { "Spectre": [ "~> 0.5.0" ], diff --git a/StencilSpecs/ContextSpec.swift b/Tests/ContextSpec.swift similarity index 100% rename from StencilSpecs/ContextSpec.swift rename to Tests/ContextSpec.swift diff --git a/StencilSpecs/FilterSpec.swift b/Tests/FilterSpec.swift similarity index 100% rename from StencilSpecs/FilterSpec.swift rename to Tests/FilterSpec.swift diff --git a/StencilSpecs/LexerSpec.swift b/Tests/LexerSpec.swift similarity index 100% rename from StencilSpecs/LexerSpec.swift rename to Tests/LexerSpec.swift diff --git a/StencilSpecs/Nodes/ForNodeSpec.swift b/Tests/Nodes/ForNodeSpec.swift similarity index 100% rename from StencilSpecs/Nodes/ForNodeSpec.swift rename to Tests/Nodes/ForNodeSpec.swift diff --git a/StencilSpecs/Nodes/IfNodeSpec.swift b/Tests/Nodes/IfNodeSpec.swift similarity index 100% rename from StencilSpecs/Nodes/IfNodeSpec.swift rename to Tests/Nodes/IfNodeSpec.swift diff --git a/StencilSpecs/Nodes/NodeSpec.swift b/Tests/Nodes/NodeSpec.swift similarity index 100% rename from StencilSpecs/Nodes/NodeSpec.swift rename to Tests/Nodes/NodeSpec.swift diff --git a/StencilSpecs/Nodes/NowNodeSpec.swift b/Tests/Nodes/NowNodeSpec.swift similarity index 100% rename from StencilSpecs/Nodes/NowNodeSpec.swift rename to Tests/Nodes/NowNodeSpec.swift diff --git a/StencilSpecs/ParserSpec.swift b/Tests/ParserSpec.swift similarity index 100% rename from StencilSpecs/ParserSpec.swift rename to Tests/ParserSpec.swift diff --git a/StencilSpecs/StencilSpec.swift b/Tests/StencilSpec.swift similarity index 100% rename from StencilSpecs/StencilSpec.swift rename to Tests/StencilSpec.swift diff --git a/StencilSpecs/TemplateLoader/IncludeSpec.swift b/Tests/TemplateLoader/IncludeSpec.swift similarity index 96% rename from StencilSpecs/TemplateLoader/IncludeSpec.swift rename to Tests/TemplateLoader/IncludeSpec.swift index 6a0c7e9..797d3a1 100644 --- a/StencilSpecs/TemplateLoader/IncludeSpec.swift +++ b/Tests/TemplateLoader/IncludeSpec.swift @@ -4,7 +4,7 @@ import PathKit describe("Include") { - let path = Path(__FILE__) + ".." + ".." + "StencilSpecs" + "fixtures" + let path = Path(__FILE__) + ".." + ".." + "Tests" + "fixtures" let loader = TemplateLoader(paths: [path]) $0.describe("parsing") { diff --git a/StencilSpecs/TemplateLoader/InheritenceSpec.swift b/Tests/TemplateLoader/InheritenceSpec.swift similarity index 82% rename from StencilSpecs/TemplateLoader/InheritenceSpec.swift rename to Tests/TemplateLoader/InheritenceSpec.swift index 4c098f0..c74c00b 100644 --- a/StencilSpecs/TemplateLoader/InheritenceSpec.swift +++ b/Tests/TemplateLoader/InheritenceSpec.swift @@ -4,7 +4,7 @@ import PathKit describe("Inheritence") { - let path = Path(__FILE__) + ".." + ".." + "StencilSpecs" + "fixtures" + let path = Path(__FILE__) + ".." + ".." + "Tests" + "fixtures" let loader = TemplateLoader(paths: [path]) $0.it("can inherit from another template") { diff --git a/StencilSpecs/TemplateLoaderSpec.swift b/Tests/TemplateLoaderSpec.swift similarity index 88% rename from StencilSpecs/TemplateLoaderSpec.swift rename to Tests/TemplateLoaderSpec.swift index e5cf551..2a8d7e9 100644 --- a/StencilSpecs/TemplateLoaderSpec.swift +++ b/Tests/TemplateLoaderSpec.swift @@ -4,7 +4,7 @@ import PathKit describe("TemplateLoader") { - let path = Path(__FILE__) + ".." + ".." + "StencilSpecs" + "fixtures" + let path = Path(__FILE__) + ".." + ".." + "Tests" + "fixtures" let loader = TemplateLoader(paths: [path]) $0.it("returns nil when a template cannot be found") { diff --git a/StencilSpecs/TemplateSpec.swift b/Tests/TemplateSpec.swift similarity index 100% rename from StencilSpecs/TemplateSpec.swift rename to Tests/TemplateSpec.swift diff --git a/StencilSpecs/TokenSpec.swift b/Tests/TokenSpec.swift similarity index 100% rename from StencilSpecs/TokenSpec.swift rename to Tests/TokenSpec.swift diff --git a/StencilSpecs/VariableSpec.swift b/Tests/VariableSpec.swift similarity index 100% rename from StencilSpecs/VariableSpec.swift rename to Tests/VariableSpec.swift diff --git a/StencilSpecs/fixtures/base.html b/Tests/fixtures/base.html similarity index 100% rename from StencilSpecs/fixtures/base.html rename to Tests/fixtures/base.html diff --git a/StencilSpecs/fixtures/child.html b/Tests/fixtures/child.html similarity index 100% rename from StencilSpecs/fixtures/child.html rename to Tests/fixtures/child.html diff --git a/StencilSpecs/fixtures/test.html b/Tests/fixtures/test.html similarity index 100% rename from StencilSpecs/fixtures/test.html rename to Tests/fixtures/test.html