Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade instructions missing #178

Closed
DivineDominion opened this issue Jan 31, 2014 · 6 comments
Closed

Upgrade instructions missing #178

DivineDominion opened this issue Jan 31, 2014 · 6 comments

Comments

@DivineDominion
Copy link

The Rakefile update states that upgrading is as simple as:

system_or_exit %{rsync -vkcr --delete "#{BUILD_DIR}/#{cedar_path}/#{cedar_name}.framework/" "#{args.path_to_framework}/"}

Now I only have to find out what path_to_framework should be to do this on my own.

*Cedar-iOS.framework resides in
~/Library/Developer/Xcode/Templates/Project Templates/Cedar/iOS Cedar Spec Suite.xctemplate/, but I'm developing a Cocoa OS X app.

  • OSX Cedar Spec Suite.xctemplate has a similar structure but isn't a .framework file
  • Weird enough, in Cedar's project templates folder, another .xctemplate is called OS X Cedar Spec Suite.xctemplate (not the additional space before the 'X') -- is this due to me running the install script for the upgrade, and did the script omit deleting old files?

Please provide some additional info. Best way I could come up with is to create a new project, add Cedar target, and copy the resulting .framework file over to my existing projects.


Here's what my shell says when I run rake upgrade. Seemingly, no path is missing (it's inherited by other tasks?).

.cedar[(detached from v0.9.5)*]  $ rake upgrade

No matching processes belonging to you were found
No matching processes belonging to you were found
No matching processes belonging to you were found
Output: /Users/ct/.cedar/build/iosframeworkspecs.output
Executing xcodebuild -project Cedar.xcodeproj -target iOSFrameworkSpecs -configuration Release -sdk iphonesimulator7.0 build ARCHS=i386 SYMROOT='/Users/ct/.cedar/build'
2014-01-31 21:10:28.564 xcodebuild[48477:1007] [MT] PluginLoading: Required plug-in compatibility UUID 37B30044-3B14-46BA-ABAA-F01000C27B63 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/Alcatraz.xcplugin' not present in DVTPlugInCompatibilityUUIDs

Executing /Users/ct/.cedar/build/Release-iphonesimulator/iOSFrameworkSpecs.app/iOSFrameworkSpecs -RegisterForSystemEvents
2014-01-31 21:11:07.951 iOSFrameworkSpecs[48802:507] Unknown Device Type. Using UIUserInterfaceIdiomPhone based on screen size
2014-01-31 21:11:08.003 iOSFrameworkSpecs[48802:507] No workspace port detected, creating one and disabling -[UIWindow _createContext]...
2014-01-31 21:11:08.004 iOSFrameworkSpecs[48802:507] Hiding 'BKSetAccelerometerClientEventsEnabled failed: (ipc/send) invalid destination port'
2014-01-31 21:11:08.065 iOSFrameworkSpecs[48802:507] Hiding 'BKSetAccelerometerClientEventsEnabled failed: (ipc/send) invalid destination port'
Running With Random Seed: 99071

.

Finished in 0.0012 seconds

1 examples, 0 failures
Output: /Users/ct/.cedar/build/build_cedar.output
Executing xcodebuild -project Cedar.xcodeproj -target Cedar -configuration Release build SYMROOT='/Users/ct/.cedar/build'
2014-01-31 21:11:09.481 xcodebuild[48804:1007] [MT] PluginLoading: Required plug-in compatibility UUID 37B30044-3B14-46BA-ABAA-F01000C27B63 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/Alcatraz.xcplugin' not present in DVTPlugInCompatibilityUUIDs
rake aborted!
undefined method `split' for nil:NilClass
/Users/ct/.cedar/Rakefile:295:in `block in <top (required)>'
/Users/ct/.rvm/gems/ruby-2.0.0-p247/bin/ruby_noexec_wrapper:14:in `eval'
/Users/ct/.rvm/gems/ruby-2.0.0-p247/bin/ruby_noexec_wrapper:14:in `<main>'
Tasks: TOP => upgrade
(See full trace by running task with --trace)
@akitchen
Copy link
Contributor

rake upgrade is meant to let you update the framework in your existing spec suite/bundle. yes, the path_to_framework is something you have to provide, but for instance you can drag the existing framework from your Xcode project into the terminal and it should expand into the correct path.

Totally agree that running it with no args should fail earlier with more helpful output.

rake install is still the correct way to update your Xcode environment, but it looks like you have discovered an issue that the old OSX template was renamed to OS X, and the old one was not cleaned up properly. This should make it into the backlog as a bug.

@akitchen
Copy link
Contributor

Thanks for reporting these issues. I have added the following to Cedar's backlog, and they should be addressed in the next release.

https://www.pivotaltracker.com/story/show/64936304
https://www.pivotaltracker.com/story/show/64936380

BTW, if you want to upgrade manually as you described, you can run rake build_frameworks and copy build/Release/Cedar.framework over the existing OS X framework in your project.

@DivineDominion
Copy link
Author

Thanks for the clarification!

I wonder which role Alcatraz is playing. Building seems to work, but I don't know what'll be missing.

2014-01-31 22:41:26.335 xcodebuild[50521:1007] [MT] PluginLoading: Required plug-in compatibility UUID 37B30044-3B14-46BA-ABAA-F01000C27B63 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/Alcatraz.xcplugin' not present in DVTPlugInCompatibilityUUIDs

After I ran the install.sh script again, creating a Bundle target in a new Xcode project results in an empty Cedar.framework file in the spec directory -- literally, zero bytes. In ~/.cedar/build/Release/, though, the framework file is 204 Bytes large. I wonder what went wrong on the way.

@idoru
Copy link
Contributor

idoru commented Jan 31, 2014

Alcatraz isn't related to Cedar, and Cedar doesn't use it, either. AFAIK they don't interfere with each other. The error you're seeing in the logs is Xcode complaining that the Alcatraz plugin doesn't claim to be compatible with that version of Xcode and as such, it won't load that plugin.

With regards to the empty Cedar.framework file, that's quite unusual. Would you be able to examine the Cedar.frameworks that are embedded in the subdirectories of ~/Library/Developer/Xcode/Templates/Project\ Templates/Cedar/ after running install.sh and see if these also look messed up?

@DivineDominion
Copy link
Author

Alcatraz isn't related to Cedar, and Cedar doesn't use it, either. AFAIK they don't interfere with each other. The error you're seeing in the logs is Xcode complaining that the Alcatraz plugin doesn't claim to be compatible with that version of Xcode and as such, it won't load that plugin.

Ok. Didn't know this was a problem on my side, sorry.

With regards to the empty Cedar.framework file, that's quite unusual. Would you be able to examine the Cedar.frameworks that are embedded in the subdirectories of ~/Library/Developer/Xcode/Templates/Project\ Templates/Cedar/ after running install.sh and see if these also look messed up?

I wouldn't know what to expect since the folder duplications don't make sense for me. Can you tell me what to look for more specifically?

These are the subfolders:

  • Cedar Example Spec.xctemplate
  • Cedar Testing Bundle.xctemplate
  • Disable ARC Explicitly.xctemplate
  • OS X Cedar Spec Suite.xctemplate
  • OS X Cedar Testing Bundle.xctemplate
  • OSX Cedar Spec Suite.xctemplate
  • OSX Cedar Testing Bundle.xctemplate
  • iOS Cedar Spec Suite.xctemplate
  • iOS Cedar Testing Bundle.xctemplate

And this is the output of a dir listing (ls -l */):

Cedar Example Spec.xctemplate/:
total 16
-rw-r--r--  1 ct  staff  1120 31 Jan 21:23 ExampleSpec.mm
-rw-r--r--  1 ct  staff   759 31 Jan 21:23 TemplateInfo.plist

Cedar Testing Bundle.xctemplate/:
total 8
-rw-r--r--  1 ct  staff  1773 31 Jan 21:23 TemplateInfo.plist

Disable ARC Explicitly.xctemplate/:
total 8
-rw-r--r--  1 ct  staff  1021 31 Jan 21:23 TemplateInfo.plist

OS X Cedar Spec Suite.xctemplate/:
total 96
-rw-r--r--  1 ct  staff   2635 31 Jan 21:23 Rakefile
-rw-r--r--  1 ct  staff  37146 31 Jan 21:23 TemplateIcon.tiff
-rw-r--r--  1 ct  staff   2538 31 Jan 21:23 TemplateInfo.plist

OS X Cedar Testing Bundle.xctemplate/:
total 152
-rw-r--r--  1 ct  staff   2732 31 Jan 21:23 Rakefile
-rw-r--r--  1 ct  staff  65818 31 Jan 21:23 TemplateIcon.tiff
-rw-r--r--  1 ct  staff   2552 31 Jan 21:23 TemplateInfo.plist

OSX Cedar Spec Suite.xctemplate/:
total 24
lrwxr-xr-x  1 ct  staff   22 31 Jan 21:23 Cedar -> Versions/Current/Cedar
lrwxr-xr-x  1 ct  staff   24 31 Jan 21:23 Headers -> Versions/Current/Headers
lrwxr-xr-x  1 ct  staff   26 31 Jan 21:23 Resources -> Versions/Current/Resources
drwxr-xr-x  4 ct  staff  136 31 Jan 21:23 Versions

OSX Cedar Testing Bundle.xctemplate/:
total 24
lrwxr-xr-x  1 ct  staff   22 31 Jan 21:23 Cedar -> Versions/Current/Cedar
lrwxr-xr-x  1 ct  staff   24 31 Jan 21:23 Headers -> Versions/Current/Headers
lrwxr-xr-x  1 ct  staff   26 31 Jan 21:23 Resources -> Versions/Current/Resources
drwxr-xr-x  4 ct  staff  136 31 Jan 21:23 Versions

iOS Cedar Spec Suite.xctemplate/:
total 104
drwxr-xr-x  6 ct  staff    204 31 Jan 21:23 Cedar-iOS.framework
-rw-r--r--  1 ct  staff   3969 31 Jan 21:23 Rakefile
-rw-r--r--  1 ct  staff  37146 31 Jan 21:23 TemplateIcon.tiff
-rw-r--r--  1 ct  staff   4599 31 Jan 21:23 TemplateInfo.plist

iOS Cedar Testing Bundle.xctemplate/:
total 160
drwxr-xr-x  6 ct  staff    204 31 Jan 21:23 Cedar-iOS.framework
-rw-r--r--  1 ct  staff   6175 31 Jan 21:23 Rakefile
-rw-r--r--  1 ct  staff  65818 31 Jan 21:23 TemplateIcon.tiff
-rw-r--r--  1 ct  staff   3829 31 Jan 21:23 TemplateInfo.plist

@idoru
Copy link
Contributor

idoru commented Feb 14, 2014

Sorry for taking so long on this. I took a good look at the OS X templates today, and found the install script had an error which wasn't copying the framework correctly. I've committed 15e5a7c to master which should fix this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants