From 2bbc2752cde6c419c2e23edbe6697ef58ae97aba Mon Sep 17 00:00:00 2001 From: Watson Date: Sun, 28 Apr 2013 20:23:28 +0900 Subject: [PATCH 1/5] forget to add a passing argument into another build_file.call --- lib/motion/project/builder.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/motion/project/builder.rb b/lib/motion/project/builder.rb index 113661c9..cb4ffb8e 100644 --- a/lib/motion/project/builder.rb +++ b/lib/motion/project/builder.rb @@ -181,7 +181,7 @@ module Motion; module Project; spec_objs = [] if config.spec_mode # Build spec files too, but sequentially. - spec_objs = config.spec_files.map { |path| build_file.call(path) } + spec_objs = config.spec_files.map { |path| build_file.call(objs_build_dir, path) } objs += spec_objs end From 027df612abc7577d7ce4dbd69b65f5cc3de0ca94 Mon Sep 17 00:00:00 2001 From: Watson Date: Mon, 29 Apr 2013 12:25:56 +0900 Subject: [PATCH 2/5] Revert "make sure to create a Resources directory for mac" This reverts commit 71ed8ce9b3a4e13d492cc1ce383a99924bfbd04d. This changing causes the following error: % mkdir -p resources/en.lproj % touch resources/en.lproj/InfoPlist.strings % rake Build ./build/iPhoneSimulator-6.1-Development Compile ./app/app_delegate.rb Create ./build/iPhoneSimulator-6.1-Development/tt.app Link ./build/iPhoneSimulator-6.1-Development/tt.app/tt Create ./build/iPhoneSimulator-6.1-Development/tt.app/Info.plist Create ./build/iPhoneSimulator-6.1-Development/tt.app/PkgInfo Copy ./resources/Default-568h@2x.png Copy ./resources/en.lproj/InfoPlist.strings rake aborted! --- lib/motion/project/builder.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/motion/project/builder.rb b/lib/motion/project/builder.rb index cb4ffb8e..b8adc826 100644 --- a/lib/motion/project/builder.rb +++ b/lib/motion/project/builder.rb @@ -348,7 +348,6 @@ EOS # Copy resources, handle subdirectories. app_resources_dir = config.app_resources_dir(platform) - FileUtils.mkdir_p(app_resources_dir) reserved_app_bundle_files = [ '_CodeSignature/CodeResources', 'CodeResources', 'embedded.mobileprovision', 'Info.plist', 'PkgInfo', 'ResourceRules.plist', @@ -370,6 +369,7 @@ EOS end dest_path = File.join(app_resources_dir, res) if !File.exist?(dest_path) or File.mtime(res_path) > File.mtime(dest_path) + FileUtils.mkdir_p(File.dirname(dest_path)) App.info 'Copy', res_path FileUtils.cp_r(res_path, dest_path) end From 8591584570456b807019ce862e9d78e16bf7aa0b Mon Sep 17 00:00:00 2001 From: Watson Date: Mon, 29 Apr 2013 12:26:59 +0900 Subject: [PATCH 3/5] make sure to create a Resources directory for mac Fix the following error: $ motion create hello --template=osx $ cd hello $ rm -rf resources $ rake Build ./build/MacOSX-10.8-Development Compile ./app/app_delegate.rb Compile ./app/menu.rb Create ./build/MacOSX-10.8-Development/hello.app/Contents Create ./build/MacOSX-10.8-Development/hello.app/Contents/MacOS Link ./build/MacOSX-10.8-Development/hello.app/Contents/MacOS/hello Create ./build/MacOSX-10.8-Development/hello.app/Contents/Info.plist Create ./build/MacOSX-10.8-Development/hello.app/Contents/PkgInfo rake aborted! No such file or directory - ./build/MacOSX-10.8-Development/hello.app/Contents/Resources --- lib/motion/project/builder.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/motion/project/builder.rb b/lib/motion/project/builder.rb index b8adc826..080ec46a 100644 --- a/lib/motion/project/builder.rb +++ b/lib/motion/project/builder.rb @@ -348,6 +348,7 @@ EOS # Copy resources, handle subdirectories. app_resources_dir = config.app_resources_dir(platform) + FileUtils.mkdir_p(app_resources_dir) reserved_app_bundle_files = [ '_CodeSignature/CodeResources', 'CodeResources', 'embedded.mobileprovision', 'Info.plist', 'PkgInfo', 'ResourceRules.plist', From 0410711198629b8e34aadd74f32f1da88d344152 Mon Sep 17 00:00:00 2001 From: Watson Date: Mon, 29 Apr 2013 22:02:29 +0900 Subject: [PATCH 4/5] more fix in detecting file dependencies if add the constant name into @defined and @referred in #on_const_path_ref, it might not detect dependencies. --- lib/motion/project/builder.rb | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/lib/motion/project/builder.rb b/lib/motion/project/builder.rb index 080ec46a..e5ad94b1 100644 --- a/lib/motion/project/builder.rb +++ b/lib/motion/project/builder.rb @@ -635,9 +635,25 @@ PLIST def on_const_path_ref(parent, args) type, name, position = args if type == :@const - @defined << name @referred << name end + args + end + + def on_module(const, *args) + type, name = const + if type == :@const + @defined << name + @referred.delete(name) + end + end + + def on_class(const, *args) + type, name = const + if type == :@const + @defined << name + @referred.delete(name) + end end end end From 0c1006442686b2539738fc68c98545f90309a6f3 Mon Sep 17 00:00:00 2001 From: Watson Date: Tue, 30 Apr 2013 01:24:30 +0900 Subject: [PATCH 5/5] refactor --- lib/motion/project/builder.rb | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/lib/motion/project/builder.rb b/lib/motion/project/builder.rb index e5ad94b1..f11391d8 100644 --- a/lib/motion/project/builder.rb +++ b/lib/motion/project/builder.rb @@ -614,15 +614,11 @@ PLIST end def on_const_ref(args) - type, const_name, position = args - @defined << const_name + args end def on_var_field(args) - type, name, position = args - if type == :@const - @defined << name - end + args end def on_var_ref(args) @@ -641,19 +637,21 @@ PLIST end def on_module(const, *args) - type, name = const + type, name, position = const if type == :@const @defined << name @referred.delete(name) end + [] end def on_class(const, *args) - type, name = const + type, name, position = const if type == :@const @defined << name @referred.delete(name) end + [] end end end