Closed maximkhatskevich closed 7 years ago
Any ideas why?
Sometimes the output is like this:
MaxBook:MKHRequirement maxim$ xcake make
@maximkhatskevich I think this is the same crash as before, if you clone this repo and run rake install
then the development version of 0.8.9
should be installed and you can see if that fixes it.
I'm considering releasing 0.8.9 with these fixes and doing another 0.8.10 with the rest
I think iterating faster would be better than waiting for longer :) Okay, I'll try to install from sources, but a release would be very welcome!
@maximkhatskevich sure I'll release tonight :)
Should I use 'master' branch for installing from source?
MaxBook:xcake maxim$ rake install
rake aborted!
LoadError: cannot load such file -- bundler/gem_tasks
/Users/maxim/Dev/xcake/Rakefile:1:in <top (required)>' /Users/maxim/.rvm/gems/ruby-2.4.0@global/gems/rake-12.0.0/exe/rake:27:in
<top (required)>'
/Users/maxim/.rvm/gems/ruby-2.4.0/bin/ruby_executable_hooks:15:in eval' /Users/maxim/.rvm/gems/ruby-2.4.0/bin/ruby_executable_hooks:15:in
doesn't work, even if I switch to ruby 2.0.0
ah you need to run gem install rake && gem install bundle
and then re run it :)
omg... I'm almost ready to give up on all that Ruby stuff... :) Okay, doing that now.
@maximkhatskevich haha it's a learning curve at first but then you get used to it haha
Anyway...
MaxBook:xcake maxim$ rake install
rake aborted!
LoadError: cannot load such file -- rspec/core/rake_task
/Users/maxim/Dev/xcake/Rakefile:2:in <top (required)>' /Users/maxim/.rvm/gems/ruby-2.0.0-p648/gems/rake-12.0.0/exe/rake:27:in
<top (required)>'
/Users/maxim/.rvm/gems/ruby-2.0.0-p648/bin/ruby_executable_hooks:15:in eval' /Users/maxim/.rvm/gems/ruby-2.0.0-p648/bin/ruby_executable_hooks:15:in
after installing the above
Okay, I guessed it. 'rspec' is another gem I needed to install.
MaxBook:MKHRequirement maxim$ xcake make
block in visit_target': undefined method
build_for_running' for #each' from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/gems/xcake-0.8.9/lib/xcake/generator/scheme_generator.rb:16:in
visit_target'
from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/gems/xcake-0.8.9/lib/xcake/visitor.rb:45:in visit' from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/gems/xcake-0.8.9/lib/xcake/dsl/project.rb:83:in
block in accept'
from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/gems/xcake-0.8.9/lib/xcake/dsl/project.rb:82:in each' from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/gems/xcake-0.8.9/lib/xcake/dsl/project.rb:82:in
accept'
from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/gems/xcake-0.8.9/lib/xcake/command/make.rb:25:in block in run' from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/gems/xcake-0.8.9/lib/xcake/command/make.rb:23:in
each'
from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/gems/xcake-0.8.9/lib/xcake/command/make.rb:23:in run' from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/gems/claide-1.0.1/lib/claide/command.rb:334:in
run'
from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/gems/xcake-0.8.9/bin/xcake:6:in <top (required)>' from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/bin/xcake:22:in
load'
from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/bin/xcake:22:in <main>' from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/bin/ruby_executable_hooks:15:in
eval'
from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/bin/ruby_executable_hooks:15:in `Any ideas now?
:) yup, you're getting it - okay seems like this is a different error. Let me look through my code and see if I cab bash out a quick fix for you :) should be a simple one
would be awesome! Thx!
@maximkhatskevich so pushed a fix to master
, I am writing some unit tests for it but feel free to pull it down and test it out :)
no, sorry, seems to be the same result :(
MaxBook:MKHRequirement maxim$ xcake make
block in visit_target': undefined method
build_for_running' for #each' from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/gems/xcake-0.8.9/lib/xcake/generator/scheme_generator.rb:16:in
visit_target'
from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/gems/xcake-0.8.9/lib/xcake/visitor.rb:45:in visit' from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/gems/xcake-0.8.9/lib/xcake/dsl/project.rb:83:in
block in accept'
from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/gems/xcake-0.8.9/lib/xcake/dsl/project.rb:82:in each' from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/gems/xcake-0.8.9/lib/xcake/dsl/project.rb:82:in
accept'
from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/gems/xcake-0.8.9/lib/xcake/command/make.rb:25:in block in run' from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/gems/xcake-0.8.9/lib/xcake/command/make.rb:23:in
each'
from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/gems/xcake-0.8.9/lib/xcake/command/make.rb:23:in run' from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/gems/claide-1.0.1/lib/claide/command.rb:334:in
run'
from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/gems/xcake-0.8.9/bin/xcake:6:in <top (required)>' from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/bin/xcake:22:in
load'
from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/bin/xcake:22:in <main>' from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/bin/ruby_executable_hooks:15:in
eval'
from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/bin/ruby_executable_hooks:15:in `@maximkhatskevich just so I can test this on my end is this the Cakemania Framework Example ?
no, it's one of my side projects. Let me try it with Cakemania, actually
Yes, same happens when I'm trying to run 'xcake make' against the Cakefile of framework example
Please, confirm if you see this crash on your side?
@maximkhatskevich cool, I'll use that to verify my fix rather than wasting your time :)
thx, I'm here waiting for the fix, really need this to move forward :)
@maximkhatskevich Cool, so I've tried fixing it. Turns out it was a minr feature to make xcake behave more like xcode. But I'll disable it for now :) and push it up.
Pushed :)
Okay, now it does not crash. I'm going to verify how it works in more details. Will let you know if I find any issues, of course.
@maximkhatskevich :) sure, need to get all these bugs out.
problems again
I uncommented my unit tests target in the Cakefile and getting this:
MaxBook:MKHRequirement maxim$ xcake make
file_reference_for_path': undefined method
dirname' for #file_reference_for_path' from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/gems/xcake-0.8.9/lib/xcake/generator/target_file_reference_generator.rb:33:in
include_file_for_path_and_target'
from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/gems/xcake-0.8.9/lib/xcake/generator/target_file_reference_generator.rb:26:in block in visit_target' from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/gems/xcake-0.8.9/lib/xcake/generator/target_file_reference_generator.rb:25:in
each'
from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/gems/xcake-0.8.9/lib/xcake/generator/target_file_reference_generator.rb:25:in visit_target' from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/gems/xcake-0.8.9/lib/xcake/visitor.rb:45:in
visit'
from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/gems/xcake-0.8.9/lib/xcake/dsl/project.rb:83:in block in accept' from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/gems/xcake-0.8.9/lib/xcake/dsl/project.rb:82:in
each'
from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/gems/xcake-0.8.9/lib/xcake/dsl/project.rb:82:in accept' from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/gems/xcake-0.8.9/lib/xcake/command/make.rb:25:in
block in run'
from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/gems/xcake-0.8.9/lib/xcake/command/make.rb:23:in each' from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/gems/xcake-0.8.9/lib/xcake/command/make.rb:23:in
run'
from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/gems/claide-1.0.1/lib/claide/command.rb:334:in run' from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/gems/xcake-0.8.9/bin/xcake:6:in
<top (required)>'
from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/bin/xcake:22:in load' from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/bin/xcake:22:in
eval' from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/bin/ruby_executable_hooks:15:in
What a big pain that Xcode project file!
@maximkhatskevich it's good, it's battle testing it :) I'll have a look into this :)
Maybe you require a specific version of Xcodeproj?
@maximkhatskevich I've been thinking about bumping up the requiremnt I think the one in the gemspec right now is too low we should limit support to the latest version since most people use the latest xcode :)
sure, I agree
Waiting for your updates/instructions :)
Do you know what xcodeproj you have btw ? will be interested to see where dirname
went
xcodeproj --version 1.4.2
Something you expected?
@maximkhatskevich looks like there is some file path I didn't code Xcake to support or something in Xcodeproj has changed and its now returning a file reference when Xcake didn't expect.
So Xcake is doing something unsupported and crashing. Just would like to know what that file path is. I'll probably need an example project for this one that can recreate the crash since it depends on what files you are trying to include etc :)
okay, give me a moment
Checkout project from 'develop' https://github.com/maximkhatskevich/MKHRequirement/tree/develop
The Cakefile is there
I was experimenting with Struct, btw, it is a bit more stable, but functionality is more limited than Xcake, so I'm getting back on Xcake, if will be able to make it work again for me :)
@maximkhatskevich Please feel free to file any issues on missing functionality in struct. It'd be great to add anything you're currently missing!
@maximkhatskevich Yeah I've decided Struct will be the better tool in the long term, so I'm helping to make that better and add what I can from Xcake.
Of course not everything will make it as Struct is supposed to be tighter than Xcake. I'm hoping to get all of these bugs fixed in Xcake so I can have it in a good state as I know a lot of people like Xcake.
But like @lyptt says file what you are missing and I can help get it into Struct as well :)
@lyptt I'll take an eye on both projects, but currently the biggest thing is how unstable all that. So much unexpected/undocumented behavior, and I can't easy reuse settings in config file. @lyptt take a look on https://github.com/maximkhatskevich/MKHRequirement/blob/develop/Cakefile and notice how easy and naturally things are nested one into another and how nested scopes easy override what's been defined in an outer scope. For example, I define settings for all Build Configurations, and then override just one or two only for 'Release' configuration, etc. This is missing in Struct. The custom 'def ...' declarations not working - I made them work not causing crashes somehow, but overrides from then are not taking effect on the final project file. Or if I defined settings for all configurations, I can't add few specific overrides just for one Configuration.
@maximkhatskevich also checking out your project and will try it out :) sorry about this. I've decided to add some tests to see if Xcake can generate the Cakemania proects :)
https://github.com/maximkhatskevich/MKHRequirement/tree/develop
MaxBook:MKHRequirement maxim$ xcake make
block in visit_target': undefined method
build_for_running' for #each' from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/gems/xcake-0.8.8/lib/xcake/generator/scheme_generator.rb:16:in
visit_target' from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/gems/xcake-0.8.8/lib/xcake/visitor.rb:45:invisit' from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/gems/xcake-0.8.8/lib/xcake/dsl/project.rb:83:in
block in accept' from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/gems/xcake-0.8.8/lib/xcake/dsl/project.rb:82:ineach' from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/gems/xcake-0.8.8/lib/xcake/dsl/project.rb:82:in
accept' from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/gems/xcake-0.8.8/lib/xcake/command/make.rb:25:inblock in run' from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/gems/xcake-0.8.8/lib/xcake/command/make.rb:23:in
each' from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/gems/xcake-0.8.8/lib/xcake/command/make.rb:23:inrun' from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/gems/claide-1.0.1/lib/claide/command.rb:334:in
run' from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/gems/xcake-0.8.8/bin/xcake:6:in<top (required)>' from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/bin/xcake:22:in
load' from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/bin/xcake:22:in<main>' from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/bin/ruby_executable_hooks:15:in
eval' from /Users/maxim/.rvm/gems/ruby-2.0.0-p648/bin/ruby_executable_hooks:15:in `