Jonathan Cobb 3 лет назад
Родитель
Сommit
9ef775fd71
2 измененных файлов: 15 добавлений и 10 удалений
  1. +3
    -7
      src/main/java/jvc/main/Jvc.java
  2. +12
    -3
      src/main/java/jvc/service/JvcEngine.java

+ 3
- 7
src/main/java/jvc/main/Jvc.java Просмотреть файл

@@ -3,12 +3,10 @@ package jvc.main;

import jvc.model.JSpec;
import jvc.service.AssetManager;
import jvc.service.OperationEngine;
import jvc.service.JvcEngine;
import jvc.service.Toolbox;
import org.cobbzilla.util.main.BaseMain;

import java.util.Arrays;

import static org.cobbzilla.util.daemon.ZillaRuntime.empty;
import static org.cobbzilla.util.json.JsonUtil.json;

@@ -31,12 +29,10 @@ public class Jvc extends BaseMain<JvcOptions> {
}

final Toolbox toolbox = Toolbox.DEFAULT_TOOLBOX;

final AssetManager assetManager = new AssetManager(toolbox, getOptions().scratchDir());
Arrays.stream(spec.getAssets()).forEach(assetManager::defineAsset);
final JvcEngine opEngine = new JvcEngine(toolbox, assetManager, noExec);

final OperationEngine opEngine = new OperationEngine(toolbox, assetManager, noExec);
Arrays.stream(spec.getOperations()).forEach(opEngine::perform);
opEngine.runSpec(spec);

final int opCount = spec.getOperations().length;
err(">>> jvc: completed " + opCount + " operation"+(opCount>1?"s":""));


src/main/java/jvc/service/OperationEngine.java → src/main/java/jvc/service/JvcEngine.java Просмотреть файл

@@ -1,21 +1,30 @@
package jvc.service;

import jvc.model.JSpec;
import jvc.model.operation.JOperation;
import lombok.Getter;

public class OperationEngine {
import java.util.Arrays;

public class JvcEngine {

private final Toolbox toolbox;
private final AssetManager assetManager;
@Getter private final boolean noExec;

public OperationEngine(Toolbox toolbox, AssetManager assetManager, boolean noExec) {
public JvcEngine(Toolbox toolbox, AssetManager assetManager, boolean noExec) {
this.toolbox = toolbox;
this.assetManager = assetManager;
this.noExec = noExec;
}

public void perform(JOperation op) {
public void runSpec(JSpec spec) {
Arrays.stream(spec.getAssets()).forEach(assetManager::defineAsset);
Arrays.stream(spec.getOperations()).forEach(this::runOp);
}

private void runOp(JOperation op) {
op.setNoExec(noExec).getExec().operate(op, toolbox, assetManager);
}

}

Загрузка…
Отмена
Сохранить