[
http://jira.codehaus.org/browse/MXMLBEANS-45?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
David J. M. Karlsen updated MXMLBEANS-45:
-----------------------------------------
Affects Version/s: 2.3.2
2.3.1
Fix Version/s: 2.3.3
Fixed in rev 9384
> "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, 2.3.1, 2.3.2
> Reporter: Kevin Stembridge
> Assignee: David J. M. Karlsen
> Fix For: 2.3.3
>
> Attachments: mxmlbeans-45.patch
>
> Original Estimate: 0 minutes
> Remaining Estimate: 0 minutes
>
> 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