diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json new file mode 100644 index 0000000..223a117 --- /dev/null +++ b/.config/dotnet-tools.json @@ -0,0 +1,24 @@ +{ + "version": 1, + "isRoot": true, + "tools": { + "fake-cli": { + "version": "5.20.3", + "commands": [ + "fake" + ] + }, + "paket": { + "version": "6.0.0-beta4", + "commands": [ + "paket" + ] + }, + "fable": { + "version": "3.0.0", + "commands": [ + "fable" + ] + } + } +} diff --git a/.paket/Paket.Restore.targets b/.paket/Paket.Restore.targets index 3632ffe..0ec2816 100644 --- a/.paket/Paket.Restore.targets +++ b/.paket/Paket.Restore.targets @@ -20,18 +20,18 @@ proj assembly native - /Library/Frameworks/Mono.framework/Commands/mono + /Library/Frameworks/Mono.framework/Commands/mono mono $(PaketRootPath)paket.bootstrapper.exe $(PaketToolsPath)paket.bootstrapper.exe $([System.IO.Path]::GetDirectoryName("$(PaketBootStrapperExePath)"))\ - - "$(PaketBootStrapperExePath)" + + "$(PaketBootStrapperExePath)" $(MonoPath) --runtime=v4.0.30319 "$(PaketBootStrapperExePath)" - + true @@ -40,55 +40,68 @@ True + + False + $(BaseIntermediateOutputPath.TrimEnd('\').TrimEnd('\/')) - + + - - - - - + + + + $(PaketRootPath)paket + $(PaketToolsPath)paket + - - - dotnet paket + + + + $(PaketRootPath)paket.exe + $(PaketToolsPath)paket.exe - - - - $(PaketRootPath)paket.exe - $(PaketToolsPath)paket.exe - $(PaketToolsPath)paket.exe - $(_PaketBootStrapperExeDir)paket.exe - paket.exe + + + + <_DotnetToolsJson Condition="Exists('$(PaketRootPath)/.config/dotnet-tools.json')">$([System.IO.File]::ReadAllText("$(PaketRootPath)/.config/dotnet-tools.json")) + <_ConfigContainsPaket Condition=" '$(_DotnetToolsJson)' != ''">$(_DotnetToolsJson.Contains('"paket"')) + <_ConfigContainsPaket Condition=" '$(_ConfigContainsPaket)' == ''">false + - - $(PaketRootPath)paket - $(PaketToolsPath)paket - $(PaketToolsPath)paket + + + + + - - $(PaketRootPath)paket.exe - $(PaketToolsPath)paket.exe + + + <_PaketCommand>dotnet paket + - - $(PaketBootStrapperExeDir)paket.exe + + + + $(PaketToolsPath)paket + $(PaketBootStrapperExeDir)paket - - paket + + paket + + + <_PaketExeExtension>$([System.IO.Path]::GetExtension("$(PaketExePath)")) - dotnet "$(PaketExePath)" - $(MonoPath) --runtime=v4.0.30319 "$(PaketExePath)" - "$(PaketExePath)" - + <_PaketCommand Condition=" '$(_PaketCommand)' == '' AND '$(_PaketExeExtension)' == '.dll' ">dotnet "$(PaketExePath)" + <_PaketCommand Condition=" '$(_PaketCommand)' == '' AND '$(OS)' != 'Windows_NT' AND '$(_PaketExeExtension)' == '.exe' ">$(MonoPath) --runtime=v4.0.30319 "$(PaketExePath)" + <_PaketCommand Condition=" '$(_PaketCommand)' == '' ">"$(PaketExePath)" - + @@ -123,7 +136,7 @@ - $([System.Text.RegularExpressions.Regex]::Split(`%(Identity)`, `": "`)[0].Replace(`"`, ``).Replace(` `, ``)) $([System.Text.RegularExpressions.Regex]::Split(`%(Identity)`, `": "`)[1].Replace(`"`, ``).Replace(` `, ``)) @@ -156,7 +169,7 @@ - + diff --git a/.paket/paket.exe b/.paket/paket.exe deleted file mode 100755 index b98e000..0000000 Binary files a/.paket/paket.exe and /dev/null differ diff --git a/.paket/paket.targets b/.paket/paket.targets deleted file mode 100644 index 2fb5f4d..0000000 --- a/.paket/paket.targets +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - true - $(MSBuildThisFileDirectory) - $(MSBuildThisFileDirectory)..\ - /Library/Frameworks/Mono.framework/Commands/mono - mono - - - - - $(PaketRootPath)paket.exe - $(PaketToolsPath)paket.exe - "$(PaketExePath)" - $(MonoPath) --runtime=v4.0.30319 "$(PaketExePath)" - - - - - - $(MSBuildProjectFullPath).paket.references - - - - - $(MSBuildProjectDirectory)\$(MSBuildProjectName).paket.references - - - - - $(MSBuildProjectDirectory)\paket.references - - - - - - - - - - - - $(PaketCommand) restore --references-files "$(PaketReferences)" - - RestorePackages; $(BuildDependsOn); - - - - - diff --git a/Build.fs b/Build.fs new file mode 100644 index 0000000..d92fe8b --- /dev/null +++ b/Build.fs @@ -0,0 +1,408 @@ +open Fake.Core +open Fake.IO +open Farmer +open Farmer.Builders + +open Helpers + +initializeContext() + +let sharedPath = Path.getFullName "src/Shared" +let serverPath = Path.getFullName "src/Server" +let clientPath = Path.getFullName "src/Client" +let deployPath = Path.getFullName "deploy" +let sharedTestsPath = Path.getFullName "tests/Shared" +let serverTestsPath = Path.getFullName "tests/Server" +let clientTestsPath = Path.getFullName "tests/Client" + +Target.create "Clean" (fun _ -> + Shell.cleanDir deployPath + run dotnet "fable clean --yes" "." // Delete *.fs.js files created by Fable +) + +Target.create "InstallClient" (fun _ -> run npm "install" ".") + +Target.create "Bundle" (fun _ -> + [ "server", dotnet $"publish -c Release -o \"{deployPath}\"" serverPath + "client", dotnet "fable --run webpack -p" clientPath ] + |> runParallel +) + +Target.create "Azure" (fun _ -> + let web = webApp { + name "SAFE.App" + zip_deploy "deploy" + } + let deployment = arm { + location Location.WestEurope + add_resource web + } + + deployment + |> Deploy.execute "SAFE.App" Deploy.NoParameters + |> ignore +) + + +type NativeApps = +| Android +| IOs + +Target.initEnvironment() + +let nativeApp = + match Environment.environVarOrNone "native" with + | Some "ios" -> IOs + | Some "android" -> Android + | _ -> + if Environment.isMacOS then + IOs + else + Android + +let reactiveCmd = + match nativeApp with + | Android -> "run-android" + | IOs -> "run-ios" + +// Target.create "Debug" (fun _ -> + +// let fablewatch = async { DotNet.exec id "fable" "watch src/App --outDir ./out --define DEBUG" |> ignore } + + +// let reactNativeTool = async { runTool reactNativeTool reactiveCmd "" } + +// Async.Parallel [| fablewatch; reactNativeTool |] +// |> Async.RunSynchronously +// |> ignore +// ) + + +Target.create "Run" (fun _ -> + run dotnet "build" sharedPath + [ "server", dotnet "watch run" serverPath + "client", dotnet "fable watch --outDir ./../../out --define DEBUG" clientPath + "reactNativeTool", reactNative reactiveCmd "."] + |> runParallel +) + +Target.create "RunTests" (fun _ -> + run dotnet "build" sharedTestsPath + [ "server", dotnet "watch run" serverTestsPath + "client", dotnet "fable watch --run webpack-dev-server --config ../../webpack.tests.config.js" clientTestsPath ] + |> runParallel +) + +Target.create "Format" (fun _ -> + run dotnet "fantomas . -r" "src" +) + +open Fake.Core.TargetOperators + +let dependencies = [ + "Clean" + ==> "InstallClient" + ==> "Bundle" + ==> "Azure" + + "Clean" + ==> "InstallClient" + ==> "Run" + + "Clean" + ==> "InstallClient" + ==> "RunTests" +] + +[] +let main args = runOrDefault args + + + + +// open System +// open System.IO +// open Fake.Core +// open Fake.DotNet +// open Fake.Core.TargetOperators +// open Fake.IO +// open Fake.IO.FileSystemOperators +// open Fake.IO.Globbing.Operators +// open Fake.DotNet.Testing +// // Read additional information from the release notes document +// let releaseNotes = File.ReadAllLines "RELEASE_NOTES.md" + +// let release = ReleaseNotes.load "RELEASE_NOTES.md" + +// let outDir = "./out" +// let deployDir = "./deploy" +// let serverTestsPath = Path.getFullName "./tests/Server" +// let sharedTestsPath = Path.getFullName "./tests/Shared" + +// // -------------------------------------------------------------------------------------- +// // PlatformTools +// // -------------------------------------------------------------------------------------- + +// let platformTool tool winTool = +// let tool = +// if Environment.isUnix then tool else winTool + +// match ProcessUtils.tryFindFileOnPath tool with +// | Some t -> t +// | _ -> +// let errorMsg = +// tool +// + " was not found in path. " +// + "Please install it and make sure it's available from your path. " +// + "See https://safe-stack.github.io/docs/quickstart/#install-pre-requisites for more info" + +// failwith errorMsg + +// let nodeTool = platformTool "node" "node.exe" +// // let yarnTool = platformTool "yarn" "yarn.cmd" +// let npmTool = platformTool "npm" "npm.cmd" + +// let dotnet cmd workingDir = +// let result = +// DotNet.exec (DotNet.Options.withWorkingDirectory workingDir) cmd "" + +// if result.ExitCode <> 0 +// then failwithf "'dotnet %s' failed in %s" cmd workingDir + +// let npm args workingDir = + +// let npmPath = +// match ProcessUtils.tryFindFileOnPath "npm" with +// | Some path -> path +// | None -> +// "npm was not found in path. Please install it and make sure it's available from your path. " +// + "See https://safe-stack.github.io/docs/quickstart/#install-pre-requisites for more info" +// |> failwith + +// let arguments = +// args |> String.split ' ' |> Arguments.OfArgs + +// RawCommand(npmPath, arguments) +// |> CreateProcess.fromCommand +// |> CreateProcess.withWorkingDirectory workingDir +// |> CreateProcess.ensureExitCode +// |> Proc.run +// |> ignore + + +// let srcDir = __SOURCE_DIRECTORY__ "src" + +// let testDir = __SOURCE_DIRECTORY__ "tests" "IntegrationTests" + + +// let gradleTool = platformTool "android/gradlew" ("android" "gradlew.bat" |> Path.getFullName) +// let reactNativeTool = platformTool "react-native" "react-native.cmd" + +// let androidSDKPath = +// match Environment.environVarOrNone "ANDROID_HOME" with +// | Some path -> path +// | None -> +// if Environment.isWindows then +// let p1 = Environment.ProgramFilesX86 "Android" "android-sdk" +// if Directory.Exists p1 then Path.getFullName p1 else +// let p2 = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) "Android" "sdk" +// if Directory.Exists p2 then Path.getFullName p2 else +// failwithf "Can't find Android SDK in %s or %s" p1 p2 +// else +// let p3 = Environment.GetFolderPath(Environment.SpecialFolder.Personal) "Library/Android/sdk" +// if Directory.Exists p3 then Path.getFullName p3 else +// failwithf "Can't find Android SDK in %s, please set ANDROID_HOME enviromental variable" p3 + +// // let adbTool = platformTool (androidSDKPath "platform-tools/adb") (androidSDKPath "platform-tools/adb.exe") + + +// Environment.setEnvironVar "ANDROID_HOME" androidSDKPath +// Environment.setEnvironVar "ANDROID_SDK_ROOT" androidSDKPath + +// if BuildServer.buildServer = GitLabCI then +// let newPATH = Environment.environVar "PATH" + @";C:\Program Files (x86)\Microsoft F#\v4.0" +// Environment.setEnvironVar "PATH" newPATH + +// let killDotnetCli() = +// Process.killAllByName "dotnet" +// Process.killAllByName "dotnet.exe" + +// let killADB() = +// Process.killAllByName "adb" +// Process.killAllByName "adb.exe" + + +// if BuildServer.isLocalBuild then () else killDotnetCli() + +// Target.create "Clean" (fun _ -> +// Shell.cleanDir outDir +// Shell.cleanDir deployDir +// Process.killAllByName "node" +// !! "./**/AppiumLog.txt" |> Seq.iter File.Delete +// Shell.cleanDir "./android/build" +// Shell.cleanDir "./android/app/build" +// ) + +// Target.createFinal "CloseAndroid" (fun _ -> +// if BuildServer.isLocalBuild then () else +// killADB() +// killDotnetCli() +// Process.killAllByName "qemu-system-i386" +// Process.killAllByName "qemu-system-aarch64" +// Process.killAllByName "qemu-system-armel" +// Process.killAllByName "qemu-system-mips64el" +// Process.killAllByName "qemu-system-mipsel" +// Process.killAllByName "qemu-system-x86_64" +// Process.killAllByName "emulator-crash-service" +// Process.killAllByName "emulator64-crash-service" +// Process.killAllByName "node" +// ) + +// Target.create "Restore" (fun _ -> +// Environment.setEnvironVar "ANDROID_HOME" androidSDKPath + +// printfn "Node version:" +// runTool nodeTool "--version" __SOURCE_DIRECTORY__ +// printfn "Npm version:" +// runTool npmTool "--version" __SOURCE_DIRECTORY__ +// runTool npmTool "install" __SOURCE_DIRECTORY__ +// ) + +// Target.create "BuildTests" (fun _ -> +// dotnet "build" testDir +// ) + +// // Target.create "ExecuteTests" (fun _ -> +// // Environment.setEnvironVar "status" "Development" +// // dotnet "build" sharedTestsPath +// // [ async { dotnet "run" serverTestsPath } +// // async { npm "run test:build" "." } ] +// // |> Async.Parallel +// // |> Async.RunSynchronously +// // |> ignore +// // ) + + +// let gradleFile = "./android/app/build.gradle" + +// let getCurrentAndroidVersionCode() = +// File.ReadAllLines gradleFile +// |> Seq.tryPick (fun line -> +// if line.TrimStart().StartsWith("versionCode ") then +// Some(line.Replace("versionCode","").Trim() |> int) +// else None) +// |> fun v -> defaultArg v 1 + +// Target.create "SetVersionAndroid" (fun _ -> +// let lines = +// File.ReadAllLines gradleFile +// |> Seq.map (fun line -> +// if line.TrimStart().StartsWith("versionCode ") then +// let currentVersionCode = line.Replace("versionCode","").Trim() |> int +// let indent = line.Substring(0,line.IndexOf("versionCode")) +// sprintf "%sversionCode %d" indent (currentVersionCode + 1) +// elif line.TrimStart().StartsWith("versionName ") then +// let indent = line.Substring(0,line.IndexOf("versionName")) +// sprintf "%sversionName \"%O\"" indent release.NugetVersion +// else line) +// File.WriteAllLines(gradleFile,lines) + +// let fileName = "./package.json" +// let lines = +// File.ReadAllLines fileName +// |> Seq.map (fun line -> +// if line.TrimStart().StartsWith("\"version\":") then +// let indent = line.Substring(0,line.IndexOf("\"")) +// sprintf "%s\"version\": \"%O\"," indent release.NugetVersion +// else line) +// File.WriteAllLines(fileName,lines) +// ) + +// Target.create "SetReleaseNotes" (fun _ -> +// let lines = [ +// "module internal ReleaseNotes" +// "" +// (sprintf "let AppVersion = \"%s\"" release.NugetVersion) +// "" +// (sprintf "let IsPrerelease = %b" (release.SemVer.PreRelease <> None)) +// "" +// (sprintf "let AndroidVersionCode = %d" (getCurrentAndroidVersionCode())) +// "" +// "let Notes = \"\"\""] @ Array.toList releaseNotes @ ["\"\"\""] +// File.WriteAllLines("src/ReleaseNotes.fs",lines) +// ) + +// Target.create "PrepareRelease" (fun _ -> +// Fake.Tools.Git.Branches.checkout "" false "master" +// Fake.Tools.Git.CommandHelper.directRunGitCommand "" "fetch origin" +// |> ignore +// Fake.Tools.Git.CommandHelper.directRunGitCommand "" "fetch origin --tags" +// |> ignore + +// Fake.Tools.Git.Staging.stageAll "" +// Fake.Tools.Git.Commit.exec "" (sprintf "Bumping version to %O" release.NugetVersion) +// Fake.Tools.Git.Branches.pushBranch "" "origin" "master" + +// let tagName = string release.NugetVersion +// Fake.Tools.Git.Branches.tag "" tagName +// Fake.Tools.Git.Branches.pushTag "" "origin" tagName +// ) + + +// Target.create "CompileForTest" (fun _ -> +// Target.activateFinal "KillProcess" +// DotNet.exec id "fable" "watch src/ --outDir ./out --define TEST" +// |> ignore +// ) + +// Target.create "AssembleForTest" (fun _ -> +// runTool gradleTool "assembleRelease --console plain" "android" +// ) + + + +// Target.create "BuildRelease" (fun _ -> +// Target.activateFinal "KillProcess" + +// dotnet "fable run fable-splitter -c splitter.config.js --define RELEASE" srcDir + +// runTool gradleTool "assembleRelease --console plain" "android" + +// let outFile = "android" "app" "build" "outputs" "apk" "release" "app-release.apk" + +// Shell.copy deployDir [outFile] +// let fi = FileInfo (deployDir "app-release.apk") +// fi.MoveTo (deployDir sprintf "Client.%s.apk" release.NugetVersion) +// ) + + + +// Target.createFinal "KillProcess" (fun _ -> +// killDotnetCli() +// killADB() +// ) + +// Target.create "Deploy" (fun _ -> +// () // TODO: +// ) + +// Target.create "Default" ignore + +// "Clean" +// ==> "SetReleaseNotes" +// ==> "SetVersionAndroid" +// ==> "Restore" +// ==> "CompileForTest" +// ==> "AssembleForTest" +// // ==> "ExecuteTests" +// ==> "Default" +// ==> "BuildRelease" +// ==> "Deploy" + +// "Restore" +// ==> "Debug" + +// "SetVersionAndroid" +// ==> "PrepareRelease" + +// Target.runOrDefaultWithArguments "Default" diff --git a/Build.fsproj b/Build.fsproj new file mode 100644 index 0000000..23ab60c --- /dev/null +++ b/Build.fsproj @@ -0,0 +1,11 @@ + + + Exe + net5.0 + + + + + + + \ No newline at end of file diff --git a/Helpers.fs b/Helpers.fs new file mode 100644 index 0000000..631d7b0 --- /dev/null +++ b/Helpers.fs @@ -0,0 +1,115 @@ +module Helpers + +open Fake.Core + +let initializeContext () = + let execContext = Context.FakeExecutionContext.Create false "build.fsx" [ ] + Context.setExecutionContext (Context.RuntimeContext.Fake execContext) + +module Proc = + module Parallel = + open System + + let locker = obj() + + let colors = + [| ConsoleColor.Blue + ConsoleColor.Yellow + ConsoleColor.Magenta + ConsoleColor.Cyan + ConsoleColor.DarkBlue + ConsoleColor.DarkYellow + ConsoleColor.DarkMagenta + ConsoleColor.DarkCyan |] + + let print color (colored: string) (line: string) = + lock locker + (fun () -> + let currentColor = Console.ForegroundColor + Console.ForegroundColor <- color + Console.Write colored + Console.ForegroundColor <- currentColor + Console.WriteLine line) + + let onStdout index name (line: string) = + let color = colors.[index % colors.Length] + if isNull line then + print color $"{name}: --- END ---" "" + else if String.isNotNullOrEmpty line then + print color $"{name}: " line + + let onStderr name (line: string) = + let color = ConsoleColor.Red + if isNull line |> not then + print color $"{name}: " line + + let redirect (index, (name, createProcess)) = + createProcess + |> CreateProcess.redirectOutputIfNotRedirected + |> CreateProcess.withOutputEvents (onStdout index name) (onStderr name) + + let printStarting indexed = + for (index, (name, c: CreateProcess<_>)) in indexed do + let color = colors.[index % colors.Length] + let wd = + c.WorkingDirectory + |> Option.defaultValue "" + let exe = c.Command.Executable + let args = c.Command.Arguments.ToStartInfo + print color $"{name}: {wd}> {exe} {args}" "" + + let run cs = + cs + |> Seq.toArray + |> Array.indexed + |> fun x -> printStarting x; x + |> Array.map redirect + |> Array.Parallel.map Proc.run + +let createProcess exe arg dir = + CreateProcess.fromRawCommandLine exe arg + |> CreateProcess.withWorkingDirectory dir + |> CreateProcess.ensureExitCode + +let dotnet = createProcess "dotnet" +let npm = + let npmPath = + match ProcessUtils.tryFindFileOnPath "npm" with + | Some path -> path + | None -> + "npm was not found in path. Please install it and make sure it's available from your path. " + + "See https://safe-stack.github.io/docs/quickstart/#install-pre-requisites for more info" + |> failwith + + createProcess npmPath + +let reactNative = + let reactNativePath = + match ProcessUtils.tryFindFileOnPath "react-native" with + | Some path -> path + | None -> + "react-native was not found in path. Please install it and make sure it's available from your path. " + + "See https://safe-stack.github.io/docs/quickstart/#install-pre-requisites for more info" + |> failwith + + createProcess reactNativePath + +let run proc arg dir = + proc arg dir + |> Proc.run + |> ignore + +let runParallel processes = + processes + |> Proc.Parallel.run + |> ignore + +let runOrDefault args = + try + match args with + | [| target |] -> Target.runOrDefault target + | _ -> Target.runOrDefault "Run" + 0 + with e -> + printfn "%A" e + 1 diff --git a/README.md b/README.md index 875579a..ea5f659 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ Other tools like [Paket](https://fsprojects.github.io/Paket/) or [FAKE](https:// * Run `build.cmd debug` from command prompt * Go to android device simulator and you should see something like -![Device Running](http://www.navision-blog.de/images/nightwatchapp.gif) +![Device Running](http://www.navision-blog.de/images/Clientapp.gif) * Go to the F# source in VS Code make a change and save the file * Fable watch should pick up this change automatically and compile it diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 94aa9bd..776225b 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,2 +1,4 @@ +#### 1.0.1-alpha - 08.12.2020 +* Update to Fable 3 and NET 5 #### 1.0.0 - 17.10.2016 * First release diff --git a/android/.project b/android/.project index 1da9a25..9a3436f 100644 --- a/android/.project +++ b/android/.project @@ -1,6 +1,6 @@ - Nightwatch + Client Project android created by Buildship. diff --git a/android/app/_BUCK b/android/app/_BUCK index 17dfb32..a78cdae 100644 --- a/android/app/_BUCK +++ b/android/app/_BUCK @@ -35,12 +35,12 @@ android_library( android_build_config( name = "build_config", - package = "com.nightwatch", + package = "com.Client", ) android_resource( name = "res", - package = "com.nightwatch", + package = "com.Client", res = "src/main/res", ) diff --git a/android/app/build.gradle b/android/app/build.gradle index ee15101..35f0910 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -128,11 +128,11 @@ android { } defaultConfig { - applicationId "com.nightwatch" + applicationId "com.Client" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 37 - versionName "1.0.0" + versionCode 92 + versionName "1.0.1-alpha" } splits { abi { diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index f6cf056..a062be2 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,5 +1,5 @@ + package="com.Client"> diff --git a/android/app/src/main/java/com/nightwatch/MainActivity.java b/android/app/src/main/java/com/nightwatch/MainActivity.java index c4fe084..b61e43d 100644 --- a/android/app/src/main/java/com/nightwatch/MainActivity.java +++ b/android/app/src/main/java/com/nightwatch/MainActivity.java @@ -1,4 +1,4 @@ -package com.nightwatch; +package com.Client; import com.facebook.react.ReactActivity; @@ -10,6 +10,6 @@ public class MainActivity extends ReactActivity { */ @Override protected String getMainComponentName() { - return "Nightwatch"; + return "Client"; } } diff --git a/android/app/src/main/java/com/nightwatch/MainApplication.java b/android/app/src/main/java/com/nightwatch/MainApplication.java index 4938154..b6cab78 100644 --- a/android/app/src/main/java/com/nightwatch/MainApplication.java +++ b/android/app/src/main/java/com/nightwatch/MainApplication.java @@ -1,4 +1,4 @@ -package com.nightwatch; +package com.Client; import android.app.Application; import android.content.Context; diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml index ed38a3e..8476fb3 100644 --- a/android/app/src/main/res/values/strings.xml +++ b/android/app/src/main/res/values/strings.xml @@ -1,3 +1,3 @@ - Nightwatch + Client diff --git a/android/build.gradle b/android/build.gradle index 28f7ec6..8a52307 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -2,17 +2,17 @@ buildscript { ext { - buildToolsVersion = "28.0.3" + buildToolsVersion = "29.0.2" minSdkVersion = 16 - compileSdkVersion = 28 - targetSdkVersion = 28 + compileSdkVersion = 29 + targetSdkVersion = 29 } repositories { google() jcenter() } dependencies { - classpath("com.android.tools.build:gradle:3.4.2") + classpath('com.android.tools.build:gradle:4.2.0-beta01') // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index e0c4de3..6807c45 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,6 @@ +#Sun Dec 06 19:54:20 CET 2020 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.5-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists +distributionUrl=https://services.gradle.org/distributions/gradle-6.7-bin.zip diff --git a/android/settings.gradle b/android/settings.gradle index e55d148..3ae19b6 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -1,3 +1,3 @@ -rootProject.name = 'Nightwatch' +rootProject.name = 'Client' apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings) include ':app' diff --git a/build.cmd b/build.cmd index e9933d3..7b418bd 100644 --- a/build.cmd +++ b/build.cmd @@ -1,9 +1,9 @@ @echo off cls -.paket\paket.exe restore +dotnet tool restore if errorlevel 1 ( exit /b %errorlevel% ) -packages\build\FAKE\tools\FAKE.exe build.fsx %* +dotnet fake build --target %* diff --git a/build.fsx b/build.fsx deleted file mode 100644 index 8f3c822..0000000 --- a/build.fsx +++ /dev/null @@ -1,318 +0,0 @@ -// -------------------------------------------------------------------------------------- -// FAKE build script -// -------------------------------------------------------------------------------------- - -#r @"packages/build/FAKE/tools/FakeLib.dll" - -open System -open System.IO -open Fake -open Fake.Git -open Fake.ReleaseNotesHelper -open Fake.Testing.Expecto - -// Read additional information from the release notes document -let releaseNotes = File.ReadAllLines "RELEASE_NOTES.md" - -let releaseNotesData = - releaseNotes - |> parseAllReleaseNotes - -let outDir = "./out" -let deployDir = "./deploy" -let release = List.head releaseNotesData -let packageVersion = SemVerHelper.parse release.NugetVersion - - -let testExecutables = "tests/**/bin/Debug/**/*Tests*.exe" - - -let run' timeout (cmd:Lazy) args dir = - if execProcess (fun info -> - info.FileName <- cmd.Force() - if not (String.IsNullOrWhiteSpace dir) then - info.WorkingDirectory <- dir - info.Arguments <- args - ) timeout |> not then - failwithf "Error while running '%s' with args: %s" (cmd.Force()) args - -let run = run' System.TimeSpan.MaxValue - - -let platformTool tool winTool = lazy( - let tool = if isUnix then tool else winTool - tool - |> ProcessHelper.tryFindFileOnPath - |> function Some t -> t | _ -> failwithf "%s not found" tool) - -let nodeTool = platformTool "node" "node.exe" -let yarnTool = platformTool "yarn" "yarn.cmd" - -let srcDir = __SOURCE_DIRECTORY__ "src" - -let testDir = __SOURCE_DIRECTORY__ "tests" "IntegrationTests" - -let dotnetcliVersion = DotNetCli.GetDotNetSDKVersionFromGlobalJson() - -let mutable dotnetExePath = "dotnet" - -let runDotnet workingDir args = - let result = - ExecProcess (fun info -> - info.FileName <- dotnetExePath - info.WorkingDirectory <- workingDir - info.Arguments <- args) TimeSpan.MaxValue - if result <> 0 then failwithf "dotnet %s failed" args - -let gradleTool = platformTool "android/gradlew" ("android" "gradlew.bat" |> FullName) -let reactNativeTool = platformTool "react-native" "react-native.cmd" - -let androidSDKPath = - match environVarOrNone "ANDROID_HOME" with - | Some path -> path - | None -> - if isWindows then - let p1 = ProgramFilesX86 "Android" "android-sdk" - if Directory.Exists p1 then FullName p1 else - let p2 = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) "Android" "sdk" - if Directory.Exists p2 then FullName p2 else - failwithf "Can't find Android SDK in %s or %s" p1 p2 - else - let p3 = Environment.GetFolderPath(Environment.SpecialFolder.Personal) "Library/Android/sdk" - if Directory.Exists p3 then FullName p3 else - failwithf "Can't find Android SDK in %s, please set ANDROID_HOME enviromental variable" p3 - -let adbTool = platformTool (androidSDKPath "platform-tools/adb") (androidSDKPath "platform-tools/adb.exe") - - -setEnvironVar "ANDROID_HOME" androidSDKPath -setEnvironVar "ANDROID_SDK_ROOT" androidSDKPath - -if buildServer = BuildServer.GitLabCI then - let newPATH = environVar "PATH" + @";C:\Program Files (x86)\Microsoft F#\v4.0" - setEnvironVar "PATH" newPATH - -let killDotnetCli() = - killProcess "dotnet" - killProcess "dotnet.exe" - -let killADB() = - killProcess "adb" - killProcess "adb.exe" - - -if isLocalBuild then () else killDotnetCli() - -Target "Clean" (fun _ -> - CleanDir outDir - CleanDir deployDir - ProcessHelper.killProcess "node" - !! "./**/AppiumLog.txt" |> Seq.iter File.Delete - CleanDir "./android/build" - CleanDir "./android/app/build" -) - -FinalTarget "CloseAndroid" (fun _ -> - if isLocalBuild then () else - killADB() - killDotnetCli() - killProcess "qemu-system-i386" - killProcess "qemu-system-aarch64" - killProcess "qemu-system-armel" - killProcess "qemu-system-mips64el" - killProcess "qemu-system-mipsel" - killProcess "qemu-system-x86_64" - killProcess "emulator-crash-service" - killProcess "emulator64-crash-service" - killProcess "node" -) - -Target "InstallDotNetCore" (fun _ -> - dotnetExePath <- DotNetCli.InstallDotNetSDK dotnetcliVersion - - let fi = FileInfo dotnetExePath - let SEPARATOR = if isWindows then ";" else ":" - Environment.SetEnvironmentVariable( - "PATH", - fi.Directory.FullName + SEPARATOR + System.Environment.GetEnvironmentVariable "PATH", - EnvironmentVariableTarget.Process) -) - -Target "Restore" (fun _ -> - setEnvironVar "ANDROID_HOME" androidSDKPath - - printfn "Node version:" - run nodeTool "--version" __SOURCE_DIRECTORY__ - printfn "Yarn version:" - run yarnTool "--version" __SOURCE_DIRECTORY__ - run yarnTool "install --frozen-lockfile" __SOURCE_DIRECTORY__ - runDotnet srcDir "restore" - runDotnet testDir "restore" -) - -Target "BuildTests" (fun _ -> - let result = - ExecProcess (fun info -> - info.FileName <- dotnetExePath - info.WorkingDirectory <- testDir - info.Arguments <- "build") TimeSpan.MaxValue - if result <> 0 then failwith "dotnet build issue." -) - -Target "RunTests" (fun _ -> - ActivateFinalTarget "CloseAndroid" - - !! testExecutables - |> Expecto (fun p -> { p with Parallel = false } ) - |> ignore -) - -let gradleFile = "./android/app/build.gradle" - -let getCurrentAndroidVersionCode() = - File.ReadAllLines gradleFile - |> Seq.tryPick (fun line -> - if line.TrimStart().StartsWith("versionCode ") then - Some(line.Replace("versionCode","").Trim() |> int) - else None) - |> fun v -> defaultArg v 1 - -Target "SetVersionAndroid" (fun _ -> - let lines = - File.ReadAllLines gradleFile - |> Seq.map (fun line -> - if line.TrimStart().StartsWith("versionCode ") then - let currentVersionCode = line.Replace("versionCode","").Trim() |> int - let indent = line.Substring(0,line.IndexOf("versionCode")) - sprintf "%sversionCode %d" indent (currentVersionCode + 1) - elif line.TrimStart().StartsWith("versionName ") then - let indent = line.Substring(0,line.IndexOf("versionName")) - sprintf "%sversionName \"%O\"" indent release.NugetVersion - else line) - File.WriteAllLines(gradleFile,lines) - - let fileName = "./package.json" - let lines = - File.ReadAllLines fileName - |> Seq.map (fun line -> - if line.TrimStart().StartsWith("\"version\":") then - let indent = line.Substring(0,line.IndexOf("\"")) - sprintf "%s\"version\": \"%O\"," indent release.NugetVersion - else line) - File.WriteAllLines(fileName,lines) -) - -Target "SetReleaseNotes" (fun _ -> - let lines = [ - "module internal ReleaseNotes" - "" - (sprintf "let AppVersion = \"%s\"" release.NugetVersion) - "" - (sprintf "let IsPrerelease = %b" (release.SemVer.PreRelease <> None)) - "" - (sprintf "let AndroidVersionCode = %d" (getCurrentAndroidVersionCode())) - "" - "let Notes = \"\"\""] @ Array.toList releaseNotes @ ["\"\"\""] - File.WriteAllLines("src/ReleaseNotes.fs",lines) -) - -Target "PrepareRelease" (fun _ -> - Git.Branches.checkout "" false "master" - Git.CommandHelper.directRunGitCommand "" "fetch origin" |> ignore - Git.CommandHelper.directRunGitCommand "" "fetch origin --tags" |> ignore - - StageAll "" - Git.Commit.Commit "" (sprintf "Release %O" release.NugetVersion) - Git.Branches.pushBranch "" "origin" "master" - - let tagName = string release.NugetVersion - Git.Branches.tag "" tagName - Git.Branches.pushTag "" "origin" tagName -) - - -Target "CompileForTest" (fun _ -> - ActivateFinalTarget "KillProcess" - - run yarnTool "run fable-splitter -c splitter.config.js --define TEST" srcDir -) - -Target "AssembleForTest" (fun _ -> - run gradleTool "assembleRelease --console plain" "android" -) - - -type NativeApps = -| Android -| IOs - -let nativeApp = - if hasBuildParam "ios" then IOs - elif hasBuildParam "android" then Android - elif isMacOS then - IOs - else - Android - -let reactiveCmd = - match nativeApp with - | Android -> "react-native run-android" - | IOs -> "react-native run-ios" - -Target "BuildRelease" (fun _ -> - ActivateFinalTarget "KillProcess" - - run yarnTool "run fable-splitter -c splitter.config.js --define RELEASE" srcDir - - run gradleTool "assembleRelease --console plain" "android" - - let outFile = "android" "app" "build" "outputs" "apk" "release" "app-release.apk" - - Copy deployDir [outFile] - let fi = FileInfo (deployDir "app-release.apk") - fi.MoveTo (deployDir sprintf "Nightwatch.%s.apk" release.NugetVersion) -) - -Target "Debug" (fun _ -> - run yarnTool "run fable-splitter -c splitter.config.js --define DEBUG" srcDir - - let fablewatch = async { run yarnTool "run fable-splitter -c splitter.config.js -w --define DEBUG" srcDir } - - let reactNativeTool = async { run yarnTool reactiveCmd "" } - - Async.Parallel [| fablewatch; reactNativeTool |] - |> Async.RunSynchronously - |> ignore -) - -FinalTarget "KillProcess" (fun _ -> - killDotnetCli() - killADB() -) - -Target "Deploy" (fun _ -> - () // TODO: -) - -Target "Default" DoNothing - -"Clean" -==> "SetReleaseNotes" -==> "SetVersionAndroid" -==> "InstallDotNetCore" -==> "Restore" -==> "CompileForTest" -==> "AssembleForTest" -==> "BuildTests" -==> "RunTests" -==> "Default" -==> "BuildRelease" -==> "Deploy" - -"Restore" -==> "Debug" - -"SetVersionAndroid" -==> "PrepareRelease" - -RunTargetOrDefault "Default" diff --git a/build.sh b/build.sh deleted file mode 100755 index b10d464..0000000 --- a/build.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash - -if [ -z "$ANDROID_HOME" ]; then - echo "ANDROID_HOME is not currently set, using a default setting of /opt/android-sdk-linux/" - export ANDROID_HOME=/opt/android-sdk-linux/ -fi - -if test "$OS" = "Windows_NT"; then - MONO="" -else - # Mono fix for https://github.com/fsharp/FAKE/issues/805 - export MONO_MANAGED_WATCHER=false - MONO="mono" -fi - -if [ -e "paket.lock" ]; then - $MONO .paket/paket.exe restore -else - $MONO .paket/paket.exe install -fi -exit_code=$? -if [ $exit_code -ne 0 ]; then - exit $exit_code -fi -$MONO packages/build/FAKE/tools/FAKE.exe $@ --fsiargs build.fsx diff --git a/debug.cmd b/debug.cmd deleted file mode 100644 index e7c85c6..0000000 --- a/debug.cmd +++ /dev/null @@ -1,9 +0,0 @@ -@echo off -cls - -.paket\paket.exe restore -if errorlevel 1 ( - exit /b %errorlevel% -) - -packages\build\FAKE\tools\FAKE.exe build.fsx Debug \ No newline at end of file diff --git a/global.json b/global.json index 533de91..73865f2 100644 --- a/global.json +++ b/global.json @@ -1,5 +1,5 @@ { "sdk": { - "version": "3.0.100" + "version": "5.0.100" } } \ No newline at end of file diff --git a/index.js b/index.js index 05128a8..f828a23 100644 --- a/index.js +++ b/index.js @@ -3,4 +3,4 @@ */ import {AppRegistry} from 'react-native'; -import Nightwatch from './out/Nightwatch'; \ No newline at end of file +import Client from './out/Client/'; \ No newline at end of file diff --git a/ios/Nightwatch.xcodeproj/project.pbxproj b/ios/Client.xcodeproj/project.pbxproj similarity index 73% rename from ios/Nightwatch.xcodeproj/project.pbxproj rename to ios/Client.xcodeproj/project.pbxproj index 5c3b40d..553de6b 100644 --- a/ios/Nightwatch.xcodeproj/project.pbxproj +++ b/ios/Client.xcodeproj/project.pbxproj @@ -7,8 +7,8 @@ objects = { /* Begin PBXBuildFile section */ - 002943EC2ED092EC73BB46A1 /* libPods-Nightwatch-tvOSTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8CCD8B1FE91EF24F85403E95 /* libPods-Nightwatch-tvOSTests.a */; }; - 00E356F31AD99517003FC87E /* NightwatchTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* NightwatchTests.m */; }; + 002943EC2ED092EC73BB46A1 /* libPods-Client-tvOSTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8CCD8B1FE91EF24F85403E95 /* libPods-Client-tvOSTests.a */; }; + 00E356F31AD99517003FC87E /* ClientTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* ClientTests.m */; }; 13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; }; 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB11A68108700A75B9A /* LaunchScreen.xib */; }; 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; @@ -16,10 +16,10 @@ 2D02E4BC1E0B4A80006451C7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; }; 2D02E4BD1E0B4A84006451C7 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; 2D02E4BF1E0B4AB3006451C7 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; - 2DCD954D1E0B4F2C00145EB5 /* NightwatchTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* NightwatchTests.m */; }; - 77564A96CBCABB2E0515537A /* libPods-Nightwatch.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4086C24F961423872FFB1F69 /* libPods-Nightwatch.a */; }; - 9E1CE35B6D98144CD937518A /* libPods-NightwatchTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 37A0BFC3730AA4739A7018A9 /* libPods-NightwatchTests.a */; }; - D44A4C032C3626EF1AA277E1 /* libPods-Nightwatch-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F30345A02D49A0BC35AF203E /* libPods-Nightwatch-tvOS.a */; }; + 2DCD954D1E0B4F2C00145EB5 /* ClientTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* ClientTests.m */; }; + 77564A96CBCABB2E0515537A /* libPods-Client.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4086C24F961423872FFB1F69 /* libPods-Client.a */; }; + 9E1CE35B6D98144CD937518A /* libPods-ClientTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 37A0BFC3730AA4739A7018A9 /* libPods-ClientTests.a */; }; + D44A4C032C3626EF1AA277E1 /* libPods-Client-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F30345A02D49A0BC35AF203E /* libPods-Client-tvOS.a */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -28,45 +28,45 @@ containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; proxyType = 1; remoteGlobalIDString = 13B07F861A680F5B00A75B9A; - remoteInfo = Nightwatch; + remoteInfo = Client; }; 2D02E4911E0B4A5D006451C7 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; proxyType = 1; remoteGlobalIDString = 2D02E47A1E0B4A5D006451C7; - remoteInfo = "Nightwatch-tvOS"; + remoteInfo = "Client-tvOS"; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ 008F07F21AC5B25A0029DE68 /* main.jsbundle */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = main.jsbundle; sourceTree = ""; }; - 00E356EE1AD99517003FC87E /* NightwatchTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = NightwatchTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 00E356EE1AD99517003FC87E /* ClientTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ClientTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 00E356F21AD99517003FC87E /* NightwatchTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NightwatchTests.m; sourceTree = ""; }; - 03B1EDC4206F9F84BA128D4D /* Pods-Nightwatch.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Nightwatch.debug.xcconfig"; path = "Target Support Files/Pods-Nightwatch/Pods-Nightwatch.debug.xcconfig"; sourceTree = ""; }; - 13B07F961A680F5B00A75B9A /* Nightwatch.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Nightwatch.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = Nightwatch/AppDelegate.h; sourceTree = ""; }; - 13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = Nightwatch/AppDelegate.m; sourceTree = ""; }; + 00E356F21AD99517003FC87E /* ClientTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ClientTests.m; sourceTree = ""; }; + 03B1EDC4206F9F84BA128D4D /* Pods-Client.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Client.debug.xcconfig"; path = "Target Support Files/Pods-Client/Pods-Client.debug.xcconfig"; sourceTree = ""; }; + 13B07F961A680F5B00A75B9A /* Client.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Client.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = Client/AppDelegate.h; sourceTree = ""; }; + 13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = Client/AppDelegate.m; sourceTree = ""; }; 13B07FB21A68108700A75B9A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; }; - 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = Nightwatch/Images.xcassets; sourceTree = ""; }; - 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = Nightwatch/Info.plist; sourceTree = ""; }; - 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = Nightwatch/main.m; sourceTree = ""; }; - 2D02E47B1E0B4A5D006451C7 /* Nightwatch-tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Nightwatch-tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; }; - 2D02E4901E0B4A5D006451C7 /* Nightwatch-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Nightwatch-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - 3258C315452DF2434CA862CB /* Pods-NightwatchTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NightwatchTests.release.xcconfig"; path = "Target Support Files/Pods-NightwatchTests/Pods-NightwatchTests.release.xcconfig"; sourceTree = ""; }; - 37A0BFC3730AA4739A7018A9 /* libPods-NightwatchTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-NightwatchTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 4086C24F961423872FFB1F69 /* libPods-Nightwatch.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Nightwatch.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 6589D8C6A32EC0CABB3956C2 /* Pods-Nightwatch.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Nightwatch.release.xcconfig"; path = "Target Support Files/Pods-Nightwatch/Pods-Nightwatch.release.xcconfig"; sourceTree = ""; }; - 8CCD8B1FE91EF24F85403E95 /* libPods-Nightwatch-tvOSTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Nightwatch-tvOSTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 91C39CD8F5CBBDC7520873D1 /* Pods-Nightwatch-tvOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Nightwatch-tvOSTests.release.xcconfig"; path = "Target Support Files/Pods-Nightwatch-tvOSTests/Pods-Nightwatch-tvOSTests.release.xcconfig"; sourceTree = ""; }; - 9E6AD248645FE23AE74FC6F1 /* Pods-Nightwatch-tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Nightwatch-tvOS.debug.xcconfig"; path = "Target Support Files/Pods-Nightwatch-tvOS/Pods-Nightwatch-tvOS.debug.xcconfig"; sourceTree = ""; }; - A2E4170EC33B04170B4B883A /* Pods-Nightwatch-tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Nightwatch-tvOS.release.xcconfig"; path = "Target Support Files/Pods-Nightwatch-tvOS/Pods-Nightwatch-tvOS.release.xcconfig"; sourceTree = ""; }; - C357C43F8D647AFEA17BF76D /* Pods-NightwatchTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NightwatchTests.debug.xcconfig"; path = "Target Support Files/Pods-NightwatchTests/Pods-NightwatchTests.debug.xcconfig"; sourceTree = ""; }; - D2809CD12F58843DBEA92B49 /* Pods-Nightwatch-tvOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Nightwatch-tvOSTests.debug.xcconfig"; path = "Target Support Files/Pods-Nightwatch-tvOSTests/Pods-Nightwatch-tvOSTests.debug.xcconfig"; sourceTree = ""; }; + 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = Client/Images.xcassets; sourceTree = ""; }; + 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = Client/Info.plist; sourceTree = ""; }; + 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = Client/main.m; sourceTree = ""; }; + 2D02E47B1E0B4A5D006451C7 /* Client-tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Client-tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + 2D02E4901E0B4A5D006451C7 /* Client-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Client-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; + 3258C315452DF2434CA862CB /* Pods-ClientTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ClientTests.release.xcconfig"; path = "Target Support Files/Pods-ClientTests/Pods-ClientTests.release.xcconfig"; sourceTree = ""; }; + 37A0BFC3730AA4739A7018A9 /* libPods-ClientTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ClientTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 4086C24F961423872FFB1F69 /* libPods-Client.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Client.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 6589D8C6A32EC0CABB3956C2 /* Pods-Client.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Client.release.xcconfig"; path = "Target Support Files/Pods-Client/Pods-Client.release.xcconfig"; sourceTree = ""; }; + 8CCD8B1FE91EF24F85403E95 /* libPods-Client-tvOSTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Client-tvOSTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 91C39CD8F5CBBDC7520873D1 /* Pods-Client-tvOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Client-tvOSTests.release.xcconfig"; path = "Target Support Files/Pods-Client-tvOSTests/Pods-Client-tvOSTests.release.xcconfig"; sourceTree = ""; }; + 9E6AD248645FE23AE74FC6F1 /* Pods-Client-tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Client-tvOS.debug.xcconfig"; path = "Target Support Files/Pods-Client-tvOS/Pods-Client-tvOS.debug.xcconfig"; sourceTree = ""; }; + A2E4170EC33B04170B4B883A /* Pods-Client-tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Client-tvOS.release.xcconfig"; path = "Target Support Files/Pods-Client-tvOS/Pods-Client-tvOS.release.xcconfig"; sourceTree = ""; }; + C357C43F8D647AFEA17BF76D /* Pods-ClientTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ClientTests.debug.xcconfig"; path = "Target Support Files/Pods-ClientTests/Pods-ClientTests.debug.xcconfig"; sourceTree = ""; }; + D2809CD12F58843DBEA92B49 /* Pods-Client-tvOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Client-tvOSTests.debug.xcconfig"; path = "Target Support Files/Pods-Client-tvOSTests/Pods-Client-tvOSTests.debug.xcconfig"; sourceTree = ""; }; ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; ED2971642150620600B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS12.0.sdk/System/Library/Frameworks/JavaScriptCore.framework; sourceTree = DEVELOPER_DIR; }; - F30345A02D49A0BC35AF203E /* libPods-Nightwatch-tvOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Nightwatch-tvOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + F30345A02D49A0BC35AF203E /* libPods-Client-tvOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Client-tvOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -74,7 +74,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 9E1CE35B6D98144CD937518A /* libPods-NightwatchTests.a in Frameworks */, + 9E1CE35B6D98144CD937518A /* libPods-ClientTests.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -82,7 +82,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 77564A96CBCABB2E0515537A /* libPods-Nightwatch.a in Frameworks */, + 77564A96CBCABB2E0515537A /* libPods-Client.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -90,7 +90,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D44A4C032C3626EF1AA277E1 /* libPods-Nightwatch-tvOS.a in Frameworks */, + D44A4C032C3626EF1AA277E1 /* libPods-Client-tvOS.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -98,20 +98,20 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 002943EC2ED092EC73BB46A1 /* libPods-Nightwatch-tvOSTests.a in Frameworks */, + 002943EC2ED092EC73BB46A1 /* libPods-Client-tvOSTests.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 00E356EF1AD99517003FC87E /* NightwatchTests */ = { + 00E356EF1AD99517003FC87E /* ClientTests */ = { isa = PBXGroup; children = ( - 00E356F21AD99517003FC87E /* NightwatchTests.m */, + 00E356F21AD99517003FC87E /* ClientTests.m */, 00E356F01AD99517003FC87E /* Supporting Files */, ); - path = NightwatchTests; + path = ClientTests; sourceTree = ""; }; 00E356F01AD99517003FC87E /* Supporting Files */ = { @@ -125,20 +125,20 @@ 0170D1BBA4EB946A97A7EB04 /* Pods */ = { isa = PBXGroup; children = ( - 03B1EDC4206F9F84BA128D4D /* Pods-Nightwatch.debug.xcconfig */, - 6589D8C6A32EC0CABB3956C2 /* Pods-Nightwatch.release.xcconfig */, - 9E6AD248645FE23AE74FC6F1 /* Pods-Nightwatch-tvOS.debug.xcconfig */, - A2E4170EC33B04170B4B883A /* Pods-Nightwatch-tvOS.release.xcconfig */, - D2809CD12F58843DBEA92B49 /* Pods-Nightwatch-tvOSTests.debug.xcconfig */, - 91C39CD8F5CBBDC7520873D1 /* Pods-Nightwatch-tvOSTests.release.xcconfig */, - C357C43F8D647AFEA17BF76D /* Pods-NightwatchTests.debug.xcconfig */, - 3258C315452DF2434CA862CB /* Pods-NightwatchTests.release.xcconfig */, + 03B1EDC4206F9F84BA128D4D /* Pods-Client.debug.xcconfig */, + 6589D8C6A32EC0CABB3956C2 /* Pods-Client.release.xcconfig */, + 9E6AD248645FE23AE74FC6F1 /* Pods-Client-tvOS.debug.xcconfig */, + A2E4170EC33B04170B4B883A /* Pods-Client-tvOS.release.xcconfig */, + D2809CD12F58843DBEA92B49 /* Pods-Client-tvOSTests.debug.xcconfig */, + 91C39CD8F5CBBDC7520873D1 /* Pods-Client-tvOSTests.release.xcconfig */, + C357C43F8D647AFEA17BF76D /* Pods-ClientTests.debug.xcconfig */, + 3258C315452DF2434CA862CB /* Pods-ClientTests.release.xcconfig */, ); name = Pods; path = Pods; sourceTree = ""; }; - 13B07FAE1A68108700A75B9A /* Nightwatch */ = { + 13B07FAE1A68108700A75B9A /* Client */ = { isa = PBXGroup; children = ( 008F07F21AC5B25A0029DE68 /* main.jsbundle */, @@ -149,7 +149,7 @@ 13B07FB11A68108700A75B9A /* LaunchScreen.xib */, 13B07FB71A68108700A75B9A /* main.m */, ); - name = Nightwatch; + name = Client; sourceTree = ""; }; 2D16E6871FA4F8E400B85C8A /* Frameworks */ = { @@ -157,10 +157,10 @@ children = ( ED297162215061F000B7C4FE /* JavaScriptCore.framework */, ED2971642150620600B7C4FE /* JavaScriptCore.framework */, - 4086C24F961423872FFB1F69 /* libPods-Nightwatch.a */, - F30345A02D49A0BC35AF203E /* libPods-Nightwatch-tvOS.a */, - 8CCD8B1FE91EF24F85403E95 /* libPods-Nightwatch-tvOSTests.a */, - 37A0BFC3730AA4739A7018A9 /* libPods-NightwatchTests.a */, + 4086C24F961423872FFB1F69 /* libPods-Client.a */, + F30345A02D49A0BC35AF203E /* libPods-Client-tvOS.a */, + 8CCD8B1FE91EF24F85403E95 /* libPods-Client-tvOSTests.a */, + 37A0BFC3730AA4739A7018A9 /* libPods-ClientTests.a */, ); name = Frameworks; sourceTree = ""; @@ -175,9 +175,9 @@ 83CBB9F61A601CBA00E9B192 = { isa = PBXGroup; children = ( - 13B07FAE1A68108700A75B9A /* Nightwatch */, + 13B07FAE1A68108700A75B9A /* Client */, 832341AE1AAA6A7D00B99B32 /* Libraries */, - 00E356EF1AD99517003FC87E /* NightwatchTests */, + 00E356EF1AD99517003FC87E /* ClientTests */, 83CBBA001A601CBA00E9B192 /* Products */, 2D16E6871FA4F8E400B85C8A /* Frameworks */, 0170D1BBA4EB946A97A7EB04 /* Pods */, @@ -190,10 +190,10 @@ 83CBBA001A601CBA00E9B192 /* Products */ = { isa = PBXGroup; children = ( - 13B07F961A680F5B00A75B9A /* Nightwatch.app */, - 00E356EE1AD99517003FC87E /* NightwatchTests.xctest */, - 2D02E47B1E0B4A5D006451C7 /* Nightwatch-tvOS.app */, - 2D02E4901E0B4A5D006451C7 /* Nightwatch-tvOSTests.xctest */, + 13B07F961A680F5B00A75B9A /* Client.app */, + 00E356EE1AD99517003FC87E /* ClientTests.xctest */, + 2D02E47B1E0B4A5D006451C7 /* Client-tvOS.app */, + 2D02E4901E0B4A5D006451C7 /* Client-tvOSTests.xctest */, ); name = Products; sourceTree = ""; @@ -201,9 +201,9 @@ /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - 00E356ED1AD99517003FC87E /* NightwatchTests */ = { + 00E356ED1AD99517003FC87E /* ClientTests */ = { isa = PBXNativeTarget; - buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "NightwatchTests" */; + buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "ClientTests" */; buildPhases = ( 1B61F1699626B8E173D69FEB /* [CP] Check Pods Manifest.lock */, 00E356EA1AD99517003FC87E /* Sources */, @@ -215,14 +215,14 @@ dependencies = ( 00E356F51AD99517003FC87E /* PBXTargetDependency */, ); - name = NightwatchTests; - productName = NightwatchTests; - productReference = 00E356EE1AD99517003FC87E /* NightwatchTests.xctest */; + name = ClientTests; + productName = ClientTests; + productReference = 00E356EE1AD99517003FC87E /* ClientTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; - 13B07F861A680F5B00A75B9A /* Nightwatch */ = { + 13B07F861A680F5B00A75B9A /* Client */ = { isa = PBXNativeTarget; - buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "Nightwatch" */; + buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "Client" */; buildPhases = ( 02E452EB5ABD21909201FBD4 /* [CP] Check Pods Manifest.lock */, FD10A7F022414F080027D42C /* Start Packager */, @@ -230,19 +230,20 @@ 13B07F8C1A680F5B00A75B9A /* Frameworks */, 13B07F8E1A680F5B00A75B9A /* Resources */, 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, + 12F02E5D85FEE3D86C8C7ADE /* [CP] Copy Pods Resources */, ); buildRules = ( ); dependencies = ( ); - name = Nightwatch; - productName = Nightwatch; - productReference = 13B07F961A680F5B00A75B9A /* Nightwatch.app */; + name = Client; + productName = Client; + productReference = 13B07F961A680F5B00A75B9A /* Client.app */; productType = "com.apple.product-type.application"; }; - 2D02E47A1E0B4A5D006451C7 /* Nightwatch-tvOS */ = { + 2D02E47A1E0B4A5D006451C7 /* Client-tvOS */ = { isa = PBXNativeTarget; - buildConfigurationList = 2D02E4BA1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "Nightwatch-tvOS" */; + buildConfigurationList = 2D02E4BA1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "Client-tvOS" */; buildPhases = ( EBF96BD321E8393CD9038EE2 /* [CP] Check Pods Manifest.lock */, FD10A7F122414F3F0027D42C /* Start Packager */, @@ -255,14 +256,14 @@ ); dependencies = ( ); - name = "Nightwatch-tvOS"; - productName = "Nightwatch-tvOS"; - productReference = 2D02E47B1E0B4A5D006451C7 /* Nightwatch-tvOS.app */; + name = "Client-tvOS"; + productName = "Client-tvOS"; + productReference = 2D02E47B1E0B4A5D006451C7 /* Client-tvOS.app */; productType = "com.apple.product-type.application"; }; - 2D02E48F1E0B4A5D006451C7 /* Nightwatch-tvOSTests */ = { + 2D02E48F1E0B4A5D006451C7 /* Client-tvOSTests */ = { isa = PBXNativeTarget; - buildConfigurationList = 2D02E4BB1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "Nightwatch-tvOSTests" */; + buildConfigurationList = 2D02E4BB1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "Client-tvOSTests" */; buildPhases = ( 50E8B5C67B8E8A312EE4F4C8 /* [CP] Check Pods Manifest.lock */, 2D02E48C1E0B4A5D006451C7 /* Sources */, @@ -274,9 +275,9 @@ dependencies = ( 2D02E4921E0B4A5D006451C7 /* PBXTargetDependency */, ); - name = "Nightwatch-tvOSTests"; - productName = "Nightwatch-tvOSTests"; - productReference = 2D02E4901E0B4A5D006451C7 /* Nightwatch-tvOSTests.xctest */; + name = "Client-tvOSTests"; + productName = "Client-tvOSTests"; + productReference = 2D02E4901E0B4A5D006451C7 /* Client-tvOSTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; /* End PBXNativeTarget section */ @@ -303,7 +304,7 @@ }; }; }; - buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "Nightwatch" */; + buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "Client" */; compatibilityVersion = "Xcode 3.2"; developmentRegion = English; hasScannedForEncodings = 0; @@ -316,10 +317,10 @@ projectDirPath = ""; projectRoot = ""; targets = ( - 13B07F861A680F5B00A75B9A /* Nightwatch */, - 00E356ED1AD99517003FC87E /* NightwatchTests */, - 2D02E47A1E0B4A5D006451C7 /* Nightwatch-tvOS */, - 2D02E48F1E0B4A5D006451C7 /* Nightwatch-tvOSTests */, + 13B07F861A680F5B00A75B9A /* Client */, + 00E356ED1AD99517003FC87E /* ClientTests */, + 2D02E47A1E0B4A5D006451C7 /* Client-tvOS */, + 2D02E48F1E0B4A5D006451C7 /* Client-tvOSTests */, ); }; /* End PBXProject section */ @@ -388,13 +389,31 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Nightwatch-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Client-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; + 12F02E5D85FEE3D86C8C7ADE /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Client/Pods-Client-resources.sh", + "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/AccessibilityResources.bundle", + ); + name = "[CP] Copy Pods Resources"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AccessibilityResources.bundle", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Client/Pods-Client-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; 1B61F1699626B8E173D69FEB /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -410,7 +429,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-NightwatchTests-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-ClientTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -446,7 +465,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Nightwatch-tvOSTests-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Client-tvOSTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -468,7 +487,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Nightwatch-tvOS-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Client-tvOS-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -520,7 +539,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 00E356F31AD99517003FC87E /* NightwatchTests.m in Sources */, + 00E356F31AD99517003FC87E /* ClientTests.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -546,7 +565,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 2DCD954D1E0B4F2C00145EB5 /* NightwatchTests.m in Sources */, + 2DCD954D1E0B4F2C00145EB5 /* ClientTests.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -555,12 +574,12 @@ /* Begin PBXTargetDependency section */ 00E356F51AD99517003FC87E /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = 13B07F861A680F5B00A75B9A /* Nightwatch */; + target = 13B07F861A680F5B00A75B9A /* Client */; targetProxy = 00E356F41AD99517003FC87E /* PBXContainerItemProxy */; }; 2D02E4921E0B4A5D006451C7 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = 2D02E47A1E0B4A5D006451C7 /* Nightwatch-tvOS */; + target = 2D02E47A1E0B4A5D006451C7 /* Client-tvOS */; targetProxy = 2D02E4911E0B4A5D006451C7 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ @@ -572,7 +591,7 @@ 13B07FB21A68108700A75B9A /* Base */, ); name = LaunchScreen.xib; - path = Nightwatch; + path = Client; sourceTree = ""; }; /* End PBXVariantGroup section */ @@ -580,14 +599,14 @@ /* Begin XCBuildConfiguration section */ 00E356F61AD99517003FC87E /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C357C43F8D647AFEA17BF76D /* Pods-NightwatchTests.debug.xcconfig */; + baseConfigurationReference = C357C43F8D647AFEA17BF76D /* Pods-ClientTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", "$(inherited)", ); - INFOPLIST_FILE = NightwatchTests/Info.plist; + INFOPLIST_FILE = ClientTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; OTHER_LDFLAGS = ( @@ -597,17 +616,17 @@ ); PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Nightwatch.app/Nightwatch"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Client.app/Client"; }; name = Debug; }; 00E356F71AD99517003FC87E /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3258C315452DF2434CA862CB /* Pods-NightwatchTests.release.xcconfig */; + baseConfigurationReference = 3258C315452DF2434CA862CB /* Pods-ClientTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; COPY_PHASE_STRIP = NO; - INFOPLIST_FILE = NightwatchTests/Info.plist; + INFOPLIST_FILE = ClientTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; OTHER_LDFLAGS = ( @@ -617,18 +636,18 @@ ); PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Nightwatch.app/Nightwatch"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Client.app/Client"; }; name = Release; }; 13B07F941A680F5B00A75B9A /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 03B1EDC4206F9F84BA128D4D /* Pods-Nightwatch.debug.xcconfig */; + baseConfigurationReference = 03B1EDC4206F9F84BA128D4D /* Pods-Client.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CURRENT_PROJECT_VERSION = 1; DEAD_CODE_STRIPPING = NO; - INFOPLIST_FILE = Nightwatch/Info.plist; + INFOPLIST_FILE = Client/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; OTHER_LDFLAGS = ( "$(inherited)", @@ -636,18 +655,18 @@ "-lc++", ); PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = Nightwatch; + PRODUCT_NAME = Client; VERSIONING_SYSTEM = "apple-generic"; }; name = Debug; }; 13B07F951A680F5B00A75B9A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6589D8C6A32EC0CABB3956C2 /* Pods-Nightwatch.release.xcconfig */; + baseConfigurationReference = 6589D8C6A32EC0CABB3956C2 /* Pods-Client.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CURRENT_PROJECT_VERSION = 1; - INFOPLIST_FILE = Nightwatch/Info.plist; + INFOPLIST_FILE = Client/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; OTHER_LDFLAGS = ( "$(inherited)", @@ -655,14 +674,14 @@ "-lc++", ); PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = Nightwatch; + PRODUCT_NAME = Client; VERSIONING_SYSTEM = "apple-generic"; }; name = Release; }; 2D02E4971E0B4A5E006451C7 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9E6AD248645FE23AE74FC6F1 /* Pods-Nightwatch-tvOS.debug.xcconfig */; + baseConfigurationReference = 9E6AD248645FE23AE74FC6F1 /* Pods-Client-tvOS.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; @@ -673,14 +692,14 @@ DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_TESTABILITY = YES; GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = "Nightwatch-tvOS/Info.plist"; + INFOPLIST_FILE = "Client-tvOS/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; OTHER_LDFLAGS = ( "$(inherited)", "-ObjC", "-lc++", ); - PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.Nightwatch-tvOS"; + PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.Client-tvOS"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = appletvos; TARGETED_DEVICE_FAMILY = 3; @@ -690,7 +709,7 @@ }; 2D02E4981E0B4A5E006451C7 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A2E4170EC33B04170B4B883A /* Pods-Nightwatch-tvOS.release.xcconfig */; + baseConfigurationReference = A2E4170EC33B04170B4B883A /* Pods-Client-tvOS.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; @@ -701,14 +720,14 @@ COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = "Nightwatch-tvOS/Info.plist"; + INFOPLIST_FILE = "Client-tvOS/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; OTHER_LDFLAGS = ( "$(inherited)", "-ObjC", "-lc++", ); - PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.Nightwatch-tvOS"; + PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.Client-tvOS"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = appletvos; TARGETED_DEVICE_FAMILY = 3; @@ -718,7 +737,7 @@ }; 2D02E4991E0B4A5E006451C7 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D2809CD12F58843DBEA92B49 /* Pods-Nightwatch-tvOSTests.debug.xcconfig */; + baseConfigurationReference = D2809CD12F58843DBEA92B49 /* Pods-Client-tvOSTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NONNULL = YES; @@ -728,24 +747,24 @@ DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_TESTABILITY = YES; GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = "Nightwatch-tvOSTests/Info.plist"; + INFOPLIST_FILE = "Client-tvOSTests/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; OTHER_LDFLAGS = ( "$(inherited)", "-ObjC", "-lc++", ); - PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.Nightwatch-tvOSTests"; + PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.Client-tvOSTests"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = appletvos; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Nightwatch-tvOS.app/Nightwatch-tvOS"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Client-tvOS.app/Client-tvOS"; TVOS_DEPLOYMENT_TARGET = 10.1; }; name = Debug; }; 2D02E49A1E0B4A5E006451C7 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 91C39CD8F5CBBDC7520873D1 /* Pods-Nightwatch-tvOSTests.release.xcconfig */; + baseConfigurationReference = 91C39CD8F5CBBDC7520873D1 /* Pods-Client-tvOSTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NONNULL = YES; @@ -755,17 +774,17 @@ COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = "Nightwatch-tvOSTests/Info.plist"; + INFOPLIST_FILE = "Client-tvOSTests/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; OTHER_LDFLAGS = ( "$(inherited)", "-ObjC", "-lc++", ); - PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.Nightwatch-tvOSTests"; + PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.Client-tvOSTests"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = appletvos; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Nightwatch-tvOS.app/Nightwatch-tvOS"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Client-tvOS.app/Client-tvOS"; TVOS_DEPLOYMENT_TARGET = 10.1; }; name = Release; @@ -872,7 +891,7 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "NightwatchTests" */ = { + 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "ClientTests" */ = { isa = XCConfigurationList; buildConfigurations = ( 00E356F61AD99517003FC87E /* Debug */, @@ -881,7 +900,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "Nightwatch" */ = { + 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "Client" */ = { isa = XCConfigurationList; buildConfigurations = ( 13B07F941A680F5B00A75B9A /* Debug */, @@ -890,7 +909,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 2D02E4BA1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "Nightwatch-tvOS" */ = { + 2D02E4BA1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "Client-tvOS" */ = { isa = XCConfigurationList; buildConfigurations = ( 2D02E4971E0B4A5E006451C7 /* Debug */, @@ -899,7 +918,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 2D02E4BB1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "Nightwatch-tvOSTests" */ = { + 2D02E4BB1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "Client-tvOSTests" */ = { isa = XCConfigurationList; buildConfigurations = ( 2D02E4991E0B4A5E006451C7 /* Debug */, @@ -908,7 +927,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "Nightwatch" */ = { + 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "Client" */ = { isa = XCConfigurationList; buildConfigurations = ( 83CBBA201A601CBA00E9B192 /* Debug */, diff --git a/ios/Nightwatch.xcodeproj/xcshareddata/xcschemes/Nightwatch.xcscheme b/ios/Client.xcodeproj/xcshareddata/xcschemes/Client.xcscheme similarity index 80% rename from ios/Nightwatch.xcodeproj/xcshareddata/xcschemes/Nightwatch.xcscheme rename to ios/Client.xcodeproj/xcshareddata/xcschemes/Client.xcscheme index 5d10138..e2b1b1a 100644 --- a/ios/Nightwatch.xcodeproj/xcshareddata/xcschemes/Nightwatch.xcscheme +++ b/ios/Client.xcodeproj/xcshareddata/xcschemes/Client.xcscheme @@ -29,9 +29,9 @@ + BuildableName = "Client.app" + BlueprintName = "Client" + ReferencedContainer = "container:Client.xcodeproj"> + BuildableName = "ClientTests.xctest" + BlueprintName = "ClientTests" + ReferencedContainer = "container:Client.xcodeproj"> @@ -61,9 +61,9 @@ + BuildableName = "ClientTests.xctest" + BlueprintName = "ClientTests" + ReferencedContainer = "container:Client.xcodeproj"> @@ -71,9 +71,9 @@ + BuildableName = "Client.app" + BlueprintName = "Client" + ReferencedContainer = "container:Client.xcodeproj"> @@ -94,9 +94,9 @@ + BuildableName = "Client.app" + BlueprintName = "Client" + ReferencedContainer = "container:Client.xcodeproj"> @@ -113,9 +113,9 @@ + BuildableName = "Client.app" + BlueprintName = "Client" + ReferencedContainer = "container:Client.xcodeproj"> diff --git a/ios/Nightwatch.xcodeproj/xcshareddata/xcschemes/nightwatch-tvOS.xcscheme b/ios/Client.xcodeproj/xcshareddata/xcschemes/client-tvOS.xcscheme similarity index 79% rename from ios/Nightwatch.xcodeproj/xcshareddata/xcschemes/nightwatch-tvOS.xcscheme rename to ios/Client.xcodeproj/xcshareddata/xcschemes/client-tvOS.xcscheme index cb93d74..a83fe66 100644 --- a/ios/Nightwatch.xcodeproj/xcshareddata/xcschemes/nightwatch-tvOS.xcscheme +++ b/ios/Client.xcodeproj/xcshareddata/xcschemes/client-tvOS.xcscheme @@ -29,9 +29,9 @@ + BuildableName = "Client-tvOS.app" + BlueprintName = "Client-tvOS" + ReferencedContainer = "container:Client.xcodeproj"> + BuildableName = "Client-tvOSTests.xctest" + BlueprintName = "Client-tvOSTests" + ReferencedContainer = "container:Client.xcodeproj"> @@ -61,9 +61,9 @@ + BuildableName = "Client-tvOSTests.xctest" + BlueprintName = "Client-tvOSTests" + ReferencedContainer = "container:Client.xcodeproj"> @@ -71,9 +71,9 @@ + BuildableName = "Client-tvOS.app" + BlueprintName = "Client-tvOS" + ReferencedContainer = "container:Client.xcodeproj"> @@ -94,9 +94,9 @@ + BuildableName = "Client-tvOS.app" + BlueprintName = "Client-tvOS" + ReferencedContainer = "container:Client.xcodeproj"> @@ -113,9 +113,9 @@ + BuildableName = "Client-tvOS.app" + BlueprintName = "Client-tvOS" + ReferencedContainer = "container:Client.xcodeproj"> diff --git a/ios/Nightwatch.xcworkspace/contents.xcworkspacedata b/ios/Client.xcworkspace/contents.xcworkspacedata similarity index 79% rename from ios/Nightwatch.xcworkspace/contents.xcworkspacedata rename to ios/Client.xcworkspace/contents.xcworkspacedata index d1d88cd..b1ebed8 100644 --- a/ios/Nightwatch.xcworkspace/contents.xcworkspacedata +++ b/ios/Client.xcworkspace/contents.xcworkspacedata @@ -2,7 +2,7 @@ + location = "group:Client.xcodeproj"> diff --git a/ios/Client.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ios/Client.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/ios/Client.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/ios/Nightwatch/AppDelegate.h b/ios/Client/AppDelegate.h similarity index 100% rename from ios/Nightwatch/AppDelegate.h rename to ios/Client/AppDelegate.h diff --git a/ios/Nightwatch/AppDelegate.m b/ios/Client/AppDelegate.m similarity index 99% rename from ios/Nightwatch/AppDelegate.m rename to ios/Client/AppDelegate.m index 9ea8007..220fc44 100644 --- a/ios/Nightwatch/AppDelegate.m +++ b/ios/Client/AppDelegate.m @@ -17,7 +17,7 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( { RCTBridge *bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions]; RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge - moduleName:@"Nightwatch" + moduleName:@"Client" initialProperties:nil]; rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1]; diff --git a/ios/Nightwatch/Base.lproj/LaunchScreen.xib b/ios/Client/Base.lproj/LaunchScreen.xib similarity index 93% rename from ios/Nightwatch/Base.lproj/LaunchScreen.xib rename to ios/Client/Base.lproj/LaunchScreen.xib index e4b69ec..2240496 100644 --- a/ios/Nightwatch/Base.lproj/LaunchScreen.xib +++ b/ios/Client/Base.lproj/LaunchScreen.xib @@ -18,7 +18,7 @@ -