private boolean executeInvoker(Map<String, File> serviceVsSpecFile, WorkflowContext workflowContext)
            throws HyscaleException {
        boolean isFailed = workflowContext.isFailed();
        String serviceName = workflowContext.getServiceName();
        WorkflowLogger.header(ControllerActivity.SERVICE_NAME, serviceName);
        SetupConfig.clearAbsolutePath();
        SetupConfig.setAbsolutePath(serviceVsSpecFile.get(serviceName).getAbsoluteFile().getParent());

        try {
            manifestGeneratorComponentInvoker.execute(workflowContext);
        } catch (HyscaleException e) {
            logger.error("Error while generating manifest for app: {}, service: {}", appName, serviceName, e);
            throw e;
        }
        if (workflowContext.isFailed()) {
            isFailed = true;
        }
        WorkflowLogger.footer();
        WorkflowLogger.logPersistedActivities();
        CommandUtil.logMetaInfo(
                SetupConfig.getMountPathOf((String) workflowContext.getAttribute(WorkflowConstants.MANIFESTS_PATH)),
                ControllerActivity.MANIFESTS_GENERATION_PATH);
        return !isFailed;
    }
This class executes 'hyscale generate service manifests' command
It is a sub-command of the 'hyscale generate service' command

Options:
 appName - name of the app
 serviceSpecs - list of service specs
 profiles - list of profiles for services
 profile - profile name to look for. Profile file should be present for all services in service spec (profiles and profile are mutually exclusive)
<p>
Eg 1: hyscale generate service manifests -f svc.hspec -f svcb.hspec -p dev-svc.hprof -a sample
Eg 2: hyscale generate service manifests -f svc.hspec -P dev -a sample
<p>
Performs a validation of input before starting manifest generation.
Generates the manifests from the given hspec and writes the manifests
to  {@literal<USER.HOME>}/hyscale/apps/{@literal<appName>}/{@literal<serviceName>}/generated-files/manifests/
@see HyscaleGenerateServiceCommand
Every command/sub-command has to implement the Runnable so that
whenever the command is executed the {@link #call()}
method will be invoked
workflow-controller/controller-service/src/main/java/io/hyscale/controller/commands/generate/HyscaleGenerateServiceManifestsCommand.java