spine-module/project.luxe

34 lines
1.2 KiB
Text
Raw Permalink Normal View History

import "luxe: project" for Entry, Parcels, ProjectPaths
import "luxe: io" for IO
import "luxe: regex" for Regex
import "luxe: lx" for LX
2021-05-30 18:47:03 +00:00
class Project is Entry {
construct entry(target) {
name = "spine module"
2021-05-30 18:47:03 +00:00
version = "0.0.0"
renderer = "outline/renderer"
settings = "outline/settings"
} //new
entry() {
import "spine" for Spine
//todo: only update files with changes (check file timestamp)
var spine_files = IO.list_recursive(".", [], [ProjectPaths.dev], [".","..",ProjectPaths.dev, ProjectPaths.deploy])
.where{|file| file.path.endsWith(".spine.lx") }
var directory_regex = Regex.new("^[\\w\\s./]*[\\|/]", Regex.gim)
var name_regex = Regex.new("[^\\|/]*$", Regex.gim)
for(file in spine_files){
var base_file_path = file.path[0..-10]
var name = name_regex.exec(base_file_path)[0].string
var directory = directory_regex.exec(base_file_path)[0].string[0..-1]
var data_directory = "%(directory)/%(name)_data"
IO.make_directory(data_directory)
var spine = Spine.parse(base_file_path)
LX.stringify_to_file({"prototype":spine.prototype_skeleton()}, "%(data_directory)/%(name)_skeleton.prototype.lx")
}
} //entry
2021-05-30 18:47:03 +00:00
} //Project