Search in sources :

Example 6 with Source

use of org.apache.felix.scrplugin.Source in project felix by apache.

the class ClassScanner method scanSources.

/**
 * Scan all source class files for annotations and process them.
 */
public List<ClassDescription> scanSources() throws SCRDescriptorFailureException, SCRDescriptorException {
    final List<ClassDescription> result = new ArrayList<ClassDescription>();
    for (final Source src : project.getSources()) {
        if (src.getFile().getName().equals("package-info.java")) {
            log.debug("Skipping file " + src.getClassName());
            continue;
        }
        log.debug("Scanning class " + src.getClassName());
        try {
            // load the class
            final Class<?> annotatedClass = project.getClassLoader().loadClass(src.getClassName());
            this.process(annotatedClass, src, result);
        } catch (final SCRDescriptorFailureException e) {
            throw e;
        } catch (final SCRDescriptorException e) {
            throw e;
        } catch (final ClassNotFoundException e) {
            log.warn("ClassNotFoundException: " + e.getMessage());
        } catch (final NoClassDefFoundError e) {
            log.warn("NoClassDefFoundError: " + e.getMessage());
        } catch (final Throwable t) {
            throw new SCRDescriptorException("Unable to load compiled class: " + src.getClassName(), src.getFile().toString(), t);
        }
    }
    return result;
}
Also used : SCRDescriptorFailureException(org.apache.felix.scrplugin.SCRDescriptorFailureException) ArrayList(java.util.ArrayList) ClassDescription(org.apache.felix.scrplugin.description.ClassDescription) Source(org.apache.felix.scrplugin.Source) SCRDescriptorException(org.apache.felix.scrplugin.SCRDescriptorException)

Aggregations

Source (org.apache.felix.scrplugin.Source)6 File (java.io.File)5 ArrayList (java.util.ArrayList)5 DirectoryScanner (org.codehaus.plexus.util.DirectoryScanner)2 Clazz (aQute.bnd.osgi.Clazz)1 SCRDescriptorException (org.apache.felix.scrplugin.SCRDescriptorException)1 SCRDescriptorFailureException (org.apache.felix.scrplugin.SCRDescriptorFailureException)1 ClassDescription (org.apache.felix.scrplugin.description.ClassDescription)1 Resource (org.apache.tools.ant.types.Resource)1 FileResource (org.apache.tools.ant.types.resources.FileResource)1 Scanner (org.codehaus.plexus.util.Scanner)1