blob: 19d2613649263653b8d84fbdd132ec4fa0203c80 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
package plugintemplate.standalone
import plugintemplate.PluginProperties
import scala.tools.nsc.CompilerCommand
import scala.tools.nsc.Settings
/** An object for running the plugin as standalone application.
*
* @todo: print, parse and apply plugin options !!!
* ideally re-use the TemplatePlugin (-> runsAfter, optionsHelp,
* processOptions, components, annotationChecker) instead of
* duplicating it here and in PluginRunner.
*/
object Main {
def main(args: Array[String]) {
val settings = new Settings
val command = new CompilerCommand(args.toList, settings) {
/** The command name that will be printed in in the usage message.
* This is automatically set to the value of 'plugin.commandname' in the
* file build.properties.
*/
override val cmdName = PluginProperties.pluginCommand
}
if (!command.ok)
return()
/** The version number of this plugin is read from the properties file
*/
if (settings.version.value) {
println(command.cmdName +" version "+ PluginProperties.versionString)
return()
}
if (settings.help.value) {
println(command.usageMsg)
return()
}
val runner = new PluginRunner(settings)
val run = new runner.Run
run.compile(command.files)
}
}
|