sitoolkit / sit-cv Goto Github PK
View Code? Open in Web Editor NEWHome Page: https://www.sitoolkit.io/
License: Apache License 2.0
Home Page: https://www.sitoolkit.io/
License: Apache License 2.0
I just noticed that the bootJar task of my two spring-boot-apps in this multi module project fail when I use your plugin in my project.
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':docs:bootJar'.
> java.lang.IllegalArgumentException (no error message)
When I just remove the plugin (id 'io.sitoolkit.cv.sit-cv-gradle-plugin' version '1.0.0-beta.2'), it works again. So this might be some kind of dependency problem, because your project relies on Spring Boot aswell.
Originally posted by @Lyannic in #86 (comment)
Hello,
I am trying to generate Class diagrams for my Java project.
However when I try to execute the gradle task cvReport, I get the following exception:
java.io.IOException: Cannot run program "/opt/local/bin/dot": error=2, No such file or directory
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1128)
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1071)
at java.base/java.lang.Runtime.exec(Runtime.java:591)
at net.sourceforge.plantuml.cucadiagram.dot.ProcessRunner$MainThread.startThreads(ProcessRunner.java:163)
at net.sourceforge.plantuml.cucadiagram.dot.ProcessRunner$MainThread.runJob(ProcessRunner.java:123)
at net.sourceforge.plantuml.api.TimeoutExecutor$MyThread.run(TimeoutExecutor.java:79)
Caused by: java.io.IOException: error=2, No such file or directory
at java.base/java.lang.ProcessImpl.forkAndExec(Native Method)
at java.base/java.lang.ProcessImpl.(ProcessImpl.java:340)
at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:271)
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1107)
... 5 more
java.io.IOException: Cannot run program "/opt/local/bin/dot": error=2, No such file or directory
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1128)
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1071)
at java.base/java.lang.Runtime.exec(Runtime.java:591)
at net.sourceforge.plantuml.cucadiagram.dot.ProcessRunner$MainThread.startThreads(ProcessRunner.java:163)
at net.sourceforge.plantuml.cucadiagram.dot.ProcessRunner$MainThread.runJob(ProcessRunner.java:123)
at net.sourceforge.plantuml.api.TimeoutExecutor$MyThread.run(TimeoutExecutor.java:79)
Caused by: java.io.IOException: error=2, No such file or directory
at java.base/java.lang.ProcessImpl.forkAndExec(Native Method)
at java.base/java.lang.ProcessImpl.(ProcessImpl.java:340)
at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:271)
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1107)
... 5 more
I am using version 1.0.0-beta.2.
I found out that this has to do with graphviz. When I install graphviz on my machine, the task finishes without any problems. However, since you don't mention in the README that graphviz needs to be installed locally, I expect that graphviz is being supplied by your plugin itself.
Thank you in advance for any help.
Hello,
when I try to execute the cvReport task for a project that contains JpaRepositories, I get the following exception:
Exception initializing Code Visualizer
UnsolvedSymbolException{context='null', name='JpaRepository', cause='null'}
at com.github.javaparser.symbolsolver.javaparsermodel.declarations.JavaParserInterfaceDeclaration.toReferenceType(JavaParserInterfaceDeclaration.java:342)
at com.github.javaparser.symbolsolver.javaparsermodel.declarations.JavaParserInterfaceDeclaration.getAncestors(JavaParserInterfaceDeclaration.java:250)
at com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration.getAncestors(ResolvedReferenceTypeDeclaration.java:69)
at com.github.javaparser.symbolsolver.javaparsermodel.declarations.JavaParserInterfaceDeclaration.getAllFields(JavaParserInterfaceDeclaration.java:185)
at com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration.getDeclaredFields(ResolvedReferenceTypeDeclaration.java:191)
at io.sitoolkit.cv.core.domain.classdef.javaparser.ClassDefReaderJavaParserImpl.readFieldDefs(ClassDefReaderJavaParserImpl.java:306)
at io.sitoolkit.cv.core.domain.classdef.javaparser.ClassDefReaderJavaParserImpl.lambda$readJava$4(ClassDefReaderJavaParserImpl.java:131)
at java.util.Optional.ifPresent(Optional.java:183)
at io.sitoolkit.cv.core.domain.classdef.javaparser.ClassDefReaderJavaParserImpl.readJava(ClassDefReaderJavaParserImpl.java:128)
at io.sitoolkit.cv.core.domain.classdef.javaparser.ClassDefReaderJavaParserImpl.lambda$readDir$2(ClassDefReaderJavaParserImpl.java:84)
at java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1603)
at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:658)
at io.sitoolkit.cv.core.domain.classdef.javaparser.ClassDefReaderJavaParserImpl.readDir(ClassDefReaderJavaParserImpl.java:75)
at io.sitoolkit.cv.core.app.designdoc.DesignDocService.analyze(DesignDocService.java:74)
at io.sitoolkit.cv.core.app.config.ServiceFactory.initialize(ServiceFactory.java:54)
at io.sitoolkit.cv.core.app.config.ServiceFactory.createAndInitialize(ServiceFactory.java:49)
at io.sitoolkit.cv.plugin.gradle.ReportTask.export(ReportTask.java:12)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:566)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.doExecute(StandardTaskAction.java:46)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:39)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:26)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:801)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:768)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:131)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:300)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:292)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:174)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:120)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:99)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:77)
at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:59)
at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:59)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:101)
at org.gradle.api.internal.tasks.execution.FinalizeInputFilePropertiesTaskExecuter.execute(FinalizeInputFilePropertiesTaskExecuter.java:44)
at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:91)
at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:62)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:59)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.run(EventFiringTaskExecuter.java:51)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:300)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:292)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:174)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:46)
at org.gradle.execution.taskgraph.LocalTaskInfoExecutor.execute(LocalTaskInfoExecutor.java:42)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareWorkItemExecutor.execute(DefaultTaskExecutionGraph.java:277)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareWorkItemExecutor.execute(DefaultTaskExecutionGraph.java:262)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:135)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:130)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker.execute(DefaultTaskPlanExecutor.java:200)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker.executeWithWork(DefaultTaskPlanExecutor.java:191)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker.run(DefaultTaskPlanExecutor.java:130)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
at java.lang.Thread.run(Thread.java:834)
When I delete the JpaRepositories from the project, everything works fine. Do you have any idea, why it can't handle them?
Thank you in advance for any help.
Hi, I am getting following issue, I do have mongodb dependency in the project, but I couldn't understand whether this is a bug or I have miss configured it. From configuration point of view I have used the maven plugin and running with default settings using mvn sit-cv:report
[ERROR] Exception initializing Code Visualizer com.github.javaparser.resolution.UnsolvedSymbolException: Unsolved symbol : MongoRepository at com.github.javaparser.symbolsolver.javaparsermodel.declarations.JavaParserInterfaceDeclaration.toReferenceType (JavaParserInterfaceDeclaration.java:342) at com.github.javaparser.symbolsolver.javaparsermodel.declarations.JavaParserInterfaceDeclaration.getAncestors (JavaParserInterfaceDeclaration.java:250) at com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration.getAncestors (ResolvedReferenceTypeDeclaration.java:69) at com.github.javaparser.symbolsolver.javaparsermodel.declarations.JavaParserInterfaceDeclaration.getAllFields (JavaParserInterfaceDeclaration.java:185) at com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration.getDeclaredFields (ResolvedReferenceTypeDeclaration.java:191) at io.sitoolkit.cv.core.domain.classdef.javaparser.ClassDefReaderJavaParserImpl.readFieldDefs (ClassDefReaderJavaParserImpl.java:356) at io.sitoolkit.cv.core.domain.classdef.javaparser.ClassDefReaderJavaParserImpl.lambda$readJava$4 (ClassDefReaderJavaParserImpl.java:136) at java.util.Optional.ifPresent (Optional.java:183) at io.sitoolkit.cv.core.domain.classdef.javaparser.ClassDefReaderJavaParserImpl.readJava (ClassDefReaderJavaParserImpl.java:132) at io.sitoolkit.cv.core.domain.classdef.javaparser.ClassDefReaderJavaParserImpl.lambda$readDir$2 (ClassDefReaderJavaParserImpl.java:82) at java.util.HashMap$KeySpliterator.forEachRemaining (HashMap.java:1621) at java.util.stream.ReferencePipeline$Head.forEach (ReferencePipeline.java:658) at io.sitoolkit.cv.core.domain.classdef.javaparser.ClassDefReaderJavaParserImpl.readDir (ClassDefReaderJavaParserImpl.java:71) at io.sitoolkit.cv.core.app.functionmodel.FunctionModelService.analyze (FunctionModelService.java:60) at io.sitoolkit.cv.core.app.config.ServiceFactory.initialize (ServiceFactory.java:66) at io.sitoolkit.cv.core.app.config.ServiceFactory.createAndInitialize (ServiceFactory.java:61) at io.sitoolkit.cv.plugin.maven.ReportMojo.execute (ReportMojo.java:21) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:126) at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:328) at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:316) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174) at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75) at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162) at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:73) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:53) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118) at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261) at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173) at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101) at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906) at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283) at org.apache.maven.cli.MavenCli.main (MavenCli.java:206) at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke (Method.java:566) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:283) at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:226) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:407) at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:348)
Hi guys, thanks for the great plugin.
I am having a problem on my first run with gradlew cvReport.
gradlew not installed and gradlew auto install is not supported
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.