-
Notifications
You must be signed in to change notification settings - Fork 54
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
sbt integration #155
Comments
We'll try this first instead of the specific source directory ( |
There is an sbt plugin developed here: https://github.com/NiceKingWei/sbt-stainless ; it adds a task |
* When the `StainlessPlugin` is enabled on a sbt project, it automatically adds the stainless compiler plugin to the compiler. Also, because stainless requires the sources to run the verification, the source directories of the project and the stainless-library-sources.jar are added to the sourcepath. * Because of the above, a `stainless-library` project was created so that the `stainless-library-sources.jar` can be published. * The stainless sbt plugin currently expects that an external solver is installed and available in the $PATH. To remove this limitation a scalaz3 dependency compatible with each supported os/architecture need to be published somewhere. * A scripted test is included to test the sbt-stainless plugin works as expected. * To simplify maintenance the Scala versions that stainless support are passed from the project's build to the sbt-stainless plugin thanks to the sbt-buildinfo plugin. * Currently, the sbt-stainless plugin targets sbt 0.13. However, it should be relatively simple to cross build the plugin against sbt 1 as well. To make this task as simple as possible the version of sbt used by the project was bumped to 0.13.17 (as it contains some important fix for cross building sbt plugins) and the project's build contains a comment hinting at what needs to be done to support sbt 1. * No dotty support.
* When the `StainlessPlugin` is enabled on a sbt project, it automatically adds the stainless compiler plugin to the compiler. Also, because stainless requires the sources to run the verification, the source directories of the project and the stainless-library-sources.jar are added to the sourcepath. * Because of the above, a `stainless-library` project was created so that the `stainless-library-sources.jar` can be published. * The stainless sbt plugin currently expects that an external solver is installed and available in the $PATH. To remove this limitation a scalaz3 dependency compatible with each supported os/architecture need to be published somewhere. * A scripted test is included to test the sbt-stainless plugin works as expected. * To simplify maintenance the Scala versions that stainless support are passed from the project's build to the sbt-stainless plugin thanks to the sbt-buildinfo plugin. * Currently, the sbt-stainless plugin targets sbt 0.13. However, it should be relatively simple to cross build the plugin against sbt 1 as well. To make this task as simple as possible the version of sbt used by the project was bumped to 0.13.17 (as it contains some important fix for cross building sbt plugins) and the project's build contains a comment hinting at what needs to be done to support sbt 1. * No dotty support.
* When the `StainlessPlugin` is enabled on a sbt project, it automatically adds the stainless compiler plugin to the compiler. Also, because stainless requires the sources to run the verification, the source directories of the project and the stainless-library-sources.jar are added to the sourcepath. * Because of the above, a `stainless-library` project was created so that the `stainless-library-sources.jar` can be published. * The stainless sbt plugin currently expects that an external solver is installed and available in the $PATH. To remove this limitation a scalaz3 dependency compatible with each supported os/architecture need to be published somewhere. * A scripted test is included to test the sbt-stainless plugin works as expected. * To simplify maintenance the Scala versions that stainless support are passed from the project's build to the sbt-stainless plugin thanks to the sbt-buildinfo plugin. * Currently, the sbt-stainless plugin targets sbt 0.13. However, it should be relatively simple to cross build the plugin against sbt 1 as well. To make this task as simple as possible the version of sbt used by the project was bumped to 0.13.17 (as it contains some important fix for cross building sbt plugins) and the project's build contains a comment hinting at what needs to be done to support sbt 1. * No dotty support.
* When the `StainlessPlugin` is enabled on a sbt project, it automatically adds the stainless compiler plugin to the compiler. Also, because stainless requires the sources to run the verification, the source directories of the project and the stainless-library-sources.jar are added to the sourcepath. * Because of the above, a `stainless-library` project was created so that the `stainless-library-sources.jar` can be published. * The stainless sbt plugin currently expects that an external solver is installed and available in the $PATH. To remove this limitation a scalaz3 dependency compatible with each supported os/architecture need to be published somewhere. * A scripted test is included to test the sbt-stainless plugin works as expected. * To simplify maintenance the Scala versions that stainless support are passed from the project's build to the sbt-stainless plugin thanks to the sbt-buildinfo plugin. * Currently, the sbt-stainless plugin targets sbt 0.13. However, it should be relatively simple to cross build the plugin against sbt 1 as well. To make this task as simple as possible the version of sbt used by the project was bumped to 0.13.17 (as it contains some important fix for cross building sbt plugins) and the project's build contains a comment hinting at what needs to be done to support sbt 1. * No dotty support.
[Iulian and Mirco]
Enable compilation of projects consisting of ordinary .scala files that are compiled as usual, as well as files with .v.scala double extension that are verified with stainless using the included stainless dependencies and then compiled as usual.
The text was updated successfully, but these errors were encountered: