public interface JacocoClassFileDescriptor extends ClassFileDescriptor, JacocoClassDescriptor {
}public class JacocoClassScannerPlugin extends AbstractScannerPlugin<FileResource, JacocoClassFileDescriptor> {
@Override
public JacocoClassFileDescriptor scan(FileResource item, String path, Scope scope,
Scanner scanner) throws IOException {
final Store store = scanner.getContext().getStore();
final JacocoClassFileDescriptor fileDescriptor = store.create(JacocoClassFileDescriptor.class);
for (String probeName : Arrays.asList("1", "2", "3")) {
final JacocoProbe probe = store.create(JacocoProbe.class);
probe.setName(new File(path).getName().replace(".class", "") + ":" + probeName);
fileDescriptor.getProbes().add(probe);
}
return fileDescriptor;
}
} <plugin>
<groupId>com.buschmais.jqassistant</groupId>
<artifactId>jqassistant-maven-plugin</artifactId>
<version>1.3.0</version>
<executions>
<execution>
<goals>
<goal>scan</goal>
<goal>analyze</goal>
</goals>
<configuration>
<failOnSeverity>MAJOR</failOnSeverity>
<store>
<uri>bolt://localhost:7687</uri>
<username>neo4j</username>
<password>12345</password>
</store>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>de.bulla</groupId>
<artifactId>myScanner</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
</plugin><dependency>
<groupId>com.buschmais.jqassistant.core</groupId>
<artifactId>jqassistant.core.scanner</artifactId>
<version>1.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.buschmais.jqassistant.plugin</groupId>
<artifactId>jqassistant.plugin.common</artifactId>
<version>1.0.0</version>
<scope>provided</scope>
</dependency>
Not sure if that's best practise
[WARNING] Cannot scan class '/de/bulla/studentenverwaltung/student/service/StudentService.class'.
com.buschmais.xo.api.XOException: Invalid access to an un-managed instance.
at com.buschmais.xo.impl.proxy.InstanceInvocationHandler.invoke(InstanceInvocationHandler.java:21)
at com.sun.proxy.$Proxy96.getDelegate(Unknown Source)
at com.buschmais.xo.impl.AbstractInstanceManager.isInstance(AbstractInstanceManager.java:162)
at com.buschmais.xo.impl.proxy.entity.object.EqualsMethod.invoke(EqualsMethod.java:22)
at com.buschmais.xo.impl.proxy.AbstractProxyMethodService.invoke(AbstractProxyMethodService.java:26)
at com.buschmais.xo.impl.proxy.InstanceInvocationHandler.invoke(InstanceInvocationHandler.java:23)
at com.sun.proxy.$Proxy88.equals(Unknown Source)
at com.buschmais.jqassistant.plugin.java.api.scanner.TypeCache$CachedType.equals(TypeCache.java:142)
at com.buschmais.jqassistant.plugin.java.impl.scanner.visitor.VisitorHelper.resolveType(VisitorHelper.java:47)
at com.buschmais.jqassistant.plugin.java.impl.scanner.visitor.ClassVisitor.visitField(ClassVisitor.java:80)
at com.buschmais.jqassistant.plugin.java.impl.scanner.visitor.ClassVisitor.visitField(ClassVisitor.java:16)
at org.objectweb.asm.ClassReader.a(Unknown Source)
at org.objectweb.asm.ClassReader.accept(Unknown Source)
at org.objectweb.asm.ClassReader.accept(Unknown Source)
at com.buschmais.jqassistant.plugin.java.impl.scanner.ClassFileScannerPlugin$1.execute(ClassFileScannerPlugin.java:66)
at com.buschmais.jqassistant.plugin.java.impl.scanner.ClassFileScannerPlugin$1.execute(ClassFileScannerPlugin.java:63)
at com.buschmais.jqassistant.plugin.common.api.scanner.MD5DigestDelegate.digest(MD5DigestDelegate.java:79)
at com.buschmais.jqassistant.plugin.java.impl.scanner.ClassFileScannerPlugin.scan(ClassFileScannerPlugin.java:63)
at com.buschmais.jqassistant.plugin.java.impl.scanner.ClassFileScannerPlugin.scan(ClassFileScannerPlugin.java:27)
at com.buschmais.jqassistant.core.scanner.impl.ScannerImpl.scan(ScannerImpl.java:82)
at com.buschmais.jqassistant.core.scanner.impl.ScannerImpl.scan(ScannerImpl.java:59)
at com.buschmais.jqassistant.plugin.common.api.scanner.AbstractContainerScannerPlugin.scan(AbstractContainerScannerPlugin.java:50)
at com.buschmais.jqassistant.plugin.common.api.scanner.AbstractContainerScannerPlugin.scan(AbstractContainerScannerPlugin.java:29)
at com.buschmais.jqassistant.core.scanner.impl.ScannerImpl.scan(ScannerImpl.java:82)
at com.buschmais.jqassistant.core.scanner.impl.ScannerImpl.scan(ScannerImpl.java:59)
at com.buschmais.jqassistant.plugin.maven3.impl.scanner.MavenProjectScannerPlugin.scanPath(MavenProjectScannerPlugin.java:328)
at com.buschmais.jqassistant.plugin.maven3.impl.scanner.MavenProjectScannerPlugin.scanPath(MavenProjectScannerPlugin.java:299)
at com.buschmais.jqassistant.plugin.maven3.impl.scanner.MavenProjectScannerPlugin.scanClassesDirectory(MavenProjectScannerPlugin.java:277)
at com.buschmais.jqassistant.plugin.maven3.impl.scanner.MavenProjectScannerPlugin.scan(MavenProjectScannerPlugin.java:86)
at com.buschmais.jqassistant.plugin.maven3.impl.scanner.MavenProjectScannerPlugin.scan(MavenProjectScannerPlugin.java:39)
at com.buschmais.jqassistant.core.scanner.impl.ScannerImpl.scan(ScannerImpl.java:82)
at com.buschmais.jqassistant.core.scanner.impl.ScannerImpl.scan(ScannerImpl.java:59)
at com.buschmais.jqassistant.scm.maven.ScanMojo.execute(ScanMojo.java:93)
at com.buschmais.jqassistant.scm.maven.AbstractModuleMojo$1.run(AbstractModuleMojo.java:21)
at com.buschmais.jqassistant.scm.maven.AbstractMojo.execute(AbstractMojo.java:326)
at com.buschmais.jqassistant.scm.maven.AbstractModuleMojo.execute(AbstractModuleMojo.java:24)
at com.buschmais.jqassistant.scm.maven.AbstractMojo.execute(AbstractMojo.java:211)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)To view this discussion on the web visit https://groups.google.com/d/msgid/jqassistant/0db4b5be-6966-4d81-8ec2-dc35755c9681%40googlegroups.com.