Re: pvn package command dependencies error

2021-05-04 Thread Mark H. Wood
On Tue, May 04, 2021 at 12:29:20PM +0200, Benjamin Marwell wrote:
> you need to use https URLs in your repositories. http URLs are now
> blocked by default.
> That should resolve the issue you are having.

He can't.  The problem is with a transitive dependency of Solr 4.10.4
and is in Solr's POM.  This is a known problem for DSpace:

  https://stackoverflow.com/q/66962265/2916377

It was activated by a recent Maven upgrade which blocks unencrypted
repository accesses by default.

> You should take a look at your $HOME/.m2/settings.xml, as well as
> potential occurrences of repository tags in your pom.xml files.

That won't help in this case, since the problem lies in a necessarily
ancient version of a third-party dependency.  One could either
override the block in .m2/settings.xml or manually acquire a copy of
the restlet artifact and install it in one's local repository (perhaps
using 'mvn install:install-file').

There are breaking changes in newer releases of Solr which won't be
accounted for in DSpace until the next major release (which should
come soon).  Moving to a newer Solr release is a rather involved
process due to those changes, and I don't know of anyone who has done
it with a released version of DSpace.

-- 
Mark H. Wood
Lead Technology Analyst

University Library
Indiana University - Purdue University Indianapolis
755 W. Michigan Street
Indianapolis, IN 46202
317-274-0749
www.ulib.iupui.edu


signature.asc
Description: PGP signature


Re: Augment pom dependencies information with custom ones

2019-12-06 Thread Mark H. Wood
On Thu, Dec 05, 2019 at 09:04:17PM +0200, Anton Tanasenko wrote:
> If you have control over report generation, what you can do is add xml
> processing instructions into your pom files that your plugin can later
> parse out of the xml without interfering with existing pom model.
> M2Eclipse uses that approach to add some metadata to plugin executions.
> Here's [1] the code pointer that performs the parsing from maven model.
> 
> [1]
> https://github.com/eclipse/m2e-core/blob/master/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/lifecyclemapping/AnnotationMappingMetadataSource.java#L168

It might be even easier than that.  Could one not write an XSL
transform to combine the POM with a document containing named
dependencies and your rationales, to produce such a report?

But it would be nicer if the schema and the dependency plugin were
extended to permit the documentation that was requested.  And it does
seem in line with Maven's purpose as a "project...comprehension tool."

Another approach, which wouldn't require releasing a new version of
the POM schema, would be if Maven had an option to politely ignore
elements in other namespaces instead of killing the build with an
ERROR.  Then a POM document could be augmented for processing by other
tools (such as a slightly different XSL transform).

-- 
Mark H. Wood
Lead Technology Analyst

University Library
Indiana University - Purdue University Indianapolis
755 W. Michigan Street
Indianapolis, IN 46202
317-274-0749
www.ulib.iupui.edu


signature.asc
Description: PGP signature


Re: Quicker local maven builds article

2019-10-22 Thread Mark H. Wood
On Tue, Oct 22, 2019 at 09:34:46PM +0100, Paul Hammant wrote:
> Maven's XML is too element normal for my liking.  Attributes where
> appropruate would be good.

Yes.  But changing now would be quite a wrench, even with tools to
translate the old dialect to the new.  A lot of other code also
understands POM documents nowadays.

> Also deps and GAVs needs a shakeup, IMO:
> 
> 
>   
>  com.thoughtworks.xstream:xsteam:1.4.3
>   
>   
> org.junit:junit:4.12
> org.seleniumhq.selenium:selenium-java:3.14159
>   

Please, no.  
perhaps.

> Not being able to grep for specific GAVs is a critical flaw.

Wrong tool.  grep is for text, not structured documents.  Try XQuery.



But this is wandering away from "how can we avoid rebuilding unchanged
stuff?"

-- 
Mark H. Wood
Lead Technology Analyst

University Library
Indiana University - Purdue University Indianapolis
755 W. Michigan Street
Indianapolis, IN 46202
317-274-0749
www.ulib.iupui.edu


signature.asc
Description: PGP signature


Re: Is specifying direct dependencies a good practice?

2019-01-10 Thread Mark H. Wood
On Thu, Jan 10, 2019 at 09:14:45AM -0500, Mark H. Wood wrote:
> I try always to declare all direct dependencies, regardless of whether
> they are also transitive dependencies (today).
> 
> One reason for this is that it improves the documentation of the
> project.  Not only does it provide useful information to reporting
> tools driven by Maven, but you can learn useful things about a project
> by just reading the POM.
> 
> Another reason is that I'm uncomfortable relying on the inclusion of
> direct dependencies by happenstance.  An upgraded dependency, which
> *was* pulling in another direct dependency but does no more, can break
> the build in a way that is quite avoidable.

A third reason is that it gives you a chance to specify what versions
of your dependencies are used, instead of letting other dependencies
set (and change!) those versions.  Use with caution:  there may be
strong reasons for those other dependencies to require the versions
that they do.

If you have an assembly composed from multiple complex projects, you
may be able to harmonize versions of shared dependencies instead of
ending up with multiple versions of the same artifact and wondering
which one is used.

-- 
Mark H. Wood
Lead Technology Analyst

University Library
Indiana University - Purdue University Indianapolis
755 W. Michigan Street
Indianapolis, IN 46202
317-274-0749
www.ulib.iupui.edu


signature.asc
Description: PGP signature


Re: Is specifying direct dependencies a good practice?

2019-01-10 Thread Mark H. Wood
On Thu, Jan 10, 2019 at 04:51:17PM +0800, 林自均 wrote:
> I feel a bit uncomfortable with using the classes in transitive
> dependencies. For example, my project A depends on other project B, and
> project B depends on project C. When I directly use the classes of projects
> C in my project A, I expected that Maven would throw a warning on it, since
> project B may someday remove or update the version of the dependency of
> project C. However, it complains nothing. It makes me wonder what's Maven's
> recommendation for such scenario. After reading the tutorial on
> https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html,
> I still couldn't find out what Maven suggests.
> 
> When I use a class in my project, is it a better practice to specify the
> project containing the class as a direct dependency, or just let the
> transitive dependency do its job? What's the catch? Thanks!

I try always to declare all direct dependencies, regardless of whether
they are also transitive dependencies (today).

One reason for this is that it improves the documentation of the
project.  Not only does it provide useful information to reporting
tools driven by Maven, but you can learn useful things about a project
by just reading the POM.

Another reason is that I'm uncomfortable relying on the inclusion of
direct dependencies by happenstance.  An upgraded dependency, which
*was* pulling in another direct dependency but does no more, can break
the build in a way that is quite avoidable.

-- 
Mark H. Wood
Lead Technology Analyst

University Library
Indiana University - Purdue University Indianapolis
755 W. Michigan Street
Indianapolis, IN 46202
317-274-0749
www.ulib.iupui.edu


signature.asc
Description: PGP signature


Integration testing of command line tools?

2018-08-20 Thread Mark H. Wood
When writing integration tests for command-line tools, is there any
support in Failsafe, jUnit, or elsewhere to fork a process and manage
its standard IO streams?

Or am I over-designing?  Would one typically write such an integration
test rather like a unit test, bypassing the command analyzer and just
calling the appropriate method on an instance created by the test
suite?  Without stubbing or mocking the underlying code, of course,
since it's an integration test.

Is there a better place to ask?

-- 
Mark H. Wood
Lead Technology Analyst

University Library
Indiana University - Purdue University Indianapolis
755 W. Michigan Street
Indianapolis, IN 46202
317-274-0749
www.ulib.iupui.edu


signature.asc
Description: PGP signature


Questions about

2017-06-28 Thread Mark H. Wood
I just got bitten by "activeByDefault doesn't mean what everyone
thinks it means."  OK, that's the way it is.  But I have some
questions:

o  Real-world use case for the current behavior?

o  Is there some reason why the meaning of
 
   !NAME
 
   is not documented in the POM reference?

o  Where *is* it documented?  Lots of people seem to know about it.

-- 
Mark H. Wood
Lead Technology Analyst

University Library
Indiana University - Purdue University Indianapolis
755 W. Michigan Street
Indianapolis, IN 46202
317-274-0749
www.ulib.iupui.edu


signature.asc
Description: PGP signature


Re: Gentoo packaging / reproducibility of Maven-based Java projects

2017-03-20 Thread Mark H. Wood
On Fri, Mar 17, 2017 at 02:11:20PM -0500, Curtis Rueden wrote:
> I am currently discussing on GitHub with one of the Gentoo packagers the
> possibility of packaging my group's Maven-based projects for Gentoo.
> 
> The relevant issue is here:
>  https://github.com/imagej/imagej/issues/162
> 
> However, the issues are hardly unique to my projects. This has become a
> very general discussion of rebuilding and packaging Maven projects.
> 
> My questions are:
> * Does anyone here use Gentoo?

I do.

> * Has anyone packaged their Maven-based stuff for it?

No, I haven't contributed any packages to Gentoo yet.

> * Does anyone know of a _general_ process for doing so?

Typically a Gentoo package specifies all of its dependencies as Gentoo
packages, and Portage does the dependency management.  This is
probably why you have so much trouble:  two package managers fighting
for control.  The "Gentoo Way" would seem to be:  first package all of
the dependencies individually, get them into Portage, then add the
dependent, adjust the POM to assume all dependencies will be supplied
at runtime, and let Portage calculate the classpath.  Ick.

There are some Gentoo packages based on projects which for some reason
cannot or will not use stable releases of their dependencies, but
instead package all of the source for those dependencies with the
dependent code.  It's grating, but it works.  This is probably the
easier route when using Maven in a Portage environment:  ship
everything as subprojects and build it all together.

The middle path might be:  package the dependencies individually, work
out a way for Maven to see them as being present in the local
repository, build the dependent happily using Maven.  I don't know the
guts of Maven well enough to say how hard it would be to plug in a new
local-repository provider that uses the Gentoo /usr/share/*/lib
layout.

Binary dependencies are going to be a royal pain no matter how you do
them.  Ugh!  One thing this means is that your package can never exist
for any architecture that the binary is not built for.  That's sadly
not without precedent.

-- 
Mark H. Wood
Lead Technology Analyst

University Library
Indiana University - Purdue University Indianapolis
755 W. Michigan Street
Indianapolis, IN 46202
317-274-0749
www.ulib.iupui.edu


signature.asc
Description: PGP signature


Re: Comparing specifying repositories in pom vs. settings.xml?

2016-10-19 Thread Mark H. Wood
OK, I'm going to learn a lot from this thread.

On Tue, Oct 18, 2016 at 06:57:42AM -0700, Robert Patrick wrote:
> But in a large corporate environment, the centralized repository manager can 
> house hundreds/thousands of repositories so unless you want to virtualize the 
> entire set of repositories (which tends to make the repository manager 
> slower), you still need to specify the repositories to search, right? 

We have a local Nexus instance, and besides a mirror of Central and a
couple of others, there are just two non-mirror repositories:
local-snapshots and local-releases.  Why would you have more than these?

-- 
Mark H. Wood
Lead Technology Analyst

University Library
Indiana University - Purdue University Indianapolis
755 W. Michigan Street
Indianapolis, IN 46202
317-274-0749
www.ulib.iupui.edu


signature.asc
Description: PGP signature


Re: Comparing specifying repositories in pom vs. settings.xml?

2016-10-18 Thread Mark H. Wood
On Mon, Oct 17, 2016 at 08:03:03PM +, KARR, DAVID wrote:
> One thing I run into when jumping between different projects is different 
> expectations for what maven repos I need to be using.  In the past, I had to 
> have multiple copies of "~/.m2/settings.xml" lying around, and I would hack 
> the specified repos when I needed to.

I'm trying, without success, to imagine why you do not simply
accumulate  elements as required.  Before long you should reach
a state in which new additions are extremely rare.

-- 
Mark H. Wood
Lead Technology Analyst

University Library
Indiana University - Purdue University Indianapolis
755 W. Michigan Street
Indianapolis, IN 46202
317-274-0749
www.ulib.iupui.edu


signature.asc
Description: PGP signature


Is there any way to have archetype:generate fill in "boilerplate" fields?

2016-07-05 Thread Mark H. Wood
It's a small thing, but it would be handy if I could stash some
settings somewhere that would cause the archetype generator to fill in
my  and  and the like.

-- 
Mark H. Wood
Lead Technology Analyst

University Library
Indiana University - Purdue University Indianapolis
755 W. Michigan Street
Indianapolis, IN 46202
317-274-0749
www.ulib.iupui.edu


signature.asc
Description: PGP signature


Re: Questions regarding License Maven Plugin

2016-05-27 Thread Mark H. Wood
On Thu, May 26, 2016 at 10:34:28AM +0100, Stian Soiland-Reyes wrote:
> license-maven-plugin is not maintained by Apache, and have its own mailing
> list which should be able to help you further:

More generally:  a plugin with a name like FOO-maven-plugin is not
maintained by the Maven project, and it would be good to see if it has
its own mailing list.  A plugin with a name like maven-FOO-plugin
probably *is* maintained by the Maven project.

-- 
Mark H. Wood
Lead Technology Analyst

University Library
Indiana University - Purdue University Indianapolis
755 W. Michigan Street
Indianapolis, IN 46202
317-274-0749
www.ulib.iupui.edu


signature.asc
Description: PGP signature


How to get m-assembly-p to copy from an existing symlink?

2015-12-15 Thread Mark H. Wood
A project has an assembly with an explicit  of a specific
file.

  
  
 ..
 config
 
local.cfg
 
  
  
I have many versions of this file and would like to select one
by symlinking one of them to the expected name.  m-a-p 2.6 responds:

[ERROR] Failed to execute goal
org.apache.maven.plugins:maven-assembly-plugin:2.6:single (default)
on project dspace: Failed to create assembly: Error creating assembly
archive installer: Problem copying files :
/home/mwood/build/dspace/DS-2654/dspace/target/dspace-installer/config/local.cfg
 -> [Help 1]

Enabling debugging (-X) shows that the cause is a Plexus
ArchiverException caused by a NoSuchFileException fingering the place
that m-a-p was supposed to copy the file *to*.  And indeed the
'config' directory has not been created.  (The dspace-installer
directory *is* created.)

Is this expected behavior?  Is there a way to make this work?  (I want
the link followed and the content of its target copied to the
assembly.)  Should I file an issue?

-- 
Mark H. Wood
Lead Technology Analyst

University Library
Indiana University - Purdue University Indianapolis
755 W. Michigan Street
Indianapolis, IN 46202
317-274-0749
www.ulib.iupui.edu


signature.asc
Description: Digital signature


Re: License Auditing

2015-10-06 Thread Mark H. Wood
Doesn't the pro version of Nexus do license auditing and analysis?

-- 
Mark H. Wood
Lead Technology Analyst

University Library
Indiana University - Purdue University Indianapolis
755 W. Michigan Street
Indianapolis, IN 46202
317-274-0749
www.ulib.iupui.edu


smime.p7s
Description: S/MIME cryptographic signature


Best practice for optional dependencies?

2015-01-22 Thread Mark H. Wood
I'm working on a project which has an optional transitive
dependency.  That is: we depend on someone else's artifact (let's call
it A), which itself depends *in some circumstances* on a third
artifact (from a third source) which I'll call B.  That is:  if you
never trigger a certain feature of A then it doesn't really need B.  A
expresses this by making B a dependency with scopeprovided/scope.

I feel that this is an abuse of the dependency mechanism, and that
optional dependencies should not be declared to Maven as dependencies
at all.  I think that A should use Class.forName to probe for B and
(if not found) gracefully explain why it cannot perform the requested
function.  What do you think?

The feature in question is decryption of a file, which is triggered
when A recognizes an encrypted file, and that is out of our control.
Decryption requires key material, and in our application there is no
reasonable opportunity to provide it, so we can't actually make use of
the decryption function.  We are thus faced with a choice: declare a
transitive dependency as if it were a direct dependency, to support an
unusable feature, and leave notes all over our POMs to explain why
dependency:analyze is wrong and you should not remove this dependency;
or keep explaining to people why they get NoClassDefFoundError when
processing some of their files.

-- 
Mark H. Wood
Lead Technology Analyst

University Library
Indiana University - Purdue University Indianapolis
755 W. Michigan Street
Indianapolis, IN 46202
317-274-0749
www.ulib.iupui.edu


signature.asc
Description: Digital signature


Re: Little documentation issues

2014-12-10 Thread Mark H. Wood
Thinking about the developer's perspective a bit, I came up with some
suggestions but no actual language.

The developer is a person who wants to build units of software into
distributable products, so it's useful to talk briefly about
lifecycle, phase, goal, execution, and artifact in terms
familiar to such a person.  *Briefly* -- full details should be
linked.  This is simply to define terms which will then be used to map
the nature of Maven plugin to his experience.

A developer probably has a general notion of what a plugin is, so
what he needs is to know what a *Maven* plugin is: an assembly of Java
classes which provides additional concepts and behaviors that the
Maven framework can use in building your projects.  It can define
additional lifecycles and phases, and it provides goals that you may
bind to phases in order to perform additional work during the build.
There should be a link to how one creates a Maven plugin, elsewhere.

It may be well to mention at *this* point that much of Maven's
built-in behavior is actually provided by included plugins.  In this
way, one first learns what a Maven plugin is and then immediately sees
application of the concept through the lens of the knowledge one has
just gained.  Perhaps pick one common plugin as an example.

Someone noted that goal and Mojo are often used interchangeably,
but it may be good to mention here that goal is a named behavior and
Mojo is its implementation.  (If I have that right.)

-- 
Mark H. Wood
Lead Technology Analyst

University Library
Indiana University - Purdue University Indianapolis
755 W. Michigan Street
Indianapolis, IN 46202
317-274-0749
www.ulib.iupui.edu


signature.asc
Description: Digital signature


Re: [LOGO] site with Fluido skin and owl logo

2014-11-26 Thread Mark H. Wood
On Wed, Nov 26, 2014 at 08:25:56AM +, Stephen Connolly wrote:
[snip]
 I also think we should remove the side-bars (and perhaps switch to a top
 bar menu) as they hinder mobile accessibility.

Aha!  This may explain why, at the very moment that 16:9 monitors are
becoming ubiquitous, websites are all being redesigned as a skinny
rivulet of text down the center of a broad snowfield.

-- 
Mark H. Wood
Lead Technology Analyst

University Library
Indiana University - Purdue University Indianapolis
755 W. Michigan Street
Indianapolis, IN 46202
317-274-0749
www.ulib.iupui.edu


signature.asc
Description: Digital signature


Re: Why not a forum

2014-07-23 Thread Mark H. Wood
On Tue, Jul 22, 2014 at 03:51:54PM +, Preston, Dale wrote:
 I was just wondering why this group uses an email list rather than a forum.  
 It seems forum software is more searchable and filterable than email lists.

If it had been my choice:  because I'd have to go to a forum every day
(and a hundred others!) while email comes to me.  I have plenty of
powerful email search and filter tools right here on my workstation.

Every time someone proposes some other medium for this sort of
communication (forum, Twitter, etc.) my first question is how can I
get that in email?  I can't think offhand of any forum software I've
used that isn't uncomfortable, inconvenient and hard to search.

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Machines should not be friendly.  Machines should be obedient.


signature.asc
Description: Digital signature


Re: Complex Maven projects - Tutorials? Books?

2014-06-13 Thread Mark H. Wood
On Fri, Jun 13, 2014 at 09:23:31AM +0930, Barrie Treloar wrote:
 On 13 June 2014 09:07, mike digioia mpd...@gmail.com wrote:
 
  So how does this book help you any more than all the detailed online Maven
  docs that exists and are updated?
 
 
 It's just another source of information.
 
 The docs don't really walk you through everything, they are mostly focused
 on a particular plugin and not on how to pull all this together.

Indeed.  One thing I really miss from the evil old mainframe days is
the manuals that gave you the big picture and the developers' view of
how they expected the tools to be used.  There were usually two books
for any product:

o  Reference Manual -- *complete* individual descriptions of each feature,
   command, and qualifier.

o  Programmer's (or User's) Guide -- fits all the pieces together and
   suggests good ways to think about the facility under discussion.

I typically had both open when working on anything nontrivial.  It's
essential to have both the macro and the micro view of a tool, to use
it well.

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Machines should not be friendly.  Machines should be obedient.


signature.asc
Description: Digital signature


Re: Use native tar to unpack? good/bad idea?

2014-06-03 Thread Mark H. Wood
On Mon, Jun 02, 2014 at 04:15:15PM -0700, Dan Tran wrote:
 BTW,
 
 I never have good luck with plexus-archiver, and always ended up to
 implement my own 'unpack' using native tar to speed up the build and also
 reserve the softlinks in the archive.

If plexus-archiver needs work, maybe they would accept a patch.  Then
everybody wins.

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Machines should not be friendly.  Machines should be obedient.


signature.asc
Description: Digital signature


Re: Hot deployment using jetty 8 and maven

2014-04-10 Thread Mark H. Wood
On Thu, Apr 10, 2014 at 09:24:31AM -0500, Wayne Fay wrote:
  However, it would be great to execute mvn process-classes automatically
  anytime maven sees there have been source files changed.
 
 This is just not a feature that Maven natively supports. You can get
 similar functionality out of your IDE. Or maybe your IDE can use an
 on save trigger to kick Maven to run process-classes?

If it was mine, I'd check the changes into an SCM, which I'd have
monitored by something like Jenkins.  I'd want all those bits anyway.

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Machines should not be friendly.  Machines should be obedient.


signature.asc
Description: Digital signature


Re: Why is dependency:analyze lying to me?

2014-02-12 Thread Mark H. Wood
On Wed, Feb 12, 2014 at 08:11:29AM +1030, Barrie Treloar wrote:
[snip]
 I think Maven is missing a scope, it needs to break up test into two
 phases; testCompile and testRuntime instead of having one scope which
 means both.
 This means that the analyze code can't tell what stuff is needed for
 tests at compile time and what is needed at runtime.

Picky terminology tweak:  I went off to check my memory because I was
*sure* that Maven has a full set of test-* phases parallel to what we
might call the main phases.  It has.  Then I came back here and saw
that what you want is parallel *scopes* [test]Compile, [test]Runtime.

Having sorted that (I hope), I think I agree with you.

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Machines should not be friendly.  Machines should be obedient.


signature.asc
Description: Digital signature


Re: New logo?

2014-01-14 Thread Mark H. Wood
On Tue, Jan 14, 2014 at 12:08:09PM +, Stephen Connolly wrote:
 Putting maven-20 in context, you get:
 
 http://people.apache.org/~stephenc/maven-logo-contest/maven-20-in-context.png

*Very* nice work, but...what does this Native Americans theme have to do
with maven?  Yes, I know, but people *will* ask.  Especially since
the answer has no connection with what Maven would do for them.

Unless I'm mistaken, the Maven landing page exists to sell Maven, not
the Apache Software Foundation.  A link to the Foundation's landing
page is quite appropriate and should be easy to find, but that's not
why people come to this page.  They come because they've heard
something about Maven and want to know more, or Google gave them a
link when they asked something about software project management or
build tools, or because some other project had a built with Maven
link on its page and they're curious.  They'll probably be best
pleased if, at a glance, they can get some notion of what Maven does.

Possibly that message simply isn't very visual, and the best one can
do is to select a (formerly) meaningless but unique mascot or abstract
symbol.  Possibly there is an image that will make people think, yes!
that is Maven in action.

I'm really not that sort of visual thinker, but images of structure,
assembly, or gathering seem appropriate.  The best(?) I've been able
to imagine is a funnel with classes falling in and a package falling
out.  Or perhaps an assembly line.  (What do classes look like? beats
me.)  Maybe you can do something with the Reactor:  skinny pipes bring
things in, one big pipe lets the product out.

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Machines should not be friendly.  Machines should be obedient.


signature.asc
Description: Digital signature


Re: New logo?

2014-01-14 Thread Mark H. Wood
On Tue, Jan 14, 2014 at 12:45:18PM +, Adam Retter wrote:
 Does the Apache Foundation of any of its members have any money to
 engage a graphical designer? I was just thinking that after the
 voting, you could get a designer to do a proper job on the logo
 (perhaps producing some variations of the voted on design which could
 again be voted on further?). I do not mean any offence to everyone
 that submitted designs, but clearly we are not professional artists
 ;-)

Actually I think the artwork is quite good.  It's the visual language
itself that seems uncertain.  Which points even more strongly to the
need for a graphic designer.

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Machines should not be friendly.  Machines should be obedient.


signature.asc
Description: Digital signature


Re: New logo?

2014-01-09 Thread Mark H. Wood
All rather nicely done.  FWIW I'm partial to #5.

 http://people.apache.org/~stephenc/maven-logo-contest/maven-5.png

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Machines should not be friendly.  Machines should be obedient.


signature.asc
Description: Digital signature


Re: New logo?

2014-01-09 Thread Mark H. Wood
On Thu, Jan 02, 2014 at 03:53:46PM -0500, Jeffrey E Care wrote:
 Stephen Connolly stephen.alan.conno...@gmail.com wrote on 01/02/2014 
 02:06:55 PM:
 
  I personally liked the anteater idea... We can ask the Ant PMC if we 
 have a
  winning logo that we are worried about
 
 While some Ant folks might appreciate the tongue-in-cheek nature of an 
 anteater logo, I think it be seen by many more folks as unnecessarily 
 antagonistic. 

Perhaps.  I think it's a cute idea, but I feel that Maven and Ant have
different jobs, so for many it might be puzzling instead.  I think
there'd be quite a number of questions why's your mascot an anteater,
of all things?

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Machines should not be friendly.  Machines should be obedient.


signature.asc
Description: Digital signature


Re: New logo?

2014-01-09 Thread Mark H. Wood
On Thu, Jan 09, 2014 at 09:32:54AM -0600, Curtis Rueden wrote:
 All of the logos are OK, but none of them really symbolize anything in
 particular about Maven. IMO the best logos encapsulate the purpose of the
 project somehow, either overtly, covertly or both.

Good point.  I was associating with the name Maven, looking for a
symbol of in-depth understanding of a specialized field.

http://en.wiktionary.org/wiki/maven

So, what does Maven do?  It passes unique source and object code
inputs through a standardized process, guided by an expression of the
relationships among those inputs, to assemble a well-specified
configuration of runnable code.  What does that look like?

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Machines should not be friendly.  Machines should be obedient.


signature.asc
Description: Digital signature


Re: Changing JDK version without specifying maven-compiler-plugin version

2013-11-26 Thread Mark H. Wood
On Tue, Nov 26, 2013 at 05:05:40PM +0100, Malte Skoruppa wrote:
[snip]
 I am not so intent on having the 'latest-and-greatest' plugin as you 
 might think. It's more that I would like to stick to the default 
 configuration unless I have good reason not to do so. It's really just 
 that I find it kind of weird that if I want to deviate from one default 
 (the Java version), I also *have* to deviate from another (the plugin 
 version).

Think of it this way: org.apache.maven.plugins:maven-compiler-plugin
does not refer to a single plugin, but to the whole family of versions
of that plugin.  It's an incomplete set of coordinates, specifying a
line rather than a point.  The weirdness is inevitable, because in
order to configure the plugin you have to specify which plugin you are
configuring.  It's a minor pain in the neck, flowing from the way
Maven needs to work.  I dislike it too, but one gets used to it.
Maven deals in artifacts, not lines of development.

I'm coming around to the position that grooming POMs to update the
versions of all specified dependencies (packages *and* plugins) is
just one of the things one does right after release, when beginning
the next development cycle.  dependency:analyze is a good source of
suggestions.  That way you regularly catch up with recent developments
elsewhere, and can still pin down versions within a development cycle.
Within each cycle I'd tend to hold versions stable unless someone
releases an update that I really need.

BTW, speaking of weirdness: generated POMs *do* specify the version of
m-compiler-p, by *not* specifying it.  There's a built-in set of
defaults(1) buried inside Maven, which specify much of the
not-otherwise-specified.  Someone already mentioned this, but it may
have sped by unnoticed.

---
1.  All together, now:  convention over configuration!

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Machines should not be friendly.  Machines should be obedient.


signature.asc
Description: Digital signature


Re: System-wide, read-only repository

2013-10-30 Thread Mark H. Wood
On Wed, Oct 30, 2013 at 10:18:49AM +0100, Matthieu Moy wrote:
 Barrie Treloar baerr...@gmail.com writes:
 
  On 29 October 2013 23:56, Lyons, Roy roy.ly...@cmegroup.com wrote:
  Unfortunately, you will always have something in $HOME/.m2/repository
  because that's how maven works.
 
  Can I suggest perhaps that you use zfs for deduplication in /home?
  Otherwise, you can add something like
 
  Or give them more disk space - isn't this stuff meant to be cheap 
  now-a-days?
 
 Local disk space is cheap. NFS-shared, RAID  backed-up disk space, less
 so. I can live with a few Gb of waste, but I was just wondering whether
 we could do any better.

Disks are cheap.  But not free.  Running the procurement gantlet is
not free.  Downtime to install new storage is not free.  Lord knows
that additional backup tapes are not free, not even cheap.  Longer
backup windows are not free.  Throwing storage at the problem is often
a reasonable choice, but it's also reasonable to always ask if there
isn't a better way.

Sorry, I've been aching to write that for a long time

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Machines should not be friendly.  Machines should be obedient.


signature.asc
Description: Digital signature


Re: Trying to understand how maven finds source

2013-10-25 Thread Mark H. Wood
On Thu, Oct 24, 2013 at 10:34:39PM -0400, Ron Wheeler wrote:
 Eclipse/STS from the Spring guys (VMWare now) is an Eclipse IDE with all 
 of the plug-ins that you need to develop Java (and more).
 
 We started with pure Eclipse but spent so much time fixing up the 
 plug-ins with each new version that it affected our productivity.
 Once we found the Spring Tool Suite (Eclipse with all the right 
 plug-ins) we were in good shape - 1 download and we were back up and 
 coding in a few minutes.
 
 I have never used NetBeans so I have no comment about how it helps with 
 the original problem(source code location).

NetBeans helps quite a lot.  I've been shamefully spoiled by it and
tend to use it even just to browse code when I have no intent to
develop it.  I've used Eclipse (not STS though) and was happy to see
the back of it after losing too much time to plugins-disease.

I hear that IntelliJ is good with Maven projects too.

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Machines should not be friendly.  Machines should be obedient.


signature.asc
Description: Digital signature


Re: Plugin name is idfc-maven-proguard-plugin (was re: introducing maven-proguard-plugin)

2013-07-16 Thread Mark H. Wood
On Mon, Jul 15, 2013 at 11:36:19PM -0400, Richard Sand wrote:
[snip]
 The plugin API seems pretty straightforward to use. I think the #1 priority
 should be filling in all of the javadocs so that developers can understand
 the API. Most of the javadocs had no comments so it was problematic to
 figure out the right techniques to do things in the proper maven way. I
 think with this API its easy for plugin developers to go astray and perform
 activities that have negative downstream consequences to other plugins. 

I'm sure that patches would be welcome, if you care to jot down what
you have learned as a start on improving the javadocs.

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Machines should not be friendly.  Machines should be obedient.


signature.asc
Description: Digital signature


Re: Is it necessary to learn XML in order to lear Maven?

2013-06-28 Thread Mark H. Wood
On Thu, Jun 27, 2013 at 03:35:26PM +, cody.a.fy...@wellsfargo.com wrote:
 I would argue that to be a competent, modern computer programmer, you DO need 
 to learn XML.
 
 There are many powerful things that can be accomplished once you have that 
 knowledge.

I tend to agree, but I think that learn XML is rather imprecise.

You can learn to read XML in about five minutes, and to write it in
ten.  It's really, really simple.  It also doesn't get you far at all.

What people *do with XML* is often highly complex, abstruse, and
intellectually challenging.  A Maven POM, expressed in XML (which it
always is, externally) can be daunting.  XSD, XSL-T, and a thousand
and one other *applications of* XML each have their own learning
curves, some rather steep and bumpy.

So I'd say, yes, you should learn XML if you want to use Maven, but
that's easy.  Learning Maven will require much more effort, but that
effort will be amply rewarded.

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Machines should not be friendly.  Machines should be obedient.


signature.asc
Description: Digital signature


Re: Maven Profile for distincts web.xml

2013-05-28 Thread Mark H. Wood
On Mon, May 27, 2013 at 02:20:15PM -0300, Alberto Ivo wrote:
 The differences between the web.xml is
 
 context-param
 param-namejavax.faces.PROJECT_STAGE/param-name
  param-value*Development | Production*/param-value
 /context-param

Shouldn't that sort of information be supplied by the container rather
than baked into the app?

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Machines should not be friendly.  Machines should be obedient.


signature.asc
Description: Digital signature


Re: Maven Profile for distincts web.xml

2013-05-28 Thread Mark H. Wood
On Tue, May 28, 2013 at 02:49:26PM +0100, Stephen Connolly wrote:
 On 28 May 2013 14:37, Mark H. Wood mw...@iupui.edu wrote:
 
  On Mon, May 27, 2013 at 02:20:15PM -0300, Alberto Ivo wrote:
   The differences between the web.xml is
  
   context-param
   param-namejavax.faces.PROJECT_STAGE/param-name
param-value*Development | Production*/param-value
   /context-param
 
  Shouldn't that sort of information be supplied by the container rather
  than baked into the app?
 
 
 One would think so, but sadly that is not the way the spec was written.
 
 According to http://css.dzone.com/news/jsf-20-new-feature-preview-ser
 
 You can use a JNDI variable to override: java:comp/env/jsf/ProjectStage
 
 So if that works for the JSF impl you are using you should be able to
 configure the container so that all deployed apps see the
 java:comp/env/jsf/ProjectStage value you want them to see... thereby
 removing the problem entirely.
 
 Older JSF 2 implementations may have issues though... but should be fine on
 all JSF 2.1+ etc

I suppose it depends on your container.  In Tomcat I'd write an
external context descriptor something like:

  Context ...
Parameter name='javax.faces.PROJECT_STAGE'
   value='Development'
   override='false'/
  /Context

and omit the context-param from web.xml, letting the value default
to Production.

I think I recall being able to do something similar in Jetty.

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Machines should not be friendly.  Machines should be obedient.


signature.asc
Description: Digital signature


Is there a way to specify encoding of files configured in filters?

2013-04-26 Thread Mark H. Wood
We have sites in countries where the local language uses non-8859-1
characters, and the local people would like to write interpolated
externalized property values in UTF-8.  Understandably, they would
rather not resort to nearly-unintelligible escape sequences.  Is there
some way to get buildfilters or a buildfiltersfilter to use
UTF-8 encoding when reading a serialized Properties?

Our projects have long used
project.build.sourceEncodingUTF-8/project.build.sourceEncoding but
it has no effect on this.  It appears that this only applies to files
*read by Maven*, and that Maven understandably uses
java.util.Properties.load(), which takes no notice of POM values, to
read .properties files.

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Machines should not be friendly.  Machines should be obedient.


signature.asc
Description: Digital signature


Re: [mojo-dev] Re: Build-Helper-Maven-Plugin / Build-MetaData-Maven-Plugin

2013-04-16 Thread Mark H. Wood
On Mon, Apr 15, 2013 at 09:48:35PM +0100, Stephen Connolly wrote:
[snip]
 The reality is that the true goal of the Maven Way™ is that your pom should
 be as close as possible to the following
 
 project
   groupId.../groupId
   artifactId.../artifactId
   version.../version
   packaging.../packaging
   dependencies
 ...
   /dependencies
 /project
 
 Every line you add to the above is moving further from the Maven Way™

Brilliant.  The above describes what the project *is*.  The more you
have to tinker with plugins and the like, the more likely you are
describing *how the project should be built*.  But if I have
understood the situation, Maven exists to figure out *how* after you
have told it *what*.

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Machines should not be friendly.  Machines should be obedient.


signature.asc
Description: Digital signature


Re: Unpacking jars into target/classes

2013-03-15 Thread Mark H. Wood
On Thu, Mar 14, 2013 at 09:44:14PM -0400, Ron Wheeler wrote:
 How do you write documentation for something that you have never used 
 and have no idea what the options are?

Exactly!

You grumble a bit, pull down the source, and start reading.  This is
horrible and exhausting and often underappreciated, but it's the only
thing that works, it the author won't share his thoughts.

 I have worked on documentation for some projects but I can only go so 
 far without the active involvement of the author.
 The biggest thing that I can bring is my ignorance which makes me read 
 what is there and ask good questions about WTF does it mean and what 
 needs to be said so that someone who did not write it can use it.
 It does require access to someone who can answer those questions.

Hear, hear.  I'm sure that a large part of technical writing is spent
interviewing (not to mention identifying, finding, chasing and
hounding) the people who know that which must be written down.

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
There's an app for that:  your browser


pgpxZVJ735H1I.pgp
Description: PGP signature


Re: Deployment

2013-03-04 Thread Mark H. Wood
On Fri, Mar 01, 2013 at 07:40:30PM -0800, Eric Kolotyluk wrote:
 The part I was not too happy with was my service.jar was this ginormous 
 uber-jar created with the Assembly plug-in. Sure, everything worked 
 perfectly well, and was simple, but when I say ginormous I am very 
 serious. If I had had the time, the next thing I was going to do was 
 have my installer install Maven, and then bootstrap the rest of the 
 pieces by just choosing the right artifact names and versions given the 
 system environment I found. Basically, replace the uber-jar with a 
 common system-wide repository of jars, and configure the classpath 
 appropriately.
 
 I am just thinking out loud and trying to get ideas from people.

If the main thing you want from Maven in this case is dependency
resolution, consider something like Ivy, which specializes in such.

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
There's an app for that:  your browser


pgpQk5X2K5tNR.pgp
Description: PGP signature


How to get Maven's own version into an artifact?

2013-01-18 Thread Mark H. Wood
There's a desire for our product to be able to say, at runtime, what
version of Maven was used to build it.  Somewhat surprisingly I wasn't
able to find a predefined property holding this information.

There *is* a class one can instantiate which offers a method to return
that information, but before I go writing up a whole plugin just for
this little thing, I thought I should ask if there's an easier way
that I missed.

Ultimately I will likely filter the value into a Properties-formatted
file to be loaded at need.

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
There's an app for that:  your browser


pgpKqN7rEoTtB.pgp
Description: PGP signature


Re: maven-nar-plugin (version?)

2013-01-16 Thread Mark H. Wood
On Tue, Jan 15, 2013 at 09:22:33PM -0500, Benson Margulies wrote:
 Nar is not a product of the Maven PMC, and so will never be an
 official org.apache.maven.plugin anything.

Right, but whose product is it today and how do we find the latest
official release?

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
There's an app for that:  your browser


pgptT8ujHnAFV.pgp
Description: PGP signature


Re: Site plugin to document properties in the pom?

2013-01-15 Thread Mark H. Wood
On Mon, Jan 14, 2013 at 10:26:56PM +0200, Graham Leggett wrote:
 On 14 Jan 2013, at 10:02 PM, Mirko Friedenhagen mfriedenha...@gmail.com 
 wrote:
 
  I once was successful with referencing injected properties in velocity
  by using the get method. Maybe something like:
  ${project.properties.get(tomcat.port.http.confluence43.live)}
  will work?
 
 Alas, no.
 
 The idea is that the properties in the pom and the properties published to 
 the site are always in sync, even after the current crop of architects have 
 moved on from the project. If you have to add a property in two steps, there 
 is no way the project will stay in sync.

Yeah, he's asking for a way to get the site plugin to ask the POM for
a list of all defined properties, whatever they may be today, so that
the plugin can enumerate them (with their values I suppose) in its
report *without knowing their names in advance*.

The value of project.properties seems to be a java.util.Properties, so
there may be some way to get at its propertyNames() method, or the
keys() keySet() etc. methods it inherits from Hashtable, but you will
probably have to write your own report plugin to make use of any of
them.

org.codehaus.mojo:properties-maven-plugin seems to know how to
enumerate properties, but it doesn't do reporting.  It could perhaps
be studied as a model.

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
There's an app for that:  your browser


smime.p7s
Description: S/MIME cryptographic signature


Re: Match syntax?

2012-11-30 Thread Mark H. Wood
On Thu, Nov 29, 2012 at 07:12:37PM +0100, Robert Scholte wrote:
 These patterns were introduced with Ant.

Well, glob matching goes back at least as far as Unix v1

  http://en.wikipedia.org/wiki/Glob_%28programming%29

Ant improved on this by adding the double-asterisk that matches any
depth of hierarchy levels (treating a level as an atom, not a string).

They're clearly not REs:  *.something viewed as an RE begins with a
quantifier which has nothing to quantify.

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
I don't do doorbusters.


pgpVhzB81DDVS.pgp
Description: PGP signature


Re: Create text file in maven?

2012-11-28 Thread Mark H. Wood
On Wed, Nov 28, 2012 at 10:13:47AM -0600, Steve Cohen wrote:
 Is there a way in maven to echo some text provided via a property in 
 pom.xml into a text file at a given location?

Perhaps [modest cough] http://mypage.iu.edu/~mwood/FileWeaver/

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
I don't do doorbusters.


pgp2P2G4XAmxW.pgp
Description: PGP signature


Re: Request For Enhancements

2012-08-17 Thread Mark H. Wood
May I suggest that the issue tracking system:

  http://jira.codehaus.org/browse/MNG

would be the best place to submit each individual issue.

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Asking whether markets are efficient is like asking whether people are smart.


pgp7FmpNxTK9W.pgp
Description: PGP signature


[ANN] FileWeaver Maven Plugin 1.0 Released

2012-05-14 Thread Mark H. Wood
I'd like to announce the release of FileWeaver 1.0.

FileWeaver is a Maven plugin for assembling files from snippets.
Multiple external files and literal segments can be combined, with
token substitution.

Why?  I needed to append chunks of settings to a lengthy configuration
file for testing, so that I didn't have to carry around two slightly
different versions and keep them in sync.

Homepage:

  http://mypage.iu.edu/~mwood/FileWeaver/index.html

Coordinates:

  plugin
groupIdedu.iu.ul.maven.plugins/groupId
artifactIdfileweaver/artifactId
version1.0/version
  /plugin

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Asking whether markets are efficient is like asking whether people are smart.


pgpacFSWVveLo.pgp
Description: PGP signature


Re: The Maven Way

2012-04-19 Thread Mark H. Wood
 different
directories.  (There are good reasons for that.)

I'm being silly to make a point: 'zero configuration' isn't possible.
You need to configure your project even to start, and you need to know
some rather nontrivial and non-obvious stuff about Maven to do that
properly.  A complete deployable can't be done without more
configuration, some of it a bit abstruse.  This is not something
lacking in Maven; it must be that way to do its job: modelling and
orchestrating complex processes with many necessary parameters whose
values vary unpredictably with each application.

Some of this configuration can't be done until you know your local
policies, which means someone has to *create* local policies.

Maven strives heroically to simplify all this for us but, as Einstein
observed, there are limits to how much you can usefully simplify a
model.  Maven does very well, but it can't do everything for us.  It's
not possible to have concrete conventions for some aspects of a
project, since there is more than one possible project.

As long as I'm ranting: the Project Object Model is quite complex, of
necessity.  The Conventions represent a view over that model which
obscures many aspects of its complexity.  You often don't have to
write anything to control those aspects, but you do always have to
think about them.

Convention is simply built-in configuration which was agreed on by
some people who (we hope and believe) knew what they were doing and
which is generally accepted in the community.  Choosing not to
configure something is choosing to configure it the way Maven comes
out of the box.  Which means one needs to understand how Maven is
configured out of the box in order to make good choices.  Maven's
conventional configuration is pretty good and fairly general, but
discovering all of the bits you have to know can be challenging and,
until you know what bits to look for, Maven's behavior can be
puzzling.

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Asking whether markets are efficient is like asking whether people are smart.


pgprH73SeCX1a.pgp
Description: PGP signature


Re: The Maven Way

2012-04-19 Thread Mark H. Wood
On Thu, Apr 19, 2012 at 05:49:32PM +0200, martin.eisengardt wrote:
[snip]
 Please do think of the target audience before planning this type of
 documentation section. And do think of the way they are usually learning
 things. The maven way won't be a site full of plain explanations and
 documentations. It is focused on newbies and focused on teach them the
 right way. Some things are not mentioned and some things are not explained
 but linked to more detailed documents.
[good advice snipped]

Yes.  I would suggest that the Maven Way won't actually say much
about doing any specific thing with Maven, but will focus more on good
ways to think about and organize what you want to achieve, which map
well into Maven's capabilities and assumptions oops I mean
conventions.

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Asking whether markets are efficient is like asking whether people are smart.


pgpQk07W7D28n.pgp
Description: PGP signature


Re: The Maven Way

2012-04-18 Thread Mark H. Wood
On Tue, Apr 17, 2012 at 02:40:53PM -0400, Thiessen, Todd (Todd) wrote:
 Good read.
 
 Documentation can be much better, but I suppose it is up to us as community 
 members to make that happen. Maven isn't owned by anyone.  The guys at 
 Sonatype have done a good job of posting various blogs.  If anyone has the 
 time and desire I am sure she/he could pull many of these various tid bits of 
 good practices into one coherent doc.
 
 I think it says something that it has not been done yet.  While everyone says 
 it would be great to have, clearly no one has felt strongly enough about it 
 (yet) to make it happen.  It is more of a very nice to have than a hard and 
 fast requirement.

Or, perhaps no one who feels strongly about it also feels he
understands it well enough to write something worth reading.  I could
write reams of misleading rubbish but what purpose would that serve?

I've written documentation for other people's code.  It's exhausting,
incredibly time-consuming, and often unsatisfactory.  The whole reason
I wanted documentation was because I didn't understand the product --
if I were in a position to document it well, I wouldn't need the
documentation so badly!

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Asking whether markets are efficient is like asking whether people are smart.


pgpvIm8dwK3Dy.pgp
Description: PGP signature


Re: The Maven Way

2012-04-17 Thread Mark H. Wood
On Tue, Apr 17, 2012 at 07:12:26AM -0700, Eric Kolotyluk wrote:
 I also recommend taking the Sonatype training courses - especially if 
 you are a software architect.
 
 There is a lot to be said when you can ask question as the instructor is 
 going over the material.
 
 However, you are right, if someone were to write a book called the The 
 Maven Way in the style you suggest, I would certainly be interested in 
 buying a copy.

You are not alone in that.  Especially since the most valuable single
bit of advice one can give a new Maven user is:  if you don't do
things Maven's way, Maven will fight you and Maven will win.

People extol the virtues of convention over configuration, but where
is the compact definitive specification of The Conventions?

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
What is obvious to A may be not so obvious to B and downright
ridiculous to C. -- Asimov


pgpJVZfMzjjAu.pgp
Description: PGP signature


Re: Uploading external libraries to the central repository without being the owner

2012-04-03 Thread Mark H. Wood
https://docs.sonatype.org/display/Repository/Uploading+3rd-party+Artifacts+to+The+Central+Repository

But I agree that the best outcome would be to convince the owners of
the code to publish it to Central themselves and maintain it there.

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Asking whether markets are efficient is like asking whether people are smart.


pgpFs75lLHzC1.pgp
Description: PGP signature


Re: using build profiles for WAR plugin

2012-03-02 Thread Mark H. Wood
On Thu, Mar 01, 2012 at 11:16:34AM -0800, offbyone wrote:
 Ok, I hear you, profiles are evil.  BUT I still don't understand the
 alternative so let me give a specific and tangible example and maybe you can
 explain a specific alternative.
 
 I am currently deploying my product in a tomcat/linux environment as a war
 file.  My webapp is driven by a set of spring configuration files using the
 Spring context loader.  For example, one of those spring configuration files
 is called LookAndFeel.xml.  It sets attributes like colors of the user
 interface.  I love using this type of configuration driven design because it
 lets me swap out the entire look and feel just by changing a config file.
 
 There are many deployments of my application on different systems and each
 one has a different look and feel configuration file.  So, I was planning to
 have a different maven profile for each deployment and have the profile
 automatically push the correct LookAndFeel.xml into the war archive.
 
 So specifically how do I accomplish this this in maven without using
 profiles?  

Better you don't.

Should I assume that LookAndFeel.xml is something that you design for
the customer, rather than (as I first thought) something the customer
is supposed to customize on-site?  Then the problem is that you are
using Maven as a packaging tool.  That's not what it is; it's a build
tool.  Packaging is a different stage.

You could keep a copy of deployment X's LookAndFeel with your other
records for deployment X, or keep them all in one directory.  Yank
the custom values out of a database, or write a wizard to step someone
through the customization process, and create a LookAndFeel on the fly
with e.g. XSL-T when you are packaging your generic Maven-built
artifacts for deployment X.

The point is that customization is not part of the product; it's part
of the deployment.  Maven builds your product.  You need something
else for deployment.

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
When the only tool you have is a hammer, every problem looks like a nail.
  -- Maslow


pgpVz4vqPnc8W.pgp
Description: PGP signature


Re: maven-plugin-tools-ant custom parameter

2012-01-18 Thread Mark H. Wood
On Tue, Jan 17, 2012 at 10:43:10PM +0100, Robert Scholte wrote:
 Hi Max,
 
 Don't confuse a mojo with a pojo.
 The Mojo reflects the actual goal, supports injection, etc, etc.
 A pojo is just that plain old java object: private fields with their  
 getters and setters
 Only for mojo's the @parameters can be used.
 Such field can be of a lot of types: String, primitive, pojo, array or  
 List of one of these types (as long as Plexus can transform it)
 The @parameter on the name of the person won't work.

It would be nice if the rules were documented somewhere.

 I strongly advice you to first read the 5 minutes[1] and 30 minutes[2]  
 tutorials.

I wish him luck.  They leave a lot out.  At least, I *think* they do,
because I had a lot of questions that don't seem to be answered
anywhere.  I went digging in the code, wound up deep inside Plexus,
submitted a documentation patch for the bits I managed to understand,
but still felt no certainty.

So what *are* we supposed to do if we want structured parameters?  And
where should I have read that?

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Asking whether markets are efficient is like asking whether people are smart.


pgpPbc6RUrz87.pgp
Description: PGP signature


Re: Howto access project version programmatically within application

2012-01-11 Thread Mark H. Wood
On Wed, Jan 11, 2012 at 09:07:29AM -0600, Steve Cohen wrote:
 It appears that this entire class and the interface it is based on are 
 deprecated, in favor of org.apache.maven.rtinfo.RuntimeInformation and 
 org.apache.maven.rtinfo.internal.DefaultRuntimeInformation.
 
 But this non-deprecated version of the interface/impl REMOVE the 
 getApplicationVersion() method.
 
 What's going on here and what is the approved method for getting the 
 application version now?

What he said.

Dunno about *approved*, but in a JAR (or WAR?) in
META-INF/maven/${groupId}/${artifactId} you'll find pom.properties
which contains a 'version' property:

  $ cat pom.properties 
  #Generated by Maven
  #Mon Aug 29 13:19:24 EDT 2011
  version=1.0-SNAPSHOT
  groupId=edu.iupui.ulib.dspace
  artifactId=casAuthn

I know that at least one product deserializes this file to discover
its own version number.

One could use resource filtering to produce a customized
allAboutMe.properties explicitly, containing anything Maven knows and
is willing to provide to a filter.

But I too would like to know what the supported method is, and where
that is documented.

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Asking whether markets are efficient is like asking whether people are smart.


pgpCrDz1zpYUq.pgp
Description: PGP signature


Re: Could we delete old version jar in local repository by mvn ?

2012-01-05 Thread Mark H. Wood
On Wed, Jan 04, 2012 at 10:19:15PM +0100, Ansgar Konermann wrote:
 Am 04.01.2012 05:02, schrieb zuxiong lin:
  Append
  like:
  repository\org\springframework\spring-core
  -3.0.5.RELEASE
  -3.0.6.RELEASE
  -3.1.0.RELEASE
 
  I want to remove 3.0.5 and 3.0.6.
 
 The local maven repository is an artifact cache. Why do you want to
 remove anything from this cache? This does not reliably control what
 versions maven will use to build your project.

Because it is not a cache; it is a dumping ground for every artifact
Maven has ever fetched, whether or not that artifact will ever again
be called for.  Proper caches are limited by age, size, or both, but
the local Maven repository grows without limit.  Some people would
like to evict probably-useless artifacts from the cache and reclaim
the storage they occupy as well as the time spent rummaging through
all those directory entries.

[All together now: storage is cheap!  Storage is not free, and the
time and effort to put through a requisition, take delivery, schedule
a machine down, rip it open, install more storage, close it up, test
it, and return it to service is definitely not free and often far from
cheap.  A reasonably tidy system does more and costs less.]

That said, I think I wouldn't bother cleaning out any 3.x until 4.1
ships, or until they're at least 12 months old.  Too-aggressive cache
trimming is much more costly than no trimming at all.

Can Maven log artifact fetches and cache hits in a way that would be
useful for developing statistics on artifacts' useful lifetimes, so we
could concoct well-thought-out cache maintenance strategies?

Or maybe it would be easier to just write a script to clobber anything
with an atime more than 180 days in the past.

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Asking whether markets are efficient is like asking whether people are smart.


pgpXk18cBoBRW.pgp
Description: PGP signature


hyperlinks out of description?

2011-09-12 Thread Mark H. Wood
Is there any way to embed hyperlinks in the POM description element?  If I
put them in plain, the result is an invalid document; if I wrap them in
CDATA then the markup comes through.  Adding and using the XHTML
namespace made no difference with the plain markup.

The description seems like the right place to link to e.g. protocol
specifications and other standards.  Like: BaloneySoft FooPlex
implements aour profile/a of aRFC 1149/a.

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Asking whether markets are efficient is like asking whether people are smart.


pgpxGoyowWWJI.pgp
Description: PGP signature


Re: How to configure plugin with default values

2011-08-18 Thread Mark H. Wood
On Thu, Aug 18, 2011 at 10:40:23AM -0600, David Hoffer wrote:
 I'm creating a plugin and having trouble getting the container
 (plexus) to configure initial values.  I've started with the
 dependency plugin as a basis and see that somehow mojo parameters get
 set with default values...I assume this is happening by the container
 but what's the secret to making this work?  I've added some new mojo

http://maven.apache.org/guides/plugin/guide-java-plugin-development.html

You add a 'default-value=something' to the @parameter annotation,
and something (I'm not sure it's plexus, at least not directly) will
evaluate the string value and attempt to convert it to something
compatible with the type of the parameter field, if no value was
configured externally.

The bit that's not well documented is that you can pluck property
values such as ${project.build.directory} out of the model by writing
them in the default-value string.  Apparently this is the proper way
to discover model values and the like, though I've found nothing
authoritative yet that actually says do it this way.

 parameters following the same convention and they are null at runtime
 (running unit test).  Is there some documentation on the
 creating/wiring of plugin mojos to the container?

Some.  Not enough.  When I figure out some of the missing stuff I will
write some more.

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Asking whether markets are efficient is like asking whether people are smart.


pgpfuDT2RpVxp.pgp
Description: PGP signature


Re: When is the best phase to generate javadocs?

2011-08-09 Thread Mark H. Wood
Yes, you *could* rely on your IDE to show you the Javadoc *for the
class or method you're currently focused on*.  But then you'd miss
seeing that you forgot to write the overview, you forgot to write most
of the package comments, or that 80% of your classes and methods have
either no topic sentence, a useless one, or one that is bizarrely
formatted and unreadable.  Or the amount of material that doesn't
really say anything which would help someone not already intimately
familiar with the code.  Documentation should be generated and
reviewed regularly.

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Asking whether markets are efficient is like asking whether people are smart.


pgptFSx7Kd4SD.pgp
Description: PGP signature


Re: How can a plugin become aware of its environment (e.g. properties)?

2011-08-08 Thread Mark H. Wood
On Sat, Aug 06, 2011 at 03:08:34PM +0200, Baptiste MATHUS wrote:
 Well, you were in the right place.
 http://maven.apache.org/guides/plugin/guide-java-plugin-development.html
 What are you missing?

Any indication of what one should put into the default-value to get a
handle on the mojo's entire environment.  Any indication of what type
one will receive when doing so, so that one can go look at the API
doc.s and see what methods and attributes are available.

 As often today in programming, Maven mojo gets external property via
 dependency injection.
 
 That is, just declare your attribute with the right @parameter expression
 settings and your field will just get -DyourParam injected.

Since I'm writing a mojo to filter any available properties into a
file being built, I need an array or collection of *all* project
properties, so I need to go to the model and get what it has.

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Asking whether markets are efficient is like asking whether people are smart.


pgp7qeuEpUSU4.pgp
Description: PGP signature


Re: How can a plugin become aware of its environment (e.g. properties)?

2011-08-08 Thread Mark H. Wood
On Sat, Aug 06, 2011 at 03:11:05PM +0200, Baptiste MATHUS wrote:
 And by the way, documentation is cool.
 But even better is look for real-life example. And what's cool with
 opensource is that it's easy to find a bunch of examples from simple to very
 complex.

Just because X worked for someone sometime doesn't mean it will work
for someone else in a different environment, or that it was meant to
work that way and will continue to work.

An example could be a fluke; documentation is a promise.

Good documentation also explains *why* something works, so that you
can more readily think about similar problems in context.  It imparts
knowledge, not just a datum.

What's cool about open source is that, when the documentation is
useless and the examples are all unexplained magic, I can go read the
source and find out what's actually going on.  And then I can fix the
documentation.

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Asking whether markets are efficient is like asking whether people are smart.


pgpYnPYiREnFe.pgp
Description: PGP signature


Re: How can a plugin become aware of its environment (e.g. properties)?

2011-08-05 Thread Mark H. Wood
On Thu, Aug 04, 2011 at 04:05:10PM -0400, Mark H. Wood wrote:
 Back to topic:  I'm writing a plugin that needs access to the
 project's properties.  Nothing environmental is passed to a mojo, and
 fishing through the Javadocs for static methods that look promising
 has turned up nothing so far.  What *should* I be reading?

Well, after more hours of fishing, it looks like people are cobbling
this together by declaring a @readonly @parameter
default-value=${project} and calling getSomething() on the injected
object.  It seems to work, but is this officially documented anywhere?

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Asking whether markets are efficient is like asking whether people are smart.


pgpR2iBzAKZtv.pgp
Description: PGP signature


How can a plugin become aware of its environment (e.g. properties)?

2011-08-04 Thread Mark H. Wood
First: if I'm writing a plugin for my own use, am I a user or a
developer?  I'm not developing Maven itself and the Developer Centre
page admits of nothing in between.

Back to topic:  I'm writing a plugin that needs access to the
project's properties.  Nothing environmental is passed to a mojo, and
fishing through the Javadocs for static methods that look promising
has turned up nothing so far.  What *should* I be reading?

Lots of other questions about plugin development, that the Plugin
Developer Centre doesn't address

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Asking whether markets are efficient is like asking whether people are smart.


pgp1h9RflW4e2.pgp
Description: PGP signature


Filter files from modules during assembly?

2011-07-26 Thread Mark H. Wood
I need to build an assembly by gathering up files from sub-modules,
*and* I need to filter one of the files.  In Maven 2.2 there doesn't
seem to be any way to do both:  files can't appear inside a
moduleSet, and only file implements filter.  Am I missing something?

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Asking whether markets are efficient is like asking whether people are smart.


pgp8TDUMrJPL7.pgp
Description: PGP signature


Re: Re : m2Eclipse

2010-06-04 Thread Mark H. Wood
On Thu, Jun 03, 2010 at 02:10:51PM -0400, Greg Akins wrote:
 Turns out I missed the requirement for the m2Eclipse extras .. those
 contain the SCM integration plugins.  Looks like Subversive is
 supported by the SCM Integration.. Subclipse requires an additional
 provider.

Aha!  I've been sticking with Eclipse 3.4 for months because, when
trying to check out a Maven project set from SCM, I would get a dialog
demanding to know which SCM using a disabled droplist control.  The
list was empty, because no providers were installed.  Ugh.  It works
now, though I had to AltaVista for m2Eclipse extras to find the
separate site on which they live.

How did we miss this?

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Balance your desire for bells and whistles with the reality that only a 
little more than 2 percent of world population has broadband.
-- Ledford and Tyler, _Google Analytics 2.0_


pgpn2NTCsb7af.pgp
Description: PGP signature


Re: Central repository, bundle-create and distribution of licenses

2010-05-19 Thread Mark H. Wood
On Tue, May 18, 2010 at 07:52:48PM +0100, Bruno Harbulot wrote:
 I'm not saying that the central repo should investigate each and every 
 case to check that it's indeed true, but it should make it mandatory to 
 have a licence at least so as to avoid to put software that is 
 mistakenly unattributed (and thus often in breach of the licence).

What is the URL for the license to software which is placed in the
public domain?  If you can answer that, then yes, I'd agree that it
would be reasonable for a repo. to check that the POM lists a license
and even that the link is not broken.  What is *in* that target
document is probably beyond the scope of the present software.  If
it's a copy of Jabberwocky or Lorem Ipsum, that's the submitter's
problem.

 As a publisher of a piece of software, I did put the LICENSE.txt file in 
 my bundle linked from http://jira.codehaus.org/browse/MAVENUPLOAD-2293 
 (via the default settings of maven-repository-plugin 2.0 at the time), 
 having the expectation that it would be distributed along with the 
 artifacts in the bundle.

What led you to believe that this would happen?  If you put it into a
src/main/resources directory then it should have been packed up into
the archive, but I don't see anything which says that anything else
shall be done with it.

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Balance your desire for bells and whistles with the reality that only a 
little more than 2 percent of world population has broadband.
-- Ledford and Tyler, _Google Analytics 2.0_


pgppbMvNnITRI.pgp
Description: PGP signature


Re: I have the right version, but maven can't find it

2010-04-28 Thread Mark H. Wood
On Wed, Apr 28, 2010 at 09:55:05AM +0200, Jörg Schaible wrote:
[snip]
 but you should 
 probably ask the developers of the artifacts in question why they think they 
 need exactly those versions. Find the artifacts with dependency:tree.

Definitely ask them that.  I find that depending on a specific version
is often a sign of poor-quality code (perhaps the dependent, perhaps
the dependency, could even be both).

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Balance your desire for bells and whistles with the reality that only a 
little more than 2 percent of world population has broadband.
-- Ledford and Tyler, _Google Analytics 2.0_


pgpzkvAKU9TZU.pgp
Description: PGP signature


Re: Can Maven POM be named as POM.XML

2010-04-14 Thread Mark H. Wood
On Wed, Apr 14, 2010 at 05:11:28AM -0400, Garin Yan wrote:
 I tried again on Ubuntu Linix and found that it is case-sensitive while on
 Windows it is not. I am sorry that I had made a not all-inclusive
 conclusion.

Correct.  Most filesystem types on Unix or Linux will be
case-sensitive.  NTFS (on Windows) is case-preserving but
case-insensitive:  if you name a file cAmElCaSe it will remember the
capitalization, but will give you that file even if you ask for
camelcase or CamelCase or CAMELCASE.

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Balance your desire for bells and whistles with the reality that only a 
little more than 2 percent of world population has broadband.
-- Ledford and Tyler, _Google Analytics 2.0_


pgpzmQ2z0sqAi.pgp
Description: PGP signature


Re: Dealing with artifacts that have been moved - What to do?

2010-03-19 Thread Mark H. Wood
On Thu, Mar 18, 2010 at 04:21:35PM -0400, Justin Edelson wrote:
[snip]
 In all seriousness, you should publish this as Ron's Best Practices.

I'll second that.  If you want a Maven Best Practices document, the
surest way to get one is to start writing it.

 If you put something up on Lulu or whatever, I would read it and I would
 probably recommend it to others. There isn't enough documentation about
 Maven; I just don't think the community can produce the type of
 documentation you're describing.

Depending on what you mean by produce, I may have to disagree here.

Community input is vital to discovering which Practices are Best.  One
doesn't just sit and think until a nice neat list of BPs drops into
one's brain; one collects a *lot* of stories about what has worked and
not worked, looking for patterns.  It can't be done without the
community's data, and it may be done much more easily and quickly if
community members discuss and debate the meaning of the data as they
accumulate.

I don't mean to say that a sea of voices, all equal, will necessarily
produce a high-quality piece of scholarship.  The effort needs a good
leader with an eye for patterns, to guide discussions along promising
paths as they emerge, and to organize the resulting understanding into
a coherent whole.

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu


pgpNP5rgaj82h.pgp
Description: PGP signature


Re: Refactoring the Maven Build

2010-03-09 Thread Mark H. Wood
As good and as pervasive as Maven is, if you review build tools then you
may want to take a look at Ivy too.  I plan to.

Yes, Maven is hard to learn.  The web site doesn't quite seem to be
organized either for learning *or* for reference.  The only book I
could find when I went looking for one, _Maven:  the Definitive
Guide_, would have to be three times as thick if it were really
definitive.  Everything the new user reads praises convention over
configuration and then doesn't tell you the conventions.

Maven embodies some very definite ideas about how software should be
built.  If you try going some other way, Maven will smack your hand
over and over until you winkle out what it wants you to do.

Maven wants to be in control of things.  It downloads what it wants,
when it wants to, without asking.  It puts things where it wants to,
without telling you where they went.  You must accept this.  It is a
thing that goes down hard for many developers.

Maven is not readily discoverable.  The way to get basic help from it
is a complex formula that stretches all the way across the screen.
The usual ways of asking a tool how it works will yield either
reminders of things the newbie wasn't ready to learn, or a screenful
of seeming gibberish.

All that said, once you have scaled the learning wall (I'm maybe 40%
up) Maven will do a good job for you so long as you use it the way it
expects to be used.  I haven't given up on it.  (Oh, no!  I've
suffered enough that I won't rest until Maven cringes before my stern
gaze, whimpering, what is thy will, O my master? as a good tool
should.)

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Friends don't let friends publish revisable-form documents.


pgpvnosedEGcZ.pgp
Description: PGP signature


Curiosity: why does site plugin always re-download woodstox:wstx-asl?

2010-02-09 Thread Mark H. Wood
???  I checked my local repository and it contains wstx-asl-3.2.7.jar
and wstx-asl-3.2.7.jar.sha1, but not the maven-metadata-*.xml that I'm
accustomed to seeing.

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Friends don't let friends publish revisable-form documents.


pgpLthSflodYV.pgp
Description: PGP signature


Re: Transitive exclusions in multi-module project with Maven 2.2.1

2010-02-04 Thread Mark H. Wood
On Wed, Feb 03, 2010 at 04:50:23PM +0100, Lóránt Pintér wrote:
 I have a project called Client that depends on a side-artifact of
 project Server (actually, its RMI client classes; the artifact has the
 classifier rmi), but excludes each of Server's dependencies. I also

Shouldn't the RMI stuff be factored out as a common dependency of
Client and Server?  That's what I do with CORBA which is fairly
similar.

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Friends don't let friends publish revisable-form documents.


pgp0mkspFRTCd.pgp
Description: PGP signature


Re: Compile what can be compiled, ignore sources with errors

2010-01-29 Thread Mark H. Wood
On Fri, Jan 29, 2010 at 12:31:06PM +0100, Christoph Kutzinski wrote:
 Why do you want to do this? Why not just fix the compile errors?

Likely the same reason that compiler writers have spent so much time
studying error recovery in parsers: to discover as many errors as
possible in one iteration.  Fewer iterations, each one more
productive.

You also get a better feel for just how buggy the code is, and for
patterns of problems, by seeing everything that *doesn't* fail to
compile.  It's useful to be able to answer questions like, this is
happening all over the place -- is there a deeper problem?

Of course that has to be balanced against the fact that, when
compiling X against broken Y, you may not get a true picture of the
status of X.

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Friends don't let friends publish revisable-form documents.


pgpCFXpy2ucDp.pgp
Description: PGP signature


Re: assembly is deprecated. What to use?

2009-12-10 Thread Mark H. Wood
Thanks for pointing out my version confusion.

On Wed, Dec 09, 2009 at 04:12:29PM +0100, Jörg Schaible wrote:
 Mark H. Wood wrote at Mittwoch, 9. Dezember 2009 15:09:
  mw...@mhw ~ $ mvn --version
  CompilerOracle: exclude
  org/eclipse/core/internal/dtree/DataTreeNode.forwardDeltaWith
  Apache Maven 2.2.1 (r801777; 2009-08-06 15:16:01-0400)
  Java version: 1.6.0_17
  Java home: /opt/sun-jdk-1.6.0.17/jre
  Default locale: en_US, platform encoding: UTF-8
  OS name: linux version: 2.6.30-gentoo-r5 arch: i386 Family:
  unix
 
 There seems something else fundamentally broken with your setup, looking at 
 this strange CompilerOracle message.

Oh, that is the result of this:

  mw...@mhw ~ $ cat .hotspot_compiler 
  exclude org/eclipse/core/internal/dtree/DataTreeNode forwardDeltaWith
  mw...@mhw ~ $ 

which is required to work around a bug in the Sun compiler that is
vigorously exercised by Eclipse, leading to Eclipse crashing on
startup.  It suppresses JIT compilation of that method IIRC, and
I don't see that it would affect Maven at all.

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Friends don't let friends publish revisable-form documents.


pgp846FgbbrPx.pgp
Description: PGP signature


Re: assembly is deprecated. What to use?

2009-12-09 Thread Mark H. Wood
On Wed, Dec 09, 2009 at 07:45:52AM +1100, Brett Randall wrote:
 Yes, this one: http://jira.codehaus.org/browse/MPH-59 Describe goal says
 everything is deprecated.  Says fixed in 2.1.1.

Seems to be broken differently in 2.2:

mw...@mhw ~ $ mvn help:describe -Ddetail=true -Dplugin=assembly
CompilerOracle: exclude 
org/eclipse/core/internal/dtree/DataTreeNode.forwardDeltaWith
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'help'.
[INFO]

[INFO] Building Maven Default Project
[INFO]task-segment: [help:describe] (aggregator-style)
[INFO]

[INFO] [help:describe {execution: default-cli}]
[INFO] Plugin: 'org.apache.maven.plugins:maven-assembly-plugin:2.2-beta-4'
---
Group Id:  org.apache.maven.plugins
Artifact Id: maven-assembly-plugin
Version: 2.2-beta-4
Goal Prefix: assembly
Description:

A Maven 2 plugin to create archives of your project's sources, classes, 
dependencies etc. from flexible assembly descriptors.

[INFO]

[INFO] BUILD SUCCESSFUL
[INFO]

[INFO] Total time:  1 second
[INFO] Finished at: Wed Dec 09 09:04:13 EST 2009
[INFO] Final Memory: 4M/8M
[INFO]

mw...@mhw ~ $ mvn --version
CompilerOracle: exclude
org/eclipse/core/internal/dtree/DataTreeNode.forwardDeltaWith
Apache Maven 2.2.1 (r801777; 2009-08-06 15:16:01-0400)
Java version: 1.6.0_17
Java home: /opt/sun-jdk-1.6.0.17/jre
Default locale: en_US, platform encoding: UTF-8
OS name: linux version: 2.6.30-gentoo-r5 arch: i386 Family:
unix
mw...@mhw ~ $ 

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Friends don't let friends publish revisable-form documents.


pgp2gpGUVDDQs.pgp
Description: PGP signature


multi-module 'site-deploy' gets inter-module links wrong

2009-12-07 Thread Mark H. Wood
I'm trying to work out how to use the site plugin with a multimodule
product.  I've worked my way through how site:site creates the
modules' sites individually.  Both site:stage and site-deploy still
seem to have a problem, or I have a problem with them.

When using site-deploy, the modules' files get *deployed* properly but
whatever builds the links between them is confused.  The parent page
shows the sub-module in its navigation bar, but there is no link, same
as e.g. About when you are on the About page.  Likewise the
sub-module's navigation bar lists the parent but not as a link, as if
it were its own parent or something.

I've had the same behavior from 2.0.10 and 2.2.1.  POMs attached.

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Friends don't let friends publish revisable-form documents.


pom.xml
Description: parent POM


pom.xml
Description: sub-module POM


pgp22IRZGbKDL.pgp
Description: PGP signature


Re: multi-module 'site-deploy' gets inter-module links wrong

2009-12-07 Thread Mark H. Wood
On Mon, Dec 07, 2009 at 08:53:02PM +0100, Dennis Lundberg wrote:
 The Site Plugin uses the url element of the POM do determine relative
 links between parent/child sites. In your example both the parent and
 the child point to the same url, making the Site Plugins think that
 they are in the same place. Hence no links.

*sigh* Of course it does.  And if I leave out that bit of
Configuration (the url element) in the sub-module POM then a
Convention supplies the structure automagically.  Okay, it's
consistent and I'm unobservant.  Thanks!

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Friends don't let friends publish revisable-form documents.


pgpGsbztrHmkR.pgp
Description: PGP signature


Properties conditional on phase?

2009-07-24 Thread Mark H. Wood
I want to have a property defined only during certain phases -- I
want to make certain that it doesn't leak out into the packaging, for
example.  Is there a way to do that?

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Friends don't let friends publish revisable-form documents.


pgpGaJnO2DZZI.pgp
Description: PGP signature


Re: maven repository update.

2008-10-08 Thread Mark H. Wood
What the new user is missing is that the concept up-to-date is
overloaded and means very different things depending on whether it is
applied to a snapshot or to a release.

To make a long story short: if a released package needed repair then
the repaired version needed a new version number.  This is well known
to be good practice since long before Maven came along, even though we
all know of cases where someone got away with ignoring it.  The
correct response, upon noticing that two package release copies of equal
version number differ, is not I'd better update but this is WRONG,
sound the alarm!

The -help blurb could perhaps be improved by distinguishing between
updated snapshot and higher release version to show that the
concepts are different.  It would at least prompt some of us to
wonder, what's different about these, and maybe go find out.

As a newbie myself, I often find that the Maven documentation assumes
far too much knowledge of the celebrated conventions and contains too
few pointers to them for the uninitiated.  That's why I bought the
book.  Yes, I will try to remember to report specific cases when I see
them.

-- 
Mark H. Wood, Lead System Programmer   [EMAIL PROTECTED]
Typically when a software vendor says that a product is intuitive he
means the exact opposite.



pgpoDq4zfbsxF.pgp
Description: PGP signature


Re: Making the case for Maven to managment

2008-08-22 Thread Mark H. Wood
Nah, we can drop ideology in the bitbucket.  It's a matter of using
the tool that best does the job.

Maven is really good at representing the structure of large, complex
projects simply, and pretty good at organizing the large-scale flow of
operations involved in realizing them.  Ant is rather good at giving
you very close control of how specific tasks are carried out, when you
are willing to do a lot of writing.  Together they make a good team.
You may find that specific step-by-step processing which is difficult
to express in Maven is easily accomplished in Ant, and that structures
which are overwhelmingly wordy in Ant become concise and natural in
Maven.

So, if you need both, use both.  But use each where it helps more than
it hurts.  If you can do 90% of the task faster and with fewer
mistakes in Maven, use it for that 90%.  If the last 10% won't go in
naturally, then use Ant for the 10% -- forcing the tool is one common
source of errors and delays.

-- 
Mark H. Wood, Lead System Programmer   [EMAIL PROTECTED]
Typically when a software vendor says that a product is intuitive he
means the exact opposite.



pgpGoHZAJTjsh.pgp
Description: PGP signature