I'm building a Maven 2 Plugin (as a MOJO) and I have a parameter that's
a java.io.File array and I'm trying to figure out how I would create an
expression for passing this as a system property. Currently, the
parameter is configured as follows.

    /**
     * <p>
     * The list of report file paths (relative to the project root).
     * </p>
     * 
     * @parameter expression="${reportPaths}"
     * @required
     */
    private File[] reportPaths;


The parameter will get setup as I expect (an array of File instances)
when I use either of the following configurations in a POM.

                <configuration>
                    <reportPaths>
                        <reportPath>test_report_1.xml</reportPath>
                    </reportPaths>
                </configuration>

                <configuration>
                    <reportPaths>
                        <java.io.File>test_report_1.xml</java.io.File>
                    </reportPaths>
                </configuration>

How would I setup this parameter via a System Property on the command
line? I've tried a couple of things, like the following, but I get an
error about not being able to assign the entry because the input is a
String and the expected class is a File[].

mvn mygroup:myartifact:mygoal -DreportPaths=test_report_1.xml

Additionally, I've tried changing the type to an ArrayList and can setup
the parameter via the POM, but I still can't get the system property to
parse anything.

Any suggestions? Are there any documents for plugin development that are
more detailed than the Mojo API, the development mini guide and the
configuring a plugin mini guide? I've tried searching, but I haven't
found much.

Thanks.

-Nathan




-----------------------------------------
CONFIDENTIALITY NOTICE This message and any included attachments
are from Cerner Corporation and are intended only for the
addressee. The information contained in this message is
confidential and may constitute inside or non-public information
under international, federal, or state securities laws.
Unauthorized forwarding, printing, copying, distribution, or use of
such information is strictly prohibited and may be unlawful. If you
are not the addressee, please promptly delete this message and
notify the sender of the delivery error by e-mail or you may call
Cerner's corporate offices in Kansas City, Missouri, U.S.A at (+1)
(816)221-1024. -------------------------------------------


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to