• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: maven.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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 **.

PNG image




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

  • Follow-Ups:
    • git info [was: Re: maven.]
      • From: John Corrigan <email@hidden>
    • Re: maven.
      • From: Henrique Prange <email@hidden>
    • Re: maven.
      • From: Henrique Prange <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>)

  • Prev by Date: Re: WebObjects with NetBeans 6.5
  • Next by Date: Mother ship should use WO for dev forums...
  • Previous by thread: Re: maven.
  • Next by thread: Re: maven.
  • Index(es):
    • Date
    • Thread