You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by br...@apache.org on 2004/03/23 03:57:00 UTC

cvs commit: maven/src/java/org/apache/maven/plugin PluginScriptParser.java

brett       2004/03/22 18:56:59

  Modified:    src/java/org/apache/maven/plugin Tag: MAVEN-1_0-BRANCH
                        PluginScriptParser.java
  Log:
  PR: MAVEN-1161
  follow j:import tags
  
  Revision  Changes    Path
  No                   revision
  No                   revision
  1.1.4.6   +36 -2     maven/src/java/org/apache/maven/plugin/PluginScriptParser.java
  
  Index: PluginScriptParser.java
  ===================================================================
  RCS file: /home/cvs/maven/src/java/org/apache/maven/plugin/PluginScriptParser.java,v
  retrieving revision 1.1.4.5
  retrieving revision 1.1.4.6
  diff -u -r1.1.4.5 -r1.1.4.6
  --- PluginScriptParser.java	1 Mar 2004 22:36:38 -0000	1.1.4.5
  +++ PluginScriptParser.java	23 Mar 2004 02:56:59 -0000	1.1.4.6
  @@ -21,16 +21,20 @@
   import org.apache.commons.logging.Log;
   import org.apache.commons.logging.LogFactory;
   import org.xml.sax.Attributes;
  +import org.xml.sax.SAXException;
   import org.xml.sax.SAXParseException;
   import org.xml.sax.helpers.DefaultHandler;
   
  +import java.io.FileInputStream;
  +import java.io.IOException;
   import java.util.HashSet;
   import java.util.Set;
   
  +import javax.xml.parsers.ParserConfigurationException;
  +
   /**
    * Class to parse plugin XML scripts to find goals and tag libraries.
  - * @todo this is only being used for caching - instead load the plugin entirely, then cache the actual goals and hooks [RC2]
  - * @todo [RC2] not currently used - needs to be merged back in with GoalToJelyScriptHousingMapper parser
  + *
    * @author Brett Porter <a href="mailto:brett@apache.org">brett@apache.org</a>
    */
   final class PluginScriptParser extends DefaultHandler
  @@ -47,6 +51,9 @@
       /** Storage of defined dynamic tag libraries. */
       private final Set dynaTagLibDecls = new HashSet();
   
  +    /** The bound URI for jelly's core tag library. */
  +    private String jellyCoreUri = null;
  +
       /**
        * Constructor.
        */
  @@ -72,6 +79,10 @@
        */
       public void startPrefixMapping( String prefix, String uri )
       {
  +        if ( uri.equals( "jelly:core" ) )
  +        {
  +           jellyCoreUri = uri; 
  +        }
           if ( !prefix.equals( "" ) && !uri.startsWith( "jelly:" ) && !uri.startsWith( "dummy" ) && !uri.equals( "" ) )
           {
               dynaTagLibDecls.add( uri );
  @@ -89,6 +100,29 @@
        */
       public void startElement( String uri, String localName, String rawName, Attributes attributes )
       {
  +        if ( uri.equals( jellyCoreUri ) )
  +        {
  +            if ( localName.equals( "import" ) )
  +            {
  +                String scriptUri = attributes.getValue( "uri" );
  +                try 
  +                {
  +                    jellyScriptHousing.parse( handler, new FileInputStream( scriptUri ) );
  +                }
  +                catch ( SAXException e )
  +                {
  +                    log.warn( "Unable to parse URI '" + scriptUri + "' due to exception, skipping", e );
  +                }
  +                catch ( ParserConfigurationException e )
  +                {
  +                    log.warn( "Unable to parse URI '" + scriptUri + "' due to exception, skipping", e );
  +                }
  +                catch ( IOException e )
  +                {
  +                    log.warn( "Unable to read URI '" + scriptUri + "' due to exception, skipping", e );
  +                }
  +            }
  +        }
           // TODO: only honour for maven.xml
           if ( rawName.equals( "project" ) )
           {
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Re: cvs commit: maven/src/java/org/apache/maven/plugin PluginScriptParser.java

Posted by di...@multitask.com.au.
brett@apache.org wrote on 23/03/2004 01:57:00 PM:

> brett       2004/03/22 18:56:59
> 
>   Modified:    src/java/org/apache/maven/plugin Tag: MAVEN-1_0-BRANCH
>                         PluginScriptParser.java
>   Log:
>   PR: MAVEN-1161
>   follow j:import tags

The same issue might occur for include tags as well. I've not tested it.
--
dIon Gillard, Multitask Consulting