notes on compileToScript() implementation
This commit is contained in:
@@ -10,16 +10,18 @@ enum CompileLang {
|
||||
|
||||
typedef CompilationArgs = {
|
||||
lang:CompileLang,
|
||||
outputFolder:String,
|
||||
// path to a folder where the script will be compiled
|
||||
?importHxFile:String,
|
||||
outputFolder:String,
|
||||
// path to a file with haxe import statements in it
|
||||
?hxmlFile:String,
|
||||
?importHxFile:String,
|
||||
// path to a file with hxml args in it (SHOULD NOT specify target or main class)
|
||||
?langProjectFile:String,
|
||||
?hxmlFile:String,
|
||||
// path to a package.json or requirements.txt file
|
||||
?mainHxFile:String,
|
||||
?langProjectFile:String,
|
||||
// path to a haxe file defining the Main class
|
||||
?mainHxFile:String,
|
||||
// paths to extra files to copy
|
||||
?extraFiles:Array<String>
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -41,6 +43,25 @@ class CompilerTools {
|
||||
* @return A function that, when called, executes the script and returns the script output as a string.
|
||||
*/
|
||||
public static function compileToScript(exps:Array<ReaderExp>, args:CompilationArgs):() -> String {
|
||||
// TODO if folder exists, delete it
|
||||
// TODO create it again
|
||||
// TODO copy all files in
|
||||
// import.hx if given
|
||||
// hxml file if given
|
||||
// language-specific project file if given
|
||||
// main .hx file if given, or default
|
||||
// make sure it calls build() on the right file, and imports kiss.Prelude
|
||||
// all extra files
|
||||
// make the main.kiss file just a begin of array(exps)
|
||||
|
||||
// TODO generate build.hxml
|
||||
// -lib kiss
|
||||
// target compiler arguments and -cmd argument according to lang
|
||||
// run haxelib install all in folder
|
||||
// install language-specific dependencies
|
||||
// call haxe args.hxml build.hxml
|
||||
// return lambda that calls new Process() that runs the target-specific file
|
||||
|
||||
return () -> "";
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user