package com.jaumard.sails.settings;
import com.intellij.openapi.components.*;
import com.intellij.util.xmlb.XmlSerializerUtil;
import com.jaumard.sails.SailsJSProjectGenerator;
import org.jetbrains.annotations.Nullable;
/**
* Created by jaumard on 04/04/2015.
*/
@State(
name = "SailsJSConfig",
storages = {
@Storage(
file = StoragePathMacros.APP_CONFIG + "/sails.xml"
)}
)
public class SailsJSConfig implements PersistentStateComponent<SailsJSConfig>
{
public String SAILSJS_PATH = "/usr/local/bin/sails";
public String NPM_PATH = "/usr/local/bin/npm";
public static String SAILSJS_WORK_DIRECTORY = "sails.js.settings.workdir";
private String executableOptions;
private String npmExecutable = null;
private String executable = null;
private String defaultPPCSS = SailsJSProjectGenerator.SailsJSProjectSettings.PPCSS_SASS;
public static SailsJSConfig getInstance()
{
return ServiceManager.getService(SailsJSConfig.class);
}
@Nullable
@Override
public SailsJSConfig getState()
{
return this;
}
@Override
public void loadState(SailsJSConfig state)
{
XmlSerializerUtil.copyBean(state, this);
}
public String getNpmExecutable()
{
return npmExecutable;
}
public void setNpmExecutable(String npmExecutable)
{
this.npmExecutable = npmExecutable;
}
public String getExecutablePath()
{
return executable;
}
public void setExecutablePath(String path)
{
executable = path;
}
public void setExecutableOptions(String executableOptions)
{
this.executableOptions = executableOptions;
}
public String getExecutableOptions()
{
return executableOptions;
}
public void setDefaultPPCSS(String defaultPPCSS)
{
this.defaultPPCSS = defaultPPCSS;
}
public String getDefaultPPCSS()
{
return defaultPPCSS;
}
}