[ReactNative] Init script that bootstraps new Xcode project
This commit is contained in:
parent
d56a57c956
commit
6d88898404
|
@ -0,0 +1,88 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Scheme
|
||||||
|
LastUpgradeVersion = "0620"
|
||||||
|
version = "1.3">
|
||||||
|
<BuildAction
|
||||||
|
parallelizeBuildables = "YES"
|
||||||
|
buildImplicitDependencies = "YES">
|
||||||
|
<BuildActionEntries>
|
||||||
|
<BuildActionEntry
|
||||||
|
buildForTesting = "YES"
|
||||||
|
buildForRunning = "YES"
|
||||||
|
buildForProfiling = "YES"
|
||||||
|
buildForArchiving = "YES"
|
||||||
|
buildForAnalyzing = "YES">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "13B07F861A680F5B00A75B9A"
|
||||||
|
BuildableName = "SampleApp.app"
|
||||||
|
BlueprintName = "SampleApp"
|
||||||
|
ReferencedContainer = "container:SampleApp.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildActionEntry>
|
||||||
|
</BuildActionEntries>
|
||||||
|
</BuildAction>
|
||||||
|
<TestAction
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
buildConfiguration = "Debug">
|
||||||
|
<Testables>
|
||||||
|
</Testables>
|
||||||
|
<MacroExpansion>
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "13B07F861A680F5B00A75B9A"
|
||||||
|
BuildableName = "SampleApp.app"
|
||||||
|
BlueprintName = "SampleApp"
|
||||||
|
ReferencedContainer = "container:SampleApp.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</MacroExpansion>
|
||||||
|
</TestAction>
|
||||||
|
<LaunchAction
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
launchStyle = "0"
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
ignoresPersistentStateOnLaunch = "NO"
|
||||||
|
debugDocumentVersioning = "YES"
|
||||||
|
allowLocationSimulation = "YES">
|
||||||
|
<BuildableProductRunnable
|
||||||
|
runnableDebuggingMode = "0">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "13B07F861A680F5B00A75B9A"
|
||||||
|
BuildableName = "SampleApp.app"
|
||||||
|
BlueprintName = "SampleApp"
|
||||||
|
ReferencedContainer = "container:SampleApp.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildableProductRunnable>
|
||||||
|
<AdditionalOptions>
|
||||||
|
</AdditionalOptions>
|
||||||
|
</LaunchAction>
|
||||||
|
<ProfileAction
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
savedToolIdentifier = ""
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
debugDocumentVersioning = "YES">
|
||||||
|
<BuildableProductRunnable
|
||||||
|
runnableDebuggingMode = "0">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "13B07F861A680F5B00A75B9A"
|
||||||
|
BuildableName = "SampleApp.app"
|
||||||
|
BlueprintName = "SampleApp"
|
||||||
|
ReferencedContainer = "container:SampleApp.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildableProductRunnable>
|
||||||
|
</ProfileAction>
|
||||||
|
<AnalyzeAction
|
||||||
|
buildConfiguration = "Debug">
|
||||||
|
</AnalyzeAction>
|
||||||
|
<ArchiveAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
revealArchiveInOrganizer = "YES">
|
||||||
|
</ArchiveAction>
|
||||||
|
</Scheme>
|
|
@ -0,0 +1,44 @@
|
||||||
|
#!/usr/bin/env ruby
|
||||||
|
|
||||||
|
def cp(src, dest, app_name)
|
||||||
|
if File.directory?(src)
|
||||||
|
Dir.mkdir(dest) unless Dir.exists?(dest)
|
||||||
|
else
|
||||||
|
content = File.read(src)
|
||||||
|
.gsub("SampleApp", app_name)
|
||||||
|
.gsub("Examples/#{app_name}/", "")
|
||||||
|
.gsub("../../Libraries/", "node_modules/react-native/Libraries/")
|
||||||
|
.gsub("../../ReactKit/", "node_modules/react-native/ReactKit/")
|
||||||
|
File.write(dest, content)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def main(dest, app_name)
|
||||||
|
source = File.expand_path("../../Examples/SampleApp", __FILE__)
|
||||||
|
files = Dir.chdir(source) { Dir["**/*"] }
|
||||||
|
.reject { |file| file["project.xcworkspace"] || file["xcuserdata"] }
|
||||||
|
.each { |file|
|
||||||
|
new_file = file.gsub("SampleApp", app_name)
|
||||||
|
cp File.join(source, file), File.join(dest, new_file), app_name
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
if ARGV.count == 0
|
||||||
|
puts "Usage: #{__FILE__} <ProjectNameInCamelCase>"
|
||||||
|
puts ""
|
||||||
|
puts "This script will bootstrap new React Native app in current folder"
|
||||||
|
else
|
||||||
|
app_name = ARGV.first
|
||||||
|
dest = Dir.pwd
|
||||||
|
puts "Setting up new React Native app in #{dest}"
|
||||||
|
puts ""
|
||||||
|
|
||||||
|
main(dest, app_name)
|
||||||
|
|
||||||
|
puts "Next steps:"
|
||||||
|
puts ""
|
||||||
|
puts " Open #{app_name}.xcproject in Xcode"
|
||||||
|
puts " Hit Run button"
|
||||||
|
puts ""
|
||||||
|
end
|
||||||
|
|
Loading…
Reference in New Issue