cappuccino / cappuccino

Web Application Framework in JavaScript and Objective-J
https://cappuccino.dev/
GNU Lesser General Public License v2.1
2.2k stars 333 forks source link

Dragging an outlet from the AppController to a nib window doesn't work #1653

Closed cheezcake closed 11 years ago

cheezcake commented 11 years ago

Hi after adding an @outlet to the AppController.j and saving the AppController.j file (or any controller / view controller) even in branch "experimental-xcc-xcode4.4-support" it fails.

I have to exit XCode and re-enter XCode in order to be able to hook up the outlets graphically.

Thanks!

cappbot commented 11 years ago

Milestone: Someday. Label: #new. What's next? A reviewer should examine this issue.

primalmotion commented 11 years ago

Try to use the master. The branch is now merged, and is outdated (I just removed it).

Be sure to:

Then you might want to clean up your Cappuccino build by doing:

And bootstrap again and restart XCC

Let me know if it works better.

Antoine Mercadal

On Aug 14, 2012, at 12:09 PM, Briam Rodriguez notifications@github.com wrote:

Hi after adding an @outlet to the AppController.j and saving the AppController.j file (or any controller / view controller) even in branch "experimental-xcc-xcode4.4-support" it fails.

I have to exit XCode and re-enter XCode in order to be able to hook up the outlets graphically.

Thanks!

— Reply to this email directly or view it on GitHub.

cheezcake commented 11 years ago
Even better,
IGot the latest master
  Blew away ~/narwhal and my entire local cappuccino repo
  re-cloned cappuccino
  ran ./bootstrap.sh
  created a new project "capp gen -t NibApplication test"
  opened the project in XCC
  Immediately got processing errors in "AppController.j"
  opened the log file and saw

Let me know.
On 8/14/12 3:14 PM, Antoine Mercadal
  wrote:
Try to use the master. The branch is now merged, and
  is outdated (I just removed it).

  Be sure to:

  - stop XCC

  - rm -rf .xCodeSupport

  - rm -rf *.xcodeproj

  - rm -rf .XcodeSupport

  - rm -rf XcodeSupport

  Then you might want to clean up your Cappuccino build by doing:

  - rm -rf $CAPP_BUILD

  - rm -rf /usr/local/narwhal

  And bootstrap again and restart XCC

  Let me know if it works better.

  -- 
  Antoine Mercadal

  On Aug 14, 2012, at 12:09 PM, Briam Rodriguez
  <notifications@github.com> wrote:

  > Hi after adding an @outlet to the AppController.j and saving
  the AppController.j file (or any controller / view controller)
  even in branch "experimental-xcc-xcode4.4-support" it fails.

  > 
  > I have to exit XCode and re-enter XCode in order to be able
  to hook up the outlets graphically.

  > 
  > Thanks!

  > 
  > —

  > Reply to this email directly or view it on GitHub.

  > 
  >

    —
    Reply to this email directly or view
      it on GitHub.
primalmotion commented 11 years ago

Did you remove $CAPP_BUILD?

cheezcake commented 11 years ago

I removed all directories.

cheezcake commented 11 years ago

The error I am getting from XCC is now:

objj command not found

This is after quitting and restarting XCC

primalmotion commented 11 years ago

hum. are you sure your .bash_profile is correct? it seems you are missing the */narwhal/bin directory in your PATH

cheezcake commented 11 years ago

Is the bootstrap script no longer adding these lines?

Running jake inside of the capp dir doesn't add them either.

What lines should I add to the profile, i can't find a reference to them anywhere.

For what it's worth, I did the equivalent of a fresh install from scratch.

Removed those lines manually, since I was assuming the script would re-add them to my profile.

primalmotion commented 11 years ago

you should have

PATH=$PATH:/usr/local/narwhal/bin (or wherever is your stuff installed) NARWHAL_ENGINE=jsc (rhino on Linux) CAPP_BUILD=/a/cool/path/for/build (like /Users/YOU/Library/Cappuccino

Normally bootstrap is adding this at the end (last I tried, it worked)

Antoine Mercadal

On Aug 14, 2012, at 1:33 PM, Briam Rodriguez notifications@github.com wrote:

Is the bootstrap script no longer adding these lines?

Running jake inside of the capp dir doesn't add them either.

What lines should I add to the profile, i can't find a reference to them anywhere.

— Reply to this email directly or view it on GitHub.

cheezcake commented 11 years ago

Ok, well... the bootstrap is not doing this.. so that may be another issue. Now that I know, I won't blow it away every time.

Still, although I am no longer getting the objj errors. It just is plain not working.

I create an outlet as such:

@outlet CPTextField anotherLabel;

XCC processes file

Then I try dragging in IB and nothing.

primalmotion commented 11 years ago

version of OS X and Xcode?

Antoine Mercadal

On Aug 14, 2012, at 1:47 PM, Briam Rodriguez notifications@github.com wrote:

Ok, well... the bootstrap is not doing this.. so that may be another issue. Now that I know, I won't blow it away every time.

Still, although I am no longer getting the objj errors. It just is plain not working.

I create an outlet as such:

@outlet CPTextField anotherLabel; XCC processes file

Then I try dragging in IB and nothing.

— Reply to this email directly or view it on GitHub.

cheezcake commented 11 years ago
10.8, Version 4.4.1 (4F1003)On 8/14/12 4:49 PM, Antoine Mercadal
  wrote:
version of OS X and Xcode?

  -- 
  Antoine Mercadal

  On Aug 14, 2012, at 1:47 PM, Briam Rodriguez
  <notifications@github.com> wrote:

  > Ok, well... the bootstrap is not doing this.. so that may be
  another issue. Now that I know, I won't blow it away every time.

  > 
  > Still, although I am no longer getting the objj errors. It
  just is plain not working.

  > 
  > I create an outlet as such:

  > 
  > @outlet CPTextField anotherLabel;

  > XCC processes file

  > 
  > Then I try dragging in IB and nothing.

  > 
  > —

  > Reply to this email directly or view it on GitHub.

  > 
  >

    —
    Reply to this email directly or view
      it on GitHub.
primalmotion commented 11 years ago

well this is weird, Can you post your test project somewhere? (embedding .XcodeSupport and *.xcodeproj)?

cheezcake commented 11 years ago

git@github.com:cheezcake/weirdoCapp.git

aljungberg commented 11 years ago

Bootstrap does offer to modify the paths for you assuming you have one of the standard Bash profile files and you don't already have a path set by hand.

On 14 Aug 2012, at 21:47, Briam Rodriguez notifications@github.com wrote:

Ok, well... the bootstrap is not doing this.. so that may be another issue. Now that I know, I won't blow it away every time.

Still, although I am no longer getting the objj errors. It just is plain not working.

I create an outlet as such:

@outlet CPTextField anotherLabel; XCC processes file

Then I try dragging in IB and nothing.

— Reply to this email directly or view it on GitHub.

cheezcake commented 11 years ago

I'm sure it did at some point, but it seemed not to do this for me. Regardless, I'm still seeing the nib connection issues after setting the environment manually.

aljungberg commented 11 years ago

What did the bootstrap script say specifically about the path modification if you look at the logs? It might just have told you what it was doing or wasn't doing.

On 14 Aug 2012, at 22:30, Briam Rodriguez notifications@github.com wrote:

I'm sure it did at some point, but it seemed not to do this for me. Regardless, I'm still seeing the nib connection issues after setting the environment manually.

— Reply to this email directly or view it on GitHub.

cheezcake commented 11 years ago

After running the boostrap from scratch again, the bootstrap logged this

Rhino is currently the default JavaScript engine. Should we change the default to JavaScriptCore for you? This can by overridden by setting the NARWHAL_ENGINE environment variable to "jsc" or "rhino". "export NARWHAL_ENGINE=jsc" will be appended to "/Users/cheezcake/.profile". Enter "yes" or "no": yes

Added to "/Users/cheezcake/.profile". Restart your shell or run "source /Users/cheezcake/.profile".

Before building Cappuccino we recommend you set the $CAPP_BUILD environment variable to a path where you wish to build Cappuccino. This can be automatically set to the default value of "/Users/cheezcake/Desktop/cappuccino/Build", or you can set $CAPP_BUILD yourself. "export CAPP_BUILD="/Users/cheezcake/Desktop/cappuccino/Build"" will be appended to "/Users/cheezcake/.profile". Enter "yes" or "no": yes

Added to "/Users/cheezcake/.profile". Restart your shell or run "source /Users/cheezcake/.profile".

Bootstrapping of Cappuccino and other required tools is complete. NOTE: any changes made to the shell configuration files won't take place until you restart the shell.

My profile had these values appended:

export NARWHAL_ENGINE=jsc

export CAPP_BUILD="/Users/cheezcake/Desktop/cappuccino/Build"

But notice the lack of a PATH modification, e.g.

PATH=$PATH:~/narwhal/bin

aljungberg commented 11 years ago

The bootstrap script only offers to append to the PATH if narwhal isn't already on the path. You can use the which narwhal command to see where your current copy of narwhal is installed.

On 14 Aug 2012, at 22:43, Briam Rodriguez notifications@github.com wrote:

After running the boostrap from scratch again, the bootstrap logged this

Rhino is currently the default JavaScript engine. Should we change the default to JavaScriptCore for you? This can by overridden by setting the NARWHAL_ENGINE environment variable to "jsc" or "rhino". "export NARWHAL_ENGINE=jsc" will be appended to "/Users/cheezcake/.profile". Enter "yes" or "no": yes

Added to "/Users/cheezcake/.profile". Restart your shell or run "source /Users/cheezcake/.profile".

Before building Cappuccino we recommend you set the $CAPP_BUILD environment variable to a path where you wish to build Cappuccino. This can be automatically set to the default value of "/Users/cheezcake/Desktop/cappuccino/Build", or you can set $CAPP_BUILD yourself. "export CAPP_BUILD="/Users/cheezcake/Desktop/cappuccino/Build"" will be appended to "/Users/cheezcake/.profile". Enter "yes" or "no": yes

Added to "/Users/cheezcake/.profile". Restart your shell or run "source /Users/cheezcake/.profile".

Bootstrapping of Cappuccino and other required tools is complete. NOTE: any changes made to the shell configuration files won't take place until you restart the shell.

My profile had these values appended:

export NARWHAL_ENGINE=jsc

export CAPP_BUILD="/Users/cheezcake/Desktop/cappuccino/Build"

But notice the lack of a PATH modification, e.g.

PATH=$PATH:~/narwhal/bin

— Reply to this email directly or view it on GitHub.

cheezcake commented 11 years ago

The only narwhal i have installed, is the one provided by capp.

If I remove my cappuccino installation directory, which narwhal returns the following:

Therion:~ cheezcake$ which narwhal Therion:~ cheezcake$ echo $? 1

e.g. failure. not found.

cheezcake commented 11 years ago

Any movement on the XCC issue?

cheezcake commented 11 years ago

Hey Guys,

Any ideas? At least point me to where I can begin looking. Thanks!

stianhoiland commented 11 years ago

It's working for me:

An observation:

You're using @outlet. I'm using IBOutlet.

aljungberg commented 11 years ago

@outlet is correct although IBOutlet is also supported for compatibility purposes.

On 16 Aug 2012, at 13:07, Stian Gudmundsen Høiland notifications@github.com wrote:

It's working for me:

XcodeCapp Version 2.0 Xcode Version 4.4.1 (4F1003) Mac OS X Version 10.7.4 An observation:

You're using @outlet. I'm using IBOutlet.

— Reply to this email directly or view it on GitHub.

cheezcake commented 11 years ago

@outlet works, it's the cappuccino way.

The only difference in my stack, is that I'm running on OSX 10.8

Perhaps that is part of the problem?

aljungberg commented 11 years ago

I expect most of us use OS X 10.8 but I wouldn't know. I've been connecting outlets for weeks in 10.8.

On 16 Aug 2012, at 17:05, Briam Rodriguez notifications@github.com wrote:

@outlet works, it's the cappuccino way.

The only difference in my stack, is that I'm running on OSX 10.8

Perhaps that is part of the problem?

— Reply to this email directly or view it on GitHub.

cheezcake commented 11 years ago

So that's it? It works for you so the rest of us are out in the cold?

I've blown away my capp install AND build dir. Downloaded the latest cappuccino from github. Built everything anew... and still dragging from the app controller of a brand new nib application e.g. "capp gen -t NibApplication testProject" doesn't work.

I am on a deadline for a project at work, and I need this to work... I can't be quitting xcode everytime I want to connect an outlet. Is there any way anyone on the project can tell me where to look, I may be able to fix the bug but I'm not getting much help!

aljungberg commented 11 years ago

I never said that. I'm just adding my observations. I didn't realise it was actually working for you - it sounded like you were saying you couldn't connect outlets at all, not that you had the reload issue.

I haven't tried the latest updates so I'm still just restarting Xcode myself. That's fine for me but there might be others who feel more strongly about it and might look into it.

I don't know where to look but the source code for XcodeCapp is in Tools/XcodeCapp.

On 16 Aug 2012, at 18:04, Briam Rodriguez notifications@github.com wrote:

So that's it? It works for you so the rest of us are out in the cold?

I've blown away my capp install AND build dir. Downloaded the latest cappuccino from github. Built everything anew... and still dragging from the app controller of a brand new nib application e.g. "capp gen -t NibApplication testProject" doesn't work.

I am on a deadline for a project at work, and I need this to work... I can't be quitting xcode everytime I want to connect an outlet. Is there any way anyone on the project can tell me where to look, I may be able to fix the bug but I'm not getting much help!

— Reply to this email directly or view it on GitHub.

cheezcake commented 11 years ago

Fixed, pull request:

https://github.com/cappuccino/cappuccino/pull/1657

For what it's worth. My filesystem is case sensitive. The existing code has incorrect capitalization. I corrected the capitalization on the ".xCodeSupport" directory references.

cheezcake commented 11 years ago

Fixed for me by editing the XCC sources to the right capitalization, i.e. ".xCodeSupport" instead of the new ".XcodeSupport"

Say what you will about it, after about 30 "capp gen -t NibApplication" test applications, and removing .xCodeSupport folders... there is some component which I wasn't able to put my finger on which is dependent on the old case. The new XCC does not work, if the user's filesystem is case sensitive. I fixed the issue by just reverting the strings in XCC to read the old spelling, e.g. ".xCodeSupport"

I believe most people are not dealing with this because the default HFS partition type is case insensitive.

YHBW.

primalmotion commented 11 years ago

by default HFS on Mac OS is case sensitive, mine is.

Now, open the source code, look for ".xCodeSupport" with case sensible search, you'll see nothing (but a bunch of comments I just fixed). So if it works for you, that's great, but I will continue to say that your copy of XcodeCapp is not up-to-date or is not correctly built and this has nothing to do with the case sensitive FS. The source code is not changing the case by itself.

Another thing I can suggest is to open cappuccino/Tools/XcodeCapp/XcodeCapp.xcodeproj and run cmd-shift-K to clean, then cmd-R to run it directly from Xcode.

Antoine Mercadal

On Aug 17, 2012, at 19:50 PM, Briam Rodriguez notifications@github.com wrote:

Fixed for me by editing the XCC sources to the right capitalization, i.e. ".xCodeSupport" instead of the new ".XcodeSupport"

Say what you will about it, after about 30 "capp gen -t NibApplication" test applications, and removing .xCodeSupport folders... there is some component which I wasn't able to put my finger on which is dependent on the old case. The new XCC does not work, if the user's filesystem is case sensitive. I fixed the issue by just reverting the strings in XCC to read the old spelling, e.g. ".xCodeSupport"

I believe most people are not dealing with this because the default HFS partition type is case insensitive.

YHBW.

— Reply to this email directly or view it on GitHub.

aljungberg commented 11 years ago

I just confirmed XcodeCapp works and creates .XcodeSupport and nothing else.

The capitalisation is correct, the outlet was picked up without a restart of Xcode.

Chances are you have an old copy of XcodeCapp.app still lingering. Perhaps you can find all copies with find / -iname XcodeCapp.app -print.

+tools +#works-for-me

cappbot commented 11 years ago

Milestone: Someday. Labels: #works-for-me, tools. What's next? Attempts to reproduce the problem described by this issue have failed to reveal any erroneous situation.

cheezcake commented 11 years ago

I will go through the exercise one more time, and post my exact steps. If there is no problem, then my findings should corroborate yours.