Package com.thoughtworks.qdox

Examples of com.thoughtworks.qdox.JavaDocBuilder


    public void execute() throws MojoFailureException {

        boolean hasFailures = false;

        // prepare QDox and prime with the compile class path of the project
        JavaDocBuilder builder = new JavaDocBuilder();
        try {
            builder.getClassLibrary().addClassLoader(this.getCompileClassLoader());
        } catch (IOException ioe) {
            throw new MojoFailureException("Cannot prepare QDox");
        }

        // add the sources from the project
        for (Iterator i = this.project.getCompileSourceRoots().iterator(); i.hasNext();) {
            try {
                builder.addSourceTree(new File((String) i.next()));
            } catch (OutOfMemoryError oome) {
                // this may be the case for big sources and not enough VM mem
                builder = null; // drop the builder to help GC now

                // fail with some explanation
                throw new MojoFailureException(
                    "Failed analyzing source due to not enough memory, try setting Max Heap Size higher, e.g. using MAVEN_OPTS=-Xmx128m");
            }
        }

        // parse the sources and get them
        JavaSource[] javaSources = builder.getSources();
        List descriptors = new ArrayList();
        for (int i = 0; i < javaSources.length; i++) {
            JavaClass[] javaClasses = javaSources[i].getClasses();
            for (int j = 0; javaClasses != null && j < javaClasses.length; j++) {
                DocletTag tag = javaClasses[j].getTagByName(ClassDescriptor.TAG_CLASS_DESCRIPTOR);
View Full Code Here


     * @return an array of java class
     */
    @SuppressWarnings( "unchecked" )
    protected JavaClass[] discoverClasses( final PluginToolsRequest request )
    {
        JavaDocBuilder builder = new JavaDocBuilder();
        builder.setEncoding( request.getEncoding() );
       
        MavenProject project = request.getProject();

        for ( String source : (List<String>) project.getCompileSourceRoots() )
        {
            builder.addSourceTree( new File( source ) );
        }

        // TODO be more dynamic
        File generatedPlugin = new File( project.getBasedir(), "target/generated-sources/plugin" );
        if ( !project.getCompileSourceRoots().contains( generatedPlugin.getAbsolutePath() ) )
        {
            builder.addSourceTree( generatedPlugin );
        }

        return builder.getClasses();
    }
View Full Code Here

        return discoverClasses( encoding, sources );
    }

    protected Map<String, JavaClass> discoverClasses( final String encoding, List<File> sourceDirectories )
    {
        JavaDocBuilder builder = new JavaDocBuilder();
        builder.setEncoding( encoding );

        for ( File source : sourceDirectories )
        {
            builder.addSourceTree( source );
        }

        JavaClass[] javaClasses = builder.getClasses();

        if ( javaClasses == null || javaClasses.length < 1 )
        {
            return Collections.emptyMap();
        }
View Full Code Here

            throws MojoExecutionException {
        // pre-load available plugin metadata - local and dependencies
        PluginXml targetPlugin = loadPluginMetadata(m_outputDirectory);

        // select maven source directories
        JavaDocBuilder builder = new JavaDocBuilder();

        for (Iterator i = m_project.getCompileSourceRoots().iterator(); i.hasNext(); ) {
            builder.addSourceTree(new File((String) i.next()));
        }

        // scan local source for javadoc tags
        JavaSource[] javaSources = builder.getSources();

        for (int i = 0; i < javaSources.length; i++) {
            JavaClass mojoClass = javaSources[i].getClasses()[0];

            // need plugin inheritance
View Full Code Here

     * @return an array of java class
     */
    @SuppressWarnings( "unchecked" )
    protected JavaClass[] discoverClasses( final PluginToolsRequest request )
    {
        JavaDocBuilder builder = new JavaDocBuilder();
        builder.setEncoding( request.getEncoding() );
       
        MavenProject project = request.getProject();

        for ( String source : (List<String>) project.getCompileSourceRoots() )
        {
            builder.addSourceTree( new File( source ) );
        }

        // TODO be more dynamic
        File generatedPlugin = new File( project.getBasedir(), "target/generated-sources/plugin" );
        if ( !project.getCompileSourceRoots().contains( generatedPlugin.getAbsolutePath() ) )
        {
            builder.addSourceTree( generatedPlugin );
        }

        return builder.getClasses();
    }
View Full Code Here

        return discoverClasses( encoding, sources );
    }

    protected Map<String, JavaClass> discoverClasses( final String encoding, List<File> sourceDirectories )
    {
        JavaDocBuilder builder = new JavaDocBuilder();
        builder.setEncoding( encoding );

        for ( File source : sourceDirectories )
        {
            builder.addSourceTree( source );
        }

        JavaClass[] javaClasses = builder.getClasses();

        if ( javaClasses == null || javaClasses.length < 1 )
        {
            return Collections.emptyMap();
        }
View Full Code Here

    protected void createJavadocXml() throws SourceException, IOException {
        if (logger.isDebugEnabled()) {
            logger.debug("Reading Java source " + javaSource.getURI());
        }
        JavaDocBuilder builder = new JavaDocBuilder();
        builder.addSource(new BufferedReader(new InputStreamReader(javaSource.getInputStream())));

        javadocClass = builder.getClassByName(javadocClassName);
        if (javadocClass.getPackage() == null) {
            // An inner class is specified - let's find it:
            int index = javadocClassName.lastIndexOf('.');
            String containingClassName = javadocClassName.substring(0, index);
            String innerClassName = javadocClassName.substring(index + 1);
            containingJavadocClass = builder.getClassByName(containingClassName);
            javadocClass = containingJavadocClass.getInnerClassByName(innerClassName);
        }
    }
View Full Code Here

    protected void createJavadocXml() throws SourceException, IOException {
        if (logger.isDebugEnabled()) {
            logger.debug("Reading Java source " + javaSource.getURI());
        }

        JavaDocBuilder builder = new JavaDocBuilder();
        builder.addSource(new BufferedReader(new InputStreamReader(javaSource.getInputStream())));

        javadocClass = builder.getClassByName(javadocClassName);
        if (javadocClass == null) {
            // An inner class is specified - let's find it:
            int index = javadocUri.lastIndexOf('.');
            String containingClassName = javadocUri.substring(javadocUri.indexOf(':') + 1, index);
            String innerClassName = javadocUri.substring(index + 1);
            containingJavadocClass = builder.getClassByName(containingClassName);
            javadocClass = getJavadocInnerClass(containingJavadocClass, innerClassName);
        }
    }
View Full Code Here

    protected void createJavadocXml() throws SourceException, IOException {
        if (logger.isDebugEnabled()) {
            logger.debug("Reading Java source " + javaSource.getURI());
        }
       
        JavaDocBuilder builder = new JavaDocBuilder();
        builder.addSource(new BufferedReader(new InputStreamReader(javaSource.getInputStream())));
       
        javadocClass = builder.getClassByName(javadocClassName);
        if (javadocClass == null) {
            // An inner class is specified - let's find it:
            int index = javadocUri.lastIndexOf('.');
            String containingClassName = javadocUri.substring(javadocUri.indexOf(':') + 1, index);
            String innerClassName = javadocUri.substring(index + 1);
            containingJavadocClass = builder.getClassByName(containingClassName);
            javadocClass = getJavadocInnerClass(containingJavadocClass, innerClassName);
        }
    }
View Full Code Here

     * @throws EventConventionException if the EventProducer conventions are violated
     * @throws ClassNotFoundException if a required class cannot be found
     */
    public boolean scanFile(File src)
            throws IOException, EventConventionException, ClassNotFoundException {
        JavaDocBuilder builder = new JavaDocBuilder(this.tagFactory);
        builder.addSource(src);
        JavaClass[] classes = builder.getClasses();
        boolean eventProducerFound = false;
        for (int i = 0, c = classes.length; i < c; i++) {
            JavaClass clazz = classes[i];
            if (clazz.isInterface() && implementsInterface(clazz, CLASSNAME_EVENT_PRODUCER)) {
                processEventProducerInterface(clazz);
View Full Code Here

TOP

Related Classes of com.thoughtworks.qdox.JavaDocBuilder

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.