@Override
    public void execute() throws BuildException {
        if (path == null)
            throw new BuildException("Path isn't defined");

        if (descriptors == null)
            throw new BuildException("Descriptors isn't defined");

        if (descriptors.getData() == null)
            throw new BuildException("No descriptor defined");

        ClassLoader oldCl = Thread.currentThread().getContextClassLoader();
        try {
            if (classpathRef != null || classpath != null) {
                org.apache.tools.ant.types.Path p = new org.apache.tools.ant.types.Path(getProject());

                if (classpathRef != null) {
                    org.apache.tools.ant.types.Reference reference = new org.apache.tools.ant.types.Reference(
                        getProject(), classpathRef);
                    p.setRefid(reference);
                }

                if (classpath != null) {
                    p.append(classpath);
                }

                ClassLoader cl = getProject().createClassLoader(oldCl, p);
                Thread.currentThread().setContextClassLoader(cl);
            }

            final List<Descriptor> data = descriptors.getData();
            for (Descriptor d : data) {
                d.applyNamespaces();
            }

            List<Javadoc> javadoc = null;
            if (javadocs != null) {
                javadoc = javadocs.getData();
            }

            final MetadataParser metadataParser = new MetadataParser();
            metadataParser.parse(path, data, javadoc, verbose);
        } catch (Throwable t) {
            throw new BuildException(t.getMessage(), t);
        } finally {
            Thread.currentThread().setContextClassLoader(oldCl);
        }
    }
@ Override public void execute ( ) throws BuildException { if ( path == null ) throw new BuildException ( "Path isn't defined" ) ; if ( descriptors == null ) throw new BuildException ( "Descriptors isn't defined" ) ; if ( descriptors . getData ( ) == null ) throw new BuildException ( "No descriptor defined" ) ; ClassLoader oldCl = Thread . currentThread ( ) . getContextClassLoader ( ) ; try { if ( classpathRef != null || classpath != null ) { org . apache . tools . ant . types . Path p = new org . apache . tools . ant . types . Path ( getProject ( ) ) ; if ( classpathRef != null ) { org . apache . tools . ant . types . Reference reference = new org . apache . tools . ant . types . Reference ( getProject ( ) , classpathRef ) ; p . setRefid ( reference ) ; } if ( classpath != null ) { p . append ( classpath ) ; } ClassLoader cl = getProject ( ) . createClassLoader ( oldCl , p ) ; Thread . currentThread ( ) . setContextClassLoader ( cl ) ; } final List < Descriptor > data = descriptors . getData ( ) ; for ( Descriptor d : data ) { d . applyNamespaces ( ) ; } List < Javadoc > javadoc = null ; if ( javadocs != null ) { javadoc = javadocs . getData ( ) ; } final MetadataParser metadataParser = new MetadataParser ( ) ; metadataParser . parse ( path , data , javadoc , verbose ) ; } catch ( Throwable t ) { throw new BuildException ( t . getMessage ( ) , t ) ; } finally { Thread . currentThread ( ) . setContextClassLoader ( oldCl ) ; } }
Execute Ant task

@throws BuildException
If an error occurs