It's a bug - already in JIRA. If there is no expression on a parameter
it doesn't get configured.

BTW, there is already a castor plugin, as Jason has pointed out:
http://blogs.codehaus.org/projects/maven/archives/001176_where_to_find_maven_2x_plugins.html

Cheers,
Brett


On 9/23/05, Mohamed Talhaoui <[EMAIL PROTECTED]> wrote:
> I wrote a simple plugin that generate java code from xml using castor.
>
> I have 2 class:
>
> the Mojo:
> package com.mycompany.maven.plugins.castor;
>
> import java.io.File;
> import java.util.List;
> import java.util.logging.Logger;
>
> import org.apache.maven.plugin.AbstractMojo;
> import org.apache.maven.plugin.MojoExecutionException;
> import org.exolab.castor.builder.SourceGenerator;
>
> /**
>  * A Maven2 plugin which generates java sources from xsd files.
>  *
>  * @phase=generate-sources
>  * @goal castor2java
>  * @version $Id$
>  */
> public class Castor2JavaPlugin extends AbstractMojo {
>
>  Logger logger = Logger.getLogger("Castor2JavaPlugin");
>
>  /**
>  * @parameter
>  * @required
>  */
>  private List castorParams;
>
>  /**
>  * @parameter default-value="${project.build.directory}/generated-sources"
>  * @required
>  */
>  private String outputDirectory;
>
>
>  public void execute() throws MojoExecutionException {
>  try {
>  for (int i = 0; i < castorParams.size(); i++) {
>  CastorParam param= (CastorParam)castorParams.get(i);
>  logger.info("Processing castor file " + param.getSchema() + "...");
>  File schemaFile = new File(param.getSchema());
>  String args[] = new String[4];
>  args[0]="-i" + param.getSchema();
>  args[1]="-f";
>  args[2]="-package" + param.getPackaging();
>  args[3]="-dest" + outputDirectory;
>  SourceGenerator sourceGenerator = new SourceGenerator();
>  sourceGenerator.main(args);
>
>  }
>  } catch (Throwable ex) {
>  ex.printStackTrace();
>  throw new MojoExecutionException("exception occured, message is : " +
> ex.getMessage());
>  }
>  logger.info("End castor processing.");
>  }
>
> }
>
> and the CastorParam that holds parameters to pass to castor:
> package com.mycompany.maven.plugins.castor;
>
> public class CastorParam {
>
>  private String schema;
>  private String packaging;
>
>  public String getPackaging() {
>  return packaging;
>  }
>  public void setPackaging(String packaging) {
>  this.packaging = packaging;
>  }
>  public String getSchema() {
>  return schema;
>  }
>  public void setSchema(String schema) {
>  this.schema = schema;
>  }
> }
>
>  I have the following lugin node in my project pom:
>  <plugins>
> <plugin>
> <groupId>com.mycompany.maven.plugins</groupId>
> <artifactId>maven-castor-plugin</artifactId>
> <version>1.0-alpha-1</version>
> <executions>
> <execution>
> <goals>
> <goal>castor2java</goal>
> </goals>
> <phase>generate-sources</phase>
> <configuration>
> <castorParams>
> <castorParam implementation="com.mycompany.maven.plugins.castor.CastorParam
> ">
> <schema>schemas/eRisk/risk_request.xsd</schema>
> <packaging>com.netfinca.risk.castorxml.request</packaging>
> </castorParam>
> <castorParam implementation="com.mycompany.maven.plugins.castor.CastorParam
> ">
> <schema>schemas/eRisk/risk_response_cpronline.xsd</schema>
> <packaging>com.netfinca.risk.cpronline.castorxml</packaging>
> </castorParam>
> </castorParams>
> </configuration>
> </execution>
> </executions>
> </plugin>
> </plugins>
>
> When I run the m2 install on my project I have the following:
> [ERROR] BUILD ERROR
> [INFO]
> ----------------------------------------------------------------------------
> [INFO] Diagnosis: Error configuring plugin for execution of
> 'castor:castor2java'.
> [INFO]
> ----------------------------------------------------------------------------
> [ERROR] Cause:
> org.apache.maven.plugin.MojoExecutionException: Error configuring plugin for
> execution of 'castor:castor2java'.
>  at org.apache.maven.plugin.DefaultPluginManager.executeMojo(
> DefaultPluginManager.java:378)
>  at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(
> DefaultLifecycleExecutor.java:169)
>  at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle
> (DefaultLifecycleExecutor.java:14
> 3)
>  at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(
> DefaultLifecycleExecutor.java:129)
>  at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(
> DefaultLifecycleExecutor.java:103)
>  at org.apache.maven.DefaultMaven.processProject(DefaultMaven.java:261)
>  at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:180)
>  at org.apache.maven.cli.MavenCli.main(MavenCli.java:269)
>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>  at sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:39)
>  at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:25)
>  at java.lang.reflect.Method.invoke(Method.java:324)
>  at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:303)
>  at org.codehaus.classworlds.Launcher.launch(Launcher.java:243)
>  at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:416)
>  at org.codehaus.classworlds.Launcher.main(Launcher.java:363)
> Caused by: org.apache.maven.plugin.PluginParameterException: Invalid or
> missing parameters: [Mojo parameter [name: 'cast
> orParams'; alias: 'null']] for mojo:
> com.mycompany.maven.plugins:maven-castor-plugin:1.0-alpha-1:castor2java
>  at org.apache.maven.plugin.DefaultPluginManager.checkRequiredParameters(
> DefaultPluginManager.java:764)
>  at org.apache.maven.plugin.DefaultPluginManager.getConfiguredMojo(
> DefaultPluginManager.java:527)
>  at org.apache.maven.plugin.DefaultPluginManager.executeMojo(
> DefaultPluginManager.java:373)
>  ... 15 more
>
> I should have missed something, but what ??
>
> Thx for your help.
>
> PS: I'm using maven 2 alpha 3.
>
>

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

Reply via email to