Re: WO Frameworks Location & Multiple Versions
Re: WO Frameworks Location & Multiple Versions
- Subject: Re: WO Frameworks Location & Multiple Versions
- From: Lachlan Deck <email@hidden>
- Date: Fri, 19 Jun 2009 08:39:41 +1000
On 19/06/2009, at 8:01 AM, David Avendasora wrote:
On Jun 18, 2009, at 5:19 PM, Chuck Hill wrote:
On Jun 18, 2009, at 12:47 PM, David Avendasora wrote:
Hi All,
I've been throwing something around in my head
Well, lots of room for that!
You know, one of these days...
You walked into that one :-)
1) Right now you can't change the location where WO will install
itself,
No, but after installation you can copy/move to somewhere else.
I am not sure if we can assume that WO will continue to be supplied
as an installable package. So that may become a moot point.
Well, then even more importantly we should have a plan for how to
move forward into the new era!
This was the catalyst for me with the release of 54.
by having the installer default to asking for the location, and
have the suggested location be something along the lines of:
/Developer/WebObjects/Versions/WebObjectsXXXX
This would allow for concepts like:
/Developer/WebObjects/Versions/WebObjects (the default)
/Developer/WebObjects/Versions/WebObjects53
/Developer/WebObjects/Versions/WebObjectsNightly
/Developer/WebObjects/Versions/WebObjectsCustomerName
/Developer/WebObjects/Versions/WebObjectsProjectName
etc.
Obviously this is a change someone at Apple will have to make to a
future WO installer - this probably isn't even realistic, but a
guy can dream, can't he? Otherwise, users would need to manually
move installed frameworks into this directory structure.
If there is no WO installer then there is nothing to change. If
it comes from something like a Maven repository, then this is
easily achieved:
mvn mumbo:jumbo gobbledy:gook -Dmaven.install.path=/Developer/
WebObjects/Versions/WebObjectsProjectNam
See, easy! :-P
Couldn't have put it better myself :-) But, well, exactly.
mvn wobootstrap:deploy -Durl=foo -DrepositoryId=some.id -
DwebObjectsVersion=xxx -DwebObjectsLibFolder=bar
http://wiki.objectstyle.org/confluence/display/WOL/maven-wobootstrap-plugin
And you can then use either maven or ivy+ant to access it. Just define
a property in your pom/build file that specifies the version you
want .. and switch with the flick of a property. Or, you can continue
to maintain multiple machines / builder servers with the same installs
etc.
I'll try and find some time in the near future to put together a step-
by-step guide to getting started etc.
Well, if someone just extends WOInstall.jar to handle newer
versions, then davida$ sudo java -jar WOInstaller.jar 5.4.3
WebObjects55 will work well enough.
Should work.
2) Users would install any third-party frameworks (Wonder, etc)
into these directories also.
3) The default wolips.properties file would then point to the
default location above, which if didn't exist could be setup as a
symlink to "/" to keep existing installs working.
4) The Eclipse -> Preferences -> WOLips -> Build -> WOLips
Properties File value should be defaulted to show
"wolips.properties" instead of blank. Also adding validation to
verify that the file actually exists would be helpful too.
5) Have the build.properties file contain the
wolips.properties=wolips.properties property by default and have
it managed by the Eclipse -> Preferences -> WOLips -> Build ->
WOLips Properties File value. This will allow users who use WOLips
Ant Tools -> Install to deploy their application to automatically
use a customized wolips.properties file (keep incremental and Ant
as similar as possible)
I think that covers the WOLips setup, and I have some ideas on how
we could leverage this same setup to make setting up Hudson even
more simple that what Mike made it with his setupWorkspace.sh
script.
1) Adjust the recommended default default Hudson setup like so:
/Developer/Hudson/Dependencies/WebObjects/Versions/
/Developer/Hudson/Dependencies/woproject.jar
/Developer/Hudson/Home/
2) If the user were to use SVN to manage their WebObjects/Versions
directories, then Hudson could automatically keep them in sync
just as it does for their project files and if you changed any of
the frameworks it would automatcially trigger a new Hudson build.
In this situation the WO versions would be in (for example):
/Developer/Hudson/Home/jobs/JobName/workspace/WebObjects53
We could then either modify Mike's setupWorkspace.sh script, or
simply eliminate it in favor of the following Ant settings:
-propertyfile /Developer/Hudson/Dependencies/
wolips.woversion.properties -lib /Developer/Hudson/Dependencies/
woproject.jar clean build
I'm not sure how all of this would change for people doing WO
development on Windows or Linux though...
What is everyone's honest opinion on these ideas?
Quite a bit of maintenance there. So you update your project via svn
and it requires a version of frameworks not checked out ... so you svn
up on frameworks too (on each machine) etc
It's all doable of course. But this is where attention drifts as it's
too much hassle.
(hint: use a shared repository :)
All of this can be accomplished manually, it's how I now have my
development and hudson environments setup, but I think with a few
tweaks to WOLips and the WO installer it would be so much easier.
I am thinking of doing a screencast on the manual setup, so if you
see any major holes, please let me know.
It all seems reasonable and not far from what some are doing now.
I suspect what we will end up with is more of a Convention rather
than an enforced configuration.
Well, I was meaning something along the lines of the Fluffy Bunny
project layout. If you follow the "standard" and you have problems,
people will probably care. If you do it differently and have
problems, you may be on your own.
Not a hard and fast rule, but it is in your best interest.
Dave
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
with regards,
--
Lachlan Deck
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden