diff options
-rw-r--r-- | stage1/resolver.scala | 13 | ||||
-rw-r--r-- | stage2/BasicBuild.scala | 30 |
2 files changed, 15 insertions, 28 deletions
diff --git a/stage1/resolver.scala b/stage1/resolver.scala index 4731b0c..e02f931 100644 --- a/stage1/resolver.scala +++ b/stage1/resolver.scala @@ -79,8 +79,21 @@ trait DependencyImplementation extends Dependency{ } */ + def runMain( className: String, args: String* ) = lib.runMain( className, args, classLoader ) + def flatClassLoader: Boolean = false + def mainClasses: Seq[Class[_]] = exportedClasspath.files.flatMap( lib.mainClasses( _, classLoader ) ) + + def runClass: Option[String] = lib.runClass( mainClasses ).map( _.getName ) + + def run( args: String* ): ExitCode = { + runClass.map( runMain( _, args: _* ) ).getOrElse{ + logger.task( "No main class found for " ++ show ) + ExitCode.Success + } + } + def classLoader: ClassLoader = { if( flatClassLoader ){ new java.net.URLClassLoader(classpath.strings.map(f => new URL("file://" ++ f)).toArray) diff --git a/stage2/BasicBuild.scala b/stage2/BasicBuild.scala index 5f73568..ad41dd4 100644 --- a/stage2/BasicBuild.scala +++ b/stage2/BasicBuild.scala @@ -152,34 +152,6 @@ trait BaseBuild extends BuildInterface with DependencyImplementation with Trigge ) } - def mainClasses: Seq[Class[_]] = exportedClasspath.files.flatMap( lib.mainClasses( _, classLoader ) ) - - def runClass: Option[String] = lib.runClass( mainClasses ).map( _.getName ) - - def runMain( className: String, args: String* ) = lib.runMain( className, args, classLoader ) - - def flatClassLoader: Boolean = false - - def run: ExitCode = { - if(flatClassLoader){ - runClass.map( - lib.runMain( - _, - context.args, - new java.net.URLClassLoader(classpath.strings.map(f => new URL("file://" ++ f)).toArray) - ) - ).getOrElse{ - logger.task( "No main class found for " ++ projectDirectory.string ) - ExitCode.Success - } - } else { - runClass.map( runMain( _, context.args: _* ) ).getOrElse{ - logger.task( "No main class found for " ++ projectDirectory.string ) - ExitCode.Success - } - } - } - def clean: ExitCode = { lib.clean( target, @@ -211,6 +183,8 @@ trait BaseBuild extends BuildInterface with DependencyImplementation with Trigge ) } + def run: ExitCode = run( context.args: _* ) + def test: Option[ExitCode] = Some(new lib.ReflectBuild( DirectoryDependency(projectDirectory++"/test").build |