[ 
http://jira.codehaus.org/browse/MXMLBEANS-45?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ash Lux updated MXMLBEANS-45:
-----------------------------

    Attachment: mxmlbeans-45-xsdjar-it.patch

Integration test for MXMLBEANS-45.  Also added groovy validation script for 
MXMLBEANS-21.  This is test first, so hopefully the tests are actually correct. 
=)

> "Nothing to generate" error if only specifying xsdJars
> ------------------------------------------------------
>
>                 Key: MXMLBEANS-45
>                 URL: http://jira.codehaus.org/browse/MXMLBEANS-45
>             Project: Maven 2.x Xmlbeans Plugin
>          Issue Type: Bug
>    Affects Versions: 2.3.0
>            Reporter: Kevin Stembridge
>         Attachments: mxmlbeans-45-xsdjar-it.patch
>
>
> An empty jar is produced if the xmlbeans plugin configuration section only 
> contains an <xsdJars> element and no XSD source files in the project.
> For example:
> {code:xml}
> <plugin>
>   <groupId>org.codehaus.mojo</groupId>
>   <artifactId>xmlbeans-maven-plugin</artifactId>
>   <executions>
>     <execution>
>       <goals>
>         <goal>xmlbeans</goal>
>       </goals>
>     </execution>
>   </executions>
>   <inherited>true</inherited>
>   <configuration>
>     <xsdJars>
>       <xsdJar 
> implementation="java.lang.String">someGroupId:someArtifactId</xsdJar>
>     </xsdJars>
>   </configuration>
> </plugin>
> {code}
> I get the following output:
> [INFO] [xmlbeans:xmlbeans {execution: default}]
> [DEBUG] The schema Directory is 
> c:\dev\workspaces\abfo-workspace-trunk\abfo-bof-xmlbeans\src\main\xsd
> [DEBUG] Artifact count: 1
> [DEBUG] looking for artifact schemas.
> [DEBUG] resolving someGroupId:someArtifactId into a file path.
> [DEBUG] Filtering META-INF/MANIFEST.MF
> [DEBUG] Accepting assetflow.xsd
> [DEBUG] adding and extracting assetflow.xsd
> ---TRUNCATED
> [DEBUG] adding and extracting settlementinstruction.xsd
> [DEBUG] Accepting simplecash.xsd
> [DEBUG] adding and extracting simplecash.xsd
> [DEBUG] Accepting trade.xsd
> [DEBUG] adding and extracting trade.xsd
> [DEBUG] Adding trade.xsdfrom an artifact.
> [INFO] Nothing to generate.
> This logic from the {{AbstractXmlBeansPlugin.getXsdFiles}} method doesn't 
> look quite right. If {{sourceSchemas}} is null it doesn't do anything with 
> {{artifactSchemas}}.
> {code}
> /**
>      * Returns a file array of xsd files to translate to object models.
>      *
>      * @return An array of schema files to be parsed by the schema compiler.
>      * @number MXMLBEANS-21
>      */
>     public final File[] getXsdFiles() throws XmlBeansException
>     {
>         if ( xsdFiles == null )
>         {
>             File schemaDirectory = getSchemaDirectory();
>             getLog().debug( "The schema Directory is " + schemaDirectory );
>             final List schemas = new ArrayList();
>             // collect artifacts first.
>             Map artifactSchemas = getArtifactSchemas();
>             // take care of the schema directory next.
>             if ( sourceSchemas != null )
>             {
>                 File nextFile = null;
>                 for ( Iterator iterator = sourceSchemas.iterator(); 
> iterator.hasNext(); )
>                 {
>                     String schemaName = ( String ) iterator.next();
>                     nextFile = new File( schemaDirectory, schemaName );
>                     if ( nextFile.exists() )
>                     {
>                         schemas.add( nextFile );
>                     }
>                     else if ( artifactSchemas.containsKey( schemaName ) )
>                     {
>                         schemas.add( artifactSchemas.get( schemaName ) );
>                     }
>                     else
>                     {
>                         String[] fields = new String[2];
>                         fields[0] = schemaName;
>                         fields[1] = schemaDirectory.getAbsolutePath();
>                         fields[3] = ( artifactMap.isEmpty() ? "" : " or the 
> schema artifact(s)" );
>                         throw new XmlBeansException( 
> XmlBeansException.MISSING_SCHEMA_FILE, fields );
>                     }
>                 }
>             }
>             else if ( schemaDirectory.exists() )
>             {
>                 DirectoryScanner scanner = new DirectoryScanner();
>                 scanner.setBasedir( schemaDirectory );
>                 String[] includes = {"**/*.xsd"};
>                 scanner.setIncludes( includes );
>                 scanner.addDefaultExcludes();
>                 scanner.setCaseSensitive( false );
>                 scanner.scan();
>                 String[] files = scanner.getIncludedFiles();
>                 if ( files != null )
>                 {
>                     for ( int i = 0; i < files.length; i++ )
>                     {
>                         getLog().debug( "Adding " + files[i] );
>                         schemas.add( new File( schemaDirectory, files[i] ) );
>                     }
>                 }
>             }
>             xsdFiles = ( File[] ) schemas.toArray( new File[]{} );
>         }
>         return xsdFiles;
>     }
> {code}

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to