Add --data-dir to switch userData directory

This commit is contained in:
Yuya Ochiai 2016-12-26 22:55:27 +09:00
parent e11cf8439f
commit 3bf41ca3e5
5 changed files with 10 additions and 11 deletions

1
.gitignore vendored
View file

@ -10,3 +10,4 @@ npm-debug.log*
test-results.xml
test_config.json
.idea
testUserData

View file

@ -16,7 +16,7 @@ remote.getCurrentWindow().removeAllListeners('focus');
var config;
try {
var configFile = remote.getGlobal('config-file');
const configFile = remote.app.getPath('userData') + '/config.json';
config = settings.readFileSync(configFile);
} catch (e) {
window.location = 'settings.html';

View file

@ -10,7 +10,7 @@ const React = require('react');
const ReactDOM = require('react-dom');
const SettingsPage = require('./components/SettingsPage.jsx');
var configFile = remote.getGlobal('config-file');
const configFile = remote.app.getPath('userData') + '/config.json';
require('electron-context-menu')({
window: remote.getCurrentWindow()

View file

@ -90,16 +90,13 @@ if (argv.hidden) {
hideOnStartup = true;
}
// TODO: We should document this if that hasn't been done already
if (argv['config-file']) {
global['config-file'] = argv['config-file'];
} else {
global['config-file'] = app.getPath('userData') + '/config.json';
if (argv['data-dir']) {
app.setPath('userData', path.resolve(argv['data-dir']));
}
var config = {};
try {
const configFile = global['config-file'];
const configFile = app.getPath('userData') + '/config.json';
config = settings.readFileSync(configFile);
if (config.version !== settings.version || wasUpdated()) {
clearAppCache();
@ -112,7 +109,7 @@ try {
}
ipcMain.on('update-config', () => {
const configFile = global['config-file'];
const configFile = app.getPath('userData') + '/config.json';
config = settings.readFileSync(configFile);
});

View file

@ -17,7 +17,8 @@ const electronBinaryPath = (() => {
const exeExtension = (process.platform === 'win32') ? '.exe' : '';
return path.join(sourceRootDir, 'node_modules/electron/dist/electron' + exeExtension);
})();
const configFilePath = path.join(sourceRootDir, 'test/test_config.json');
const userDataDir = path.join(sourceRootDir, 'test/testUserData/');
const configFilePath = path.join(userDataDir, 'config.json');
const mattermostURL = 'http://example.com/team';
module.exports = {
@ -27,7 +28,7 @@ module.exports = {
getSpectronApp() {
const app = new Application({
path: electronBinaryPath,
args: [`${path.join(sourceRootDir, 'dist')}`, '--config-file=' + configFilePath]
args: [`${path.join(sourceRootDir, 'dist')}`, `--data-dir=${userDataDir}`]
});
chaiAsPromised.transferPromiseness = app.transferPromiseness;
return app;