How can I add a custom task to sbt build definition that consumes (uses classes, runs methods etc.) the project sources ? It seems it tries to find them before compiling even.
Asked
Active
Viewed 1,085 times
1 Answers
6
I need to know why you want to call the methods, since this changes the answer. If you want to do something ...
Build related
Want to use class/ methods which do something build related ( minfiy things, uploaded jar/wars to servers, etc..)
- you have to put this in a plugin or you need to put the sources in a project folder.
- The code cannot be called from your project
If it is build related, someone has probably dealt with a similar problem and there is probably a sbt plugin already, but if not, then let me know and I can explain creating sbt plugins.
Non-build related
Want to just call / test methods which don't have anything to do with the build cycle.
- You can put this in an object in your project called Script (name it whatever), start up console and then import script object and run.
- To make this even easier you can make a custom import script for the console which imports all scripts automatically, which you can then run
So for example, package script
object Script {
def foo = println("I am doing things non-build related")
}
in sbt now run
console
>> import script._
>> foo // prints out "I am doing things non-build related"

Reuben Doetsch
- 616
- 4
- 10