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
