Re: maven.
Re: maven.
- Subject: Re: maven.
- From: Lachlan Deck <email@hidden>
- Date: Sun, 5 Apr 2009 08:50:26 +1000
On 05/04/2009, at 1:28 AM, Mike Schrag wrote:
SSDD/War builds, sucky (but admittedly essentially never
touched) ... Inter-project build dependencies, sucky. #1 I'm
guessing Maven doesn't have much to offer without custom coding,
either,
http://wiki.objectstyle.org/confluence/display/WOL/Packaging+WO+Applications+as+true+WAR+with+Maven
Ah yes, touche -- you use jar bundles, I forgot :) Does True War
get to dodge all the annoying weird custom classpathy stuff in
web.xml because of that? Do you guys do an SSDD variant? Would one
even WANT an SSDD if you have an easy true war build?
I don't do war currently so I'll leave this for Henrique to respond...
Creating a simple project is easy in both systems is my
suggestion. Adding project dependencies IMHO is easier with maven.
Granted, the onus is on us to do better with the wiki.
IMO, the simple project is not as simple for WO people to use
Maven. Not that it can't be, but it just isn't now.
Sure. The guides we have definitely need improving.
http://wiki.objectstyle.org/confluence/display/WOL/Quick+Start
http://wiki.objectstyle.org/confluence/display/WOL/Maven+Create+WO+Application+Project
But the templates in woproject (which I specifically updated for
this purpose recently) create a project that's ready to go. These
work, as always, with the standard maven wizard.
So here are my gripes:
Yep - good to get another eye on these.
So right off the bat, what is this "Using Apple Plug-in" at the
top. I know they're working/did work on something also. Is this
overlapping work or in-addition-to work?
Overlapping. We're talking through resolutions to this. e.g., recently
started talking about possibly working towards making whatever changes
necessary to utilise Daryl's wizard in conjunction with the woproject-
maven2 plugin.
Whatever that is needs an explanation in this tutorial -- do i want
it? Do I need to do that before I follow this tutorial?
Good point. I believe the intention was go with one or the other.
TODO: fix.
New Maven Project doesn't appear to actually get defaulted to be a
top level project type in Eclipse,
Do you mean the apple one? The standard m2eclipse one does.
so the tutorial is a little misleading here for total WOLips/Eclipse
newbies.
TODO: review
"Using m2eclipse and woapplication-archetype
The tutorial below supposes you already have installed m2eclipse
plug-in. You also have to copy the archetype catalog to your local
repository as described here. For more information about how to
configure Maven to build WebObjects applications, see this tutorial."
m2eclipse ... I mean, there's nothing you can do here. That is what
it is.
"You also have to copy the archetype catalog to your local
repository as described here. For more information about how to
configure Maven to build WebObjects applications, see this tutorial."
This is for the birds, though :) First of all, wtf is this talking
about. It requires the maven archetype plugin -- i honestly can't
even tell from the site it links to if this is talking about an
Eclipse plugin or a Maven plugin. And it says that I need it, but
the page it links to says "The Archetype Plugin is embedded in IDEs
Eclipse , NetBeans , IDEA." so I'm not sure if I have it already? I
happen to already have these on my machine, but I'm not sure if I
just did this process before or if this got autoinstalled in newer
versions of these plugins.
I also love that this page says "allows the user to create a Maven 2
project from an existing template called an archetype." -- why
didn't you just call it a template, people? I think Maven
developers just like making up new words. This is how I feel about
git, too, btw.
:) Yeah I've been playing with git lately using it for an svn project.
Know what you mean.
So I really can't tell from this archetype page whether the commands
listed show me how to install this thing, or whether this is what I
run after I install something. I'm not trying to be dense here,
but this is sort of my point with the "just works" part. If I have
to open a commandline, my IDE failed, IMO. Any way to get this so
it's just setup for people?
All good points.
I don't know if the target of this wiki page is people who know
Maven already or not,
That would currently be true in fairness or at least have some
familiarity with terminology. Will fix.
but I think it's worth sticking a one sentence "wtf is an archetype"
or to that effect ;-)
in Step 0, since step 0 and Step 3 both are making me pick one. But
if this is assuming I already know Maven, then I don't guess it's
worth it since you guys probably already know what they're saying.
So they have these catalogs in step 3 ... Are these remote repo's?
Can Step 0 be removed if this is hosted somewhere?
Step 4 .... wtf is a group id and an artifact id?
:) Right so group id is akin to namespace / java package. Artifact id
is akin to project name. Version is obvious of course. These are the
usual triplet for dependency declarations.
It has a note on the -SNAPSHOT, so I'll accept that :)
The convention is to declare your version as a snapshot until ready to
release. The newby would just stick with 1.0-SNAPSHOT. In fact, I've
not needed to adjust mine from this as we're not sharing stuff with
the outside world (snif).
As an aside:
We use hudson to build and just use the build# from that. e.g., the
only command I need to give hudson is mvn clean package (as well as
the dir for the project of course). For the dependent frameworks
they're fired off first and installed locally on the build server via
mvn clean install. Equally you could just build from the top of the
tree (mvn clean package/install) and grab built projects from target
dirs.
Those values I guess make more sense as I start to type and they
appear in the package name, but the screenshot actually is a little
different here -- it looks like group id roughly is "com.mdimension"
and artifact id is "projectname" so my package ends up
com.mdimension.projectname, but I'm not really sure what the
implications are of setting these.
More less than obvious stuff of course.
This properties stuff at the bottom of this wizard has toootallly
gotta go. The red note makes it sound like making this WILL be
supported at some point and it's just not yet?
It works already actually. Removed.
"4/4/09 10:20:08 AM EDT: [ERROR] The desired archetype does not
exist (org.objectstyle.woproject.maven2:woapplication-archetype:
2.0.16-SNAPSHOT) The desired archetype does not exist
(org.objectstyle.woproject.maven2:woapplication-archetype:2.0.16-
SNAPSHOT)"
ok .. so I guess i DON'T have this archetype already installed?
Going back to Step zero here ... So it says it's already embedded
in Eclipse on that page, but there's no way that has any meaning if
the next line is telling me to run a commandline thing:
<..>
I get that and the page that linked to said archetype:generate is
one of the goals provided by the plugin, which leads me to believe I
don't, in fact, have that plugin installed. Oh ok, so the yellow
box is saying I can download this thing from the given link. ugh i
have to merge this thing. This file still has
webobjects.mdimension.com URLs in it, but I think you guys are on a
different server now. OK I'm stopping for now ...
.. end comments based on screenshots from tutorial:
Thanks. That's great feedback. Most of it obvious but it's good to get
an unfamiliar eye on it.
I've mentioned this before, but src/main/resources and src/main/
components should not be source folders. They don't contain Java,
so it's kind of weird and confusing to mark them like that.
Yeah, I know we've talked about it before. They default to having
exclude **.
I've seen other non-wo projects that do this. It depends what you
consider source folders. Are source folders only java folders .. or
are resource folders also source folders for resources. I know
internally Eclipse treats them as IJava...
Random question: what are the rules in src/main/components -- will
those flatten?
Do you want them to? See bottom of:
http://wiki.objectstyle.org/confluence/display/WOL/woapplication-archetype
Random question2: where are my WebServerResources in this screenshot
at the bottom?
TODO: missing from the screenie.
Should be src/main/webserver-resources
It certainly needs polish. The above's a good start imo but I agree
it can improve a lot more to make it a no-brainer for newbies.
I think this is key, and I said it earlier that I'm sure it CAN be
just as simple for people, but it really isn't there yet, IMO.
Very true. It's something I've been wanting to spend more time on...
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
References: | |
| >maven. (From: Mike Schrag <email@hidden>) |
| >Re: maven. (From: Henrique Prange <email@hidden>) |
| >Re: maven. (From: Mike Schrag <email@hidden>) |
| >Re: maven. (From: Lachlan Deck <email@hidden>) |
| >Re: maven. (From: Mike Schrag <email@hidden>) |
| >Re: maven. (From: Lachlan Deck <email@hidden>) |
| >Re: maven. (From: Mike Schrag <email@hidden>) |
| >Re: maven. (From: Lachlan Deck <email@hidden>) |
| >Re: maven. (From: Mike Schrag <email@hidden>) |