Re: Hudson and setupWorkspace.sh
On Oct 15, 2009, at 9:07 PM, Ramsey Lee Gurley wrote: On Oct 15, 2009, at 8:38 AM, David Avendasora wrote: On Oct 14, 2009, at 8:54 PM, Ramsey Lee Gurley wrote: I tried to go all workspace not too long ago, and found that I could not get the frameworks to build properly with nothing Wonder related in the /Library/Frameworks folder. If I do an ant frameworks.install then everything is cool. I suspect this is because of the ERJars...? Anyway, is it possible to do that? Go completely clean in the /Library/Frameworks folder and work with all the wonder frameworks in the workspace only? Hi Ramsey! I have gone completely clean in /Library/Frameworks (no Wonder frameworks, or any of my own frameworks are installed there). I also no longer do Ant builds on my development machine. All building (other than incremental) is done by Hudson. I did run into a couple Java Client-related (shocking, I know) issues with this setup, but I was able to work around them. What specific problems are you having? There must be something that is in the class path that is not setup as a workspace project. Dave You know, sometimes, you just need someone to say Hey, it works for me! to solve the problem. The answer was JavaWOExtensions. I was missing the framework and didn't realize it, because that's the one that's named the same as the WO framework (^_^) Thank you Dave! You solved my problem. :-P Chuck. It had to happen some day! Dave ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Hudson and setupWorkspace.sh
On Oct 14, 2009, at 8:54 PM, Ramsey Lee Gurley wrote: I tried to go all workspace not too long ago, and found that I could not get the frameworks to build properly with nothing Wonder related in the /Library/Frameworks folder. If I do an ant frameworks.install then everything is cool. I suspect this is because of the ERJars...? Anyway, is it possible to do that? Go completely clean in the /Library/Frameworks folder and work with all the wonder frameworks in the workspace only? Hi Ramsey! I have gone completely clean in /Library/Frameworks (no Wonder frameworks, or any of my own frameworks are installed there). I also no longer do Ant builds on my development machine. All building (other than incremental) is done by Hudson. I did run into a couple Java Client-related (shocking, I know) issues with this setup, but I was able to work around them. What specific problems are you having? There must be something that is in the class path that is not setup as a workspace project. Dave ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Hudson and setupWorkspace.sh
On Oct 15, 2009, at 8:38 AM, David Avendasora wrote: On Oct 14, 2009, at 8:54 PM, Ramsey Lee Gurley wrote: I tried to go all workspace not too long ago, and found that I could not get the frameworks to build properly with nothing Wonder related in the /Library/Frameworks folder. If I do an ant frameworks.install then everything is cool. I suspect this is because of the ERJars...? Anyway, is it possible to do that? Go completely clean in the /Library/Frameworks folder and work with all the wonder frameworks in the workspace only? Hi Ramsey! I have gone completely clean in /Library/Frameworks (no Wonder frameworks, or any of my own frameworks are installed there). I also no longer do Ant builds on my development machine. All building (other than incremental) is done by Hudson. I did run into a couple Java Client-related (shocking, I know) issues with this setup, but I was able to work around them. What specific problems are you having? There must be something that is in the class path that is not setup as a workspace project. Dave You know, sometimes, you just need someone to say Hey, it works for me! to solve the problem. The answer was JavaWOExtensions. I was missing the framework and didn't realize it, because that's the one that's named the same as the WO framework (^_^) Thank you Dave! You solved my problem. Ramsey smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Hudson and setupWorkspace.sh
Hi Frank, On Oct 13, 2009, at 10:59 PM, Mr. Frank Cobia wrote: I am trying to get a Hudson build server setup and I am having a few issues. Hopefully someone can/will help. As background I am running hudson on Mac OS X server and I am using subversion. 1) The setupWorkspace.sh script seems to be looking for the .classpath file in the wrong place. I setup the subversion URL as https://svnserver/path/MyProject. So when Hudson check out from subversion the .classpath is placed in $WORKSPACE/MyProject/.classpath, but setupWorkspace.sh is looking for $WORKSPACE/.classpath. What am I doing wrong? In the job setup, under Subversion, put a period (.) in the Local module directory (optional) field. It probably has MyProject in there now. 2) The setupWorkspace.sh prints the following error even though I can go in by hand after the build and that directory does exit: rm: / Developer/Hudson/Home/jobs/MyProject/workspace/Root/System: No such file or directory This is the same problem. it's looking in .../workspace/Root/System, because you have the Local module directory as your project name, that directory actually exists in /worspace/MyProject/Root/System. 3) How will my apps and frameworks find the frameworks they depend on? Is this automatically done by the setupWorkspace.sh script as long as those frameworks have already been made? Do I have to do a build and install so that they are placed in /Library/Frameworks? Mike's latest workspaceSetup.sh will automatically look for Hudson projects with the same name as the frameworks in your .classpath file - freaking AWESOME, BTW. If it finds them, it will use the last successful build of that hudson job. 4) I can not get Hudson to Archive the Artifacts for framework builds when set to $WORKSPACE/MyProject/dist/*.framework. The configuration screen tells me that $WORKSPACE/MyProject/dist does exist but the build throws an error saying it can not find / Developer/Hudson/Home/jobs/MyProject/workspace/MyProject/dist/ *.framework. Hmmm not sure on this one, but once you change the Local module directory (see #1) then maybe that will fix this too. 5) Similar to #3. I have some frameworks that depend on jar projects. Do I need to somehow copy these to a location to be picked up or will the setupWorkspace fix it so that the jars will be found? Hmmm... This is trickier. I don't do this, and I don't think setupWorkspace.sh will address this either. That leaves you with either modifying setupWorkspace.sh to handle it, or adding additional Execute shell commands prior to Invoking Ant in the hudson job. Hudson is awesome and Mike's setupWorkspace.sh makes it even better, but it's a case of it will only work if you Be Like Mikeā¢ - if you do things differently it will require a bit more work on you part, but setupWorkspace.sh is great to learn from to see how the cool kids do things. Dave Thanks, Frank ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/webobjects%40avendasora.com This email sent to webobje...@avendasora.com ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Hudson and setupWorkspace.sh
Sorry, I hit reply instead of reply all on a previous email. 1) The setupWorkspace.sh script seems to be looking for the .classpath file in the wrong place. I setup the subversion URL as https://svnserver/path/MyProject. So when Hudson check out from subversion the .classpath is placed in $WORKSPACE/MyProject/.classpath, but setupWorkspace.sh is looking for $WORKSPACE/.classpath. What am I doing wrong? In the job setup, under Subversion, put a period (.) in the Local module directory (optional) field. It probably has MyProject in there now. Putting ., instead of leaving it blank, fixed this and #2. 2) The setupWorkspace.sh prints the following error even though I can go in by hand after the build and that directory does exit: rm: /Developer/Hudson/Home/jobs/MyProject/workspace/Root/System: No such file or directory This is the same problem. it's looking in .../workspace/Root/System, because you have the Local module directory as your project name, that directory actually exists in /worspace/MyProject/Root/System. 3) How will my apps and frameworks find the frameworks they depend on? Is this automatically done by the setupWorkspace.sh script as long as those frameworks have already been made? Do I have to do a build and install so that they are placed in /Library/Frameworks? Mike's latest workspaceSetup.sh will automatically look for Hudson projects with the same name as the frameworks in your .classpath file - freaking AWESOME, BTW. If it finds them, it will use the last successful build of that hudson job. This is actually broken for me because I can not archive the build (see #4). I looked in the script and it is looking under lastSuccessful/archive/dist/${FRAMEWORK}.tar.gz. This presents two problems for me. First I can not figure out any pattern under the archive option that will find my framework. Second, my build only produces a MyProject.framework and not MyProject.framework.tar.gz. Anyone help with this? 4) I can not get Hudson to Archive the Artifacts for framework builds when set to $WORKSPACE/MyProject/dist/*.framework. The configuration screen tells me that $WORKSPACE/MyProject/dist does exist but the build throws an error saying it can not find / Developer/Hudson/Home/jobs/MyProject/workspace/MyProject/dist/ *.framework. Hmmm not sure on this one, but once you change the Local module directory (see #1) then maybe that will fix this too. Thanks, Frank ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Hudson and setupWorkspace.sh
3) How will my apps and frameworks find the frameworks they depend on? Is this automatically done by the setupWorkspace.sh script as long as those frameworks have already been made? Do I have to do a build and install so that they are placed in /Library/Frameworks? Mike's latest workspaceSetup.sh will automatically look for Hudson projects with the same name as the frameworks in your .classpath file - freaking AWESOME, BTW. If it finds them, it will use the last successful build of that hudson job. This is actually broken for me because I can not archive the build (see #4). I looked in the script and it is looking under lastSuccessful/archive/dist/${FRAMEWORK}.tar.gz. This presents two problems for me. First I can not figure out any pattern under the archive option that will find my framework. Second, my build only produces a MyProject.framework and not MyProject.framework.tar.gz. Anyone help with this? I figured out the first part of my problem. It turns out the pattern I need is dist/** and not dist/*. It does not however produce a tar file. Should that be happening automatically ro do I just need to add a shell command to build it? Thanks, Frank ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Hudson and setupWorkspace.sh
On Oct 14, 2009, at 12:00 PM, Mr. Frank Cobia wrote: 3) How will my apps and frameworks find the frameworks they depend on? Is this automatically done by the setupWorkspace.sh script as long as those frameworks have already been made? Do I have to do a build and install so that they are placed in / Library/Frameworks? Mike's latest workspaceSetup.sh will automatically look for Hudson projects with the same name as the frameworks in your .classpath file - freaking AWESOME, BTW. If it finds them, it will use the last successful build of that hudson job. This is actually broken for me because I can not archive the build (see #4). I looked in the script and it is looking under lastSuccessful/archive/dist/${FRAMEWORK}.tar.gz. This presents two problems for me. First I can not figure out any pattern under the archive option that will find my framework. Second, my build only produces a MyProject.framework and not MyProject.framework.tar.gz. Anyone help with this? I figured out the first part of my problem. It turns out the pattern I need is dist/** and not dist/*. It does not however produce a tar file. Should that be happening automatically ro do I just need to add a shell command to build it? I believe that the tar.gz file is now automatically generated by the latest version of the build.xml files. Can you replace the build.xml file in your framework project with one from a new Framework project? Dave ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Hudson and setupWorkspace.sh
I believe that the tar.gz file is now automatically generated by the latest version of the build.xml files. Can you replace the build.xml file in your framework project with one from a new Framework project? the general hudson answer, though, is that hudson does not tar anything ... all it does is run your build.xml and copy what you tell it to copy. if you want to tar your build products, your build script needs to tar them. ms ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Hudson and setupWorkspace.sh
Oh, and on my frameworks that I build in hudson, I have this setup for the Archive the Artifacts hudson setting: dist/*.framework/**/* This is what puts MyFramework.framework in the Last Successful Artifacts directory. Dave On Oct 14, 2009, at 1:42 PM, David Avendasora wrote: Hi Frank, On Oct 14, 2009, at 11:30 AM, Mr. Frank Cobia wrote: 4) I can not get Hudson to Archive the Artifacts for framework builds when set to $WORKSPACE/MyProject/dist/*.framework. The configuration screen tells me that $WORKSPACE/MyProject/dist does exist but the build throws an error saying it can not find / Developer/Hudson/Home/jobs/MyProject/workspace/MyProject/dist/ *.framework. Hmmm not sure on this one, but once you change the Local module directory (see #1) then maybe that will fix this too. I still can not figure this one out. The console output actually suggested what to put because it said it found things there, but when I did, it gave an error about them not being there. Since I compile my frameworks into the apps, I do not need the standalone frameworks so i guess it is not a big deal. I just wanted to make sure the framework was around for the app to pickup when it builds. Mike's setupWorkspace.sh simply grabs the framework's tar.gz file and extracts the framework into your project's Root/Library/ Frameworks (if I remember correctly). Obviously you could change the script to just grab the MyFramework.framework folder itself instead and copy it. There's a number of ways of hacking/changing mike's script to conform to your needs. I have changed my version to create a symlink to any frameworks in .classpath that are also in the Hudson jobs directory. This removes the step of copying and extracting and makes the build even faster. I also added the ability to specify more than just simply the version of WO because we have different versions of internal frameworks as well. I've attached my setupWorkspace.sh in case you (or anyone else) is interested. Mike's file is a great place to start, but don't let it limit you. Dave setupTVWorkspace.sh.zip ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/webobjects%40avendasora.com This email sent to webobje...@avendasora.com ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Hudson and setupWorkspace.sh
Mike's setupWorkspace.sh simply grabs the framework's tar.gz file and extracts the framework into your project's Root/Library/ Frameworks (if I remember correctly). Obviously you could change the script to just grab the MyFramework.framework folder itself instead and copy it. There's a number of ways of hacking/changing mike's script to conform to your needs. I have changed my version to create a symlink to any frameworks in .classpath that are also in the Hudson jobs directory. This removes the step of copying and extracting and makes the build even faster. I also added the ability to specify more than just simply the version of WO because we have different versions of internal frameworks as well. I am beginning to think maybe I have my project in Eclipse setup incorrectly. Looking at Mike's script and your script, it expects the frameworks that the app depends on have and entry in the .classpath file that looks like: path=WOFramework/MyFramework When I add a framework to an app in Eclipse I just add it under Build Path - Configure Build Path - Projects. But the entry in the classpath file is a different kind of entry than the one for the Wonder and System frameworks. The most important difference in this context being that the path does not start with WOFramework. Am I setting up my project in Eclipse incorrectly or is this just a difference I need to incorporate into the setup script for Hudson? Mike's file is a great place to start, but don't let it limit you. I see that now. I wanted to stick as close as possible so I would not have a lot of modifications to make in the future if things change and Mike updates his script (why do the work myself :). But as I am beginning to understand how all this works I can see that it is not too difficult to do and it will be better to have a script specifically for my environment. Frank ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Hudson and setupWorkspace.sh
On Oct 14, 2009, at 4:05 PM, Mr. Frank Cobia wrote: Mike's setupWorkspace.sh simply grabs the framework's tar.gz file and extracts the framework into your project's Root/Library/ Frameworks (if I remember correctly). Obviously you could change the script to just grab the MyFramework.framework folder itself instead and copy it. There's a number of ways of hacking/changing mike's script to conform to your needs. I have changed my version to create a symlink to any frameworks in .classpath that are also in the Hudson jobs directory. This removes the step of copying and extracting and makes the build even faster. I also added the ability to specify more than just simply the version of WO because we have different versions of internal frameworks as well. I am beginning to think maybe I have my project in Eclipse setup incorrectly. Looking at Mike's script and your script, it expects the frameworks that the app depends on have and entry in the .classpath file that looks like: path=WOFramework/MyFramework When I add a framework to an app in Eclipse I just add it under Build Path - Configure Build Path - Projects. Bingo! Don't use Projects anymore. As of the New Hotness build of WOLips (January 09 timeframe) all frameworks are added under Libraries section of the Build Path even if they are Projects. WOLips will see that you have them as projects in your workspace and will use them instead of any compiled version in Library/Frameworks. If a project doesn't exist in your workspace for the framework, WOLips will automatically fall back to looking for it in the normal locations for a compiled framework. Dave ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Hudson and setupWorkspace.sh
On Oct 14, 2009, at 4:22 PM, David Avendasora wrote: On Oct 14, 2009, at 4:05 PM, Mr. Frank Cobia wrote: Mike's setupWorkspace.sh simply grabs the framework's tar.gz file and extracts the framework into your project's Root/Library/ Frameworks (if I remember correctly). Obviously you could change the script to just grab the MyFramework.framework folder itself instead and copy it. There's a number of ways of hacking/changing mike's script to conform to your needs. I have changed my version to create a symlink to any frameworks in .classpath that are also in the Hudson jobs directory. This removes the step of copying and extracting and makes the build even faster. I also added the ability to specify more than just simply the version of WO because we have different versions of internal frameworks as well. I am beginning to think maybe I have my project in Eclipse setup incorrectly. Looking at Mike's script and your script, it expects the frameworks that the app depends on have and entry in the .classpath file that looks like: path=WOFramework/MyFramework When I add a framework to an app in Eclipse I just add it under Build Path - Configure Build Path - Projects. Bingo! Don't use Projects anymore. As of the New Hotness build of WOLips (January 09 timeframe) all frameworks are added under Libraries section of the Build Path even if they are Projects. WOLips will see that you have them as projects in your workspace and will use them instead of any compiled version in Library/Frameworks. If a project doesn't exist in your workspace for the framework, WOLips will automatically fall back to looking for it in the normal locations for a compiled framework. Dave About that, I have a related question... I tried to go all workspace not too long ago, and found that I could not get the frameworks to build properly with nothing Wonder related in the /Library/Frameworks folder. If I do an ant frameworks.install then everything is cool. I suspect this is because of the ERJars...? Anyway, is it possible to do that? Go completely clean in the /Library/Frameworks folder and work with all the wonder frameworks in the workspace only? Ramsey smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Hudson and setupWorkspace.sh
I am trying to get a Hudson build server setup and I am having a few issues. Hopefully someone can/will help. As background I am running hudson on Mac OS X server and I am using subversion. 1) The setupWorkspace.sh script seems to be looking for the .classpath file in the wrong place. I setup the subversion URL as https://svnserver/path/MyProject. So when Hudson check out from subversion the .classpath is placed in $WORKSPACE/MyProject/.classpath, but setupWorkspace.sh is looking for $WORKSPACE/.classpath. What am I doing wrong? 2) The setupWorkspace.sh prints the following error even though I can go in by hand after the build and that directory does exit: rm: / Developer/Hudson/Home/jobs/MyProject/workspace/Root/System: No such file or directory 3) How will my apps and frameworks find the frameworks they depend on? Is this automatically done by the setupWorkspace.sh script as long as those frameworks have already been made? Do I have to do a build and install so that they are placed in /Library/Frameworks? 4) I can not get Hudson to Archive the Artifacts for framework builds when set to $WORKSPACE/MyProject/dist/*.framework. The configuration screen tells me that $WORKSPACE/MyProject/dist does exist but the build throws an error saying it can not find /Developer/ Hudson/Home/jobs/MyProject/workspace/MyProject/dist/*.framework. 5) Similar to #3. I have some frameworks that depend on jar projects. Do I need to somehow copy these to a location to be picked up or will the setupWorkspace fix it so that the jars will be found? Thanks, Frank ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com