-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Running Maven Install/GradleBuild from tacoco on SUTs with no target folders present #67
Comments
I have a bash script, which downloads a project from github, build it and run Tacoco. I think building project is separated process from Tacoco. Because when build a project, some requires more than "mvn compile". So build part should be flexible and scripting is more suitable to handle this flexibility. |
Two reasons why I am suggesting this
I understand more flexibility is required here. But a simple compile/build task would suffice for 95% of the projects out there. It certainly makes a tacoco user's life easier :) |
One thing to consider for this feature is the whole point and promise of Tacoco. Tacoco promises that given an already successful build for a given project, it will enable the platform to create analyses of the build and the execution of the build. That said, if we very carefully craft this feature to clearly reflect it as a utility only and not a central feature, then i think we can have this feature. |
Sure, Vijay. Tacoco can always recommend that the SUTs are fully built. So keeping that in mind, We can trigger compile tasks as fire-and-forget. If there are no generated classes, we can trigger the compile tasks. The end result of this operation would be of no consequence to the other workflows of tacoco. Exceptions, if at all they appear while invoking the compile/build task, will be ignored in this case. |
I am not sure what you mean by "fire-and-forget" or "end result of this operation would be of no consequence to the other workflows of tacoco". Tacoco's workflow is highly dependent on the output of a project build -- if the build is faulty the subsequent analysis ought to be meaningless. Running an automated project build with the help of a shell script has the advantage that it is clear that is a utility (the running of the project build), and not an actual feature of Tacoco. Also, using a scripting language allows us to quickly experiment with strange build processes that may require us to run more than So, perhaps if we can find a way to program this in such a way that it still looks like a utility and has the flexibility of quick experimentation. Perhaps using a cross platform scripting language like groovy/python/ruby? |
I was thinking of using MavenEmbedder and Gradle Tooling API to invoke the build tasks. My intention is to just generate the classes and test classes if they are not present. So that tacoco analysis may continue despite their absence |
and of course make unit testing of the BuildProbes possible. If we do use a script utility , would we able to integrate it into a CI system ? (I see that we have different goals in mind here) |
It would be nice if we integrate Tacoco with CI, such as TravisCI. @tariq1890 you may create travis.yml if you want. About the build support, I think it is related to GIT Analyzer, on issue #63.
in step2, we may utilize Tacoco's building ability. |
@junghuk Have a look at this project .https://github.com/MetricsGrimoire/CVSAnalY. Would this help ? |
@tariq1890 thanks for the link. I originally think about this one, JGIT. http://www.eclipse.org/jgit/ CVSAnalY seems feasible, but it is python and may have integration issues with Tacoco. |
Can we add logic to invoke Maven install or Gradle Build on target projects that don't have a target folder with generated classes? We can achieve this using Maven Embedder and Gradle Tooling API.
I think this would be a nice-to-have feature when you have to navigate to and build/install your project that was cleaned or just checked out.
The text was updated successfully, but these errors were encountered: