diff --git a/browser/main.js b/browser/main.js index 21bec8ecd9..5e86638a0b 100644 --- a/browser/main.js +++ b/browser/main.js @@ -10,12 +10,6 @@ var app = require('app'); var BrowserWindow = require('browser-window'); var ipc = require('ipc'); -var argv = require('minimist')(process.argv); - -if (argv.test) { - console.log('Running tests'); -} - process.env.NODE_PATH = __dirname + '/../node_modules'; process.chdir(path.join(__dirname, '..')); @@ -38,12 +32,7 @@ app.on('ready', function() { mainWindow = new BrowserWindow(windowOptions); mainWindow.hide(); - - if (argv.test) { - mainWindow.loadUrl('file://' + __dirname + '/../build/specs.html'); - } else { - mainWindow.loadUrl('file://' + __dirname + '/../build/index.html'); - } + mainWindow.loadUrl('file://' + __dirname + '/../build/index.html'); process.on('uncaughtException', app.quit); diff --git a/deps b/deps index 059abaf35c..31d4569aa9 100755 --- a/deps +++ b/deps @@ -3,8 +3,18 @@ BASE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" export BOOT2DOCKER_CLI_VERSION=$(node -pe "JSON.parse(process.argv[1])['boot2docker-version']" "$(cat $BASE/package.json)") export BOOT2DOCKER_CLI_VERSION_FILE=boot2docker-$BOOT2DOCKER_CLI_VERSION +export ATOM_SHELL_VERSION=$(node -pe "JSON.parse(process.argv[1])['atom-shell-version']" "$(cat $BASE/package.json)") +export ATOM_SHELL_VERSION_FILE=atom-shell-v$ATOM_SHELL_VERSION-darwin-x64.zip mkdir -p $BASE/cache +pushd $BASE/cache > /dev/null +if [ ! -f $ATOM_SHELL_VERSION_FILE ]; then + echo "-----> Downloading atom-shell..." + rm -rf atom-shell-* + curl -L -o $ATOM_SHELL_VERSION_FILE https://github.com/atom/atom-shell/releases/download/v$ATOM_SHELL_VERSION/atom-shell-v$ATOM_SHELL_VERSION-darwin-x64.zip + unzip $ATOM_SHELL_VERSION_FILE +fi +popd > /dev/null pushd $BASE/resources > /dev/null diff --git a/app/fonts/clearsans-bold-webfont.ttf b/fonts/clearsans-bold-webfont.ttf similarity index 100% rename from app/fonts/clearsans-bold-webfont.ttf rename to fonts/clearsans-bold-webfont.ttf diff --git a/app/fonts/clearsans-bolditalic-webfont.ttf b/fonts/clearsans-bolditalic-webfont.ttf similarity index 100% rename from app/fonts/clearsans-bolditalic-webfont.ttf rename to fonts/clearsans-bolditalic-webfont.ttf diff --git a/app/fonts/clearsans-italic-webfont.ttf b/fonts/clearsans-italic-webfont.ttf similarity index 100% rename from app/fonts/clearsans-italic-webfont.ttf rename to fonts/clearsans-italic-webfont.ttf diff --git a/app/fonts/clearsans-light-webfont.ttf b/fonts/clearsans-light-webfont.ttf similarity index 100% rename from app/fonts/clearsans-light-webfont.ttf rename to fonts/clearsans-light-webfont.ttf diff --git a/app/fonts/clearsans-medium-webfont.ttf b/fonts/clearsans-medium-webfont.ttf similarity index 100% rename from app/fonts/clearsans-medium-webfont.ttf rename to fonts/clearsans-medium-webfont.ttf diff --git a/app/fonts/clearsans-mediumitalic-webfont.ttf b/fonts/clearsans-mediumitalic-webfont.ttf similarity index 100% rename from app/fonts/clearsans-mediumitalic-webfont.ttf rename to fonts/clearsans-mediumitalic-webfont.ttf diff --git a/app/fonts/clearsans-regular-webfont.ttf b/fonts/clearsans-regular-webfont.ttf similarity index 100% rename from app/fonts/clearsans-regular-webfont.ttf rename to fonts/clearsans-regular-webfont.ttf diff --git a/app/fonts/clearsans-thin-webfont.ttf b/fonts/clearsans-thin-webfont.ttf similarity index 100% rename from app/fonts/clearsans-thin-webfont.ttf rename to fonts/clearsans-thin-webfont.ttf diff --git a/app/fonts/streamline-24px.eot b/fonts/streamline-24px.eot similarity index 100% rename from app/fonts/streamline-24px.eot rename to fonts/streamline-24px.eot diff --git a/app/fonts/streamline-24px.svg b/fonts/streamline-24px.svg similarity index 100% rename from app/fonts/streamline-24px.svg rename to fonts/streamline-24px.svg diff --git a/app/fonts/streamline-24px.ttf b/fonts/streamline-24px.ttf similarity index 100% rename from app/fonts/streamline-24px.ttf rename to fonts/streamline-24px.ttf diff --git a/app/fonts/streamline-24px.woff b/fonts/streamline-24px.woff similarity index 100% rename from app/fonts/streamline-24px.woff rename to fonts/streamline-24px.woff diff --git a/gulpfile.js b/gulpfile.js deleted file mode 100644 index 7468cada7b..0000000000 --- a/gulpfile.js +++ /dev/null @@ -1,204 +0,0 @@ -var gulp = require('gulp'); -var source = require('vinyl-source-stream'); // Used to stream bundle for further handling -var browserify = require('browserify'); -var watchify = require('watchify'); -var reactify = require('reactify'); -var gulpif = require('gulp-if'); -var uglify = require('gulp-uglifyjs'); -var notify = require('gulp-notify'); -var concat = require('gulp-concat'); -var less = require('gulp-less'); -var livereload = require('gulp-livereload'); -var cssmin = require('gulp-cssmin'); -var imagemin = require('gulp-imagemin'); -var gutil = require('gulp-util'); -var shell = require('gulp-shell'); -var plumber = require('gulp-plumber'); -var sourcemaps = require('gulp-sourcemaps'); -var glob = require('glob'); -var runSequence = require('run-sequence'); -var ecstatic = require('ecstatic'); -var downloadatomshell = require('gulp-download-atom-shell'); -var packagejson = require('./package.json'); -var http = require('http'); -var react = require('gulp-react'); -var fs = require('fs'); - -var dependencies = Object.keys(packagejson.dependencies); -var devDependencies = Object.keys(packagejson.devDependencies); -var options = { - dev: process.argv.indexOf('release') === -1 && process.argv.indexOf('test') === -1, - test: process.argv.indexOf('test') !== -1, - filename: 'Kitematic.app', - name: 'Kitematic' -}; - -gulp.task('js', function () { - gulp.src('./app/**/*.js') - .pipe(plumber(function(error) { - gutil.log(gutil.colors.red('Error (' + error.plugin + '): ' + error.message)); - // emit the end event, to properly end the task - this.emit('end'); - })) - .pipe(react()) - .pipe(gulp.dest(options.dev ? './build' : './dist/osx/' + options.filename + '/Contents/Resources/app/build')) - .pipe(gulpif(options.dev, livereload())); -}); - -gulp.task('specs', function () { - var bundler = browserify({ - entries: glob.sync('./specs/**/*-spec.js'), - debug: true, // Gives us sourcemapping - transform: [reactify], - cache: {}, packageCache: {}, fullPaths: true // Requirement of watchify - }); - - dependencies.forEach(function (dep) { - bundler.external(dep); - }); - - devDependencies.forEach(function (dep) { - bundler.external(dep); - }); - - bundler.external('./app'); - - bundler.bundle() - .on('error', gutil.log) - .pipe(source('specs.js')) - .pipe(gulp.dest('./build')); - - gulp.src('./specs/specs.html') - .pipe(gulp.dest('./build')); -}); - -gulp.task('images', function() { - return gulp.src('./app/images/*') - .pipe(imagemin({ - progressive: true, - interlaced: true, - svgoPlugins: [{removeViewBox: false}] - })) - .pipe(gulp.dest(options.dev ? './build' : './dist/osx/' + options.filename + '/Contents/Resources/app/build')) - .pipe(gulpif(options.dev, livereload())); -}); - -gulp.task('styles', function () { - return gulp.src('app/styles/main.less') - .pipe(plumber(function(error) { - gutil.log(gutil.colors.red('Error (' + error.plugin + '): ' + error.message)); - // emit the end event, to properly end the task - this.emit('end'); - })) - .pipe(gulpif(options.dev, sourcemaps.init())) - .pipe(less()) - .pipe(gulpif(options.dev, sourcemaps.write())) - .pipe(gulp.dest(options.dev ? './build' : './dist/osx/' + options.filename + '/Contents/Resources/app/build')) - .pipe(gulpif(!options.dev, cssmin())) - .pipe(concat('main.css')) - .pipe(gulpif(options.dev && !options.test, livereload())); -}); - -gulp.task('download', function (cb) { - downloadatomshell({ - version: packagejson['atom-shell-version'], - outputDir: 'cache' - }, cb); -}); - -gulp.task('copy', function () { - gulp.src('./app/index.html') - .pipe(gulp.dest(options.dev ? './build' : './dist/osx/' + options.filename + '/Contents/Resources/app/build')) - .pipe(gulpif(options.dev, livereload())); - - gulp.src('./app/fonts/**') - .pipe(gulp.dest(options.dev ? './build' : './dist/osx/' + options.filename + '/Contents/Resources/app/build')) - .pipe(gulpif(options.dev, livereload())); -}); - -gulp.task('dist', function (cb) { - var stream = gulp.src('').pipe(shell([ - 'rm -Rf ./dist', - 'mkdir -p ./dist/osx', - 'cp -R ./cache/Atom.app ./dist/osx/<%= filename %>', - 'mv ./dist/osx/<%= filename %>/Contents/MacOS/Atom ./dist/osx/<%= filename %>/Contents/MacOS/<%= name %>', - 'mkdir -p ./dist/osx/<%= filename %>/Contents/Resources/app', - 'cp -R browser dist/osx/<%= filename %>/Contents/Resources/app', - 'cp package.json dist/osx/<%= filename %>/Contents/Resources/app/', - 'mkdir -p dist/osx/<%= filename %>/Contents/Resources/app/resources', - 'cp -v resources/* dist/osx/<%= filename %>/Contents/Resources/app/resources/ || :', - 'cp kitematic.icns dist/osx/<%= filename %>/Contents/Resources/atom.icns', - '/usr/libexec/PlistBuddy -c "Set :CFBundleVersion <%= version %>" dist/osx/<%= filename %>/Contents/Info.plist', - '/usr/libexec/PlistBuddy -c "Set :CFBundleDisplayName <%= name %>" dist/osx/<%= filename %>/Contents/Info.plist', - '/usr/libexec/PlistBuddy -c "Set :CFBundleName <%= name %>" dist/osx/<%= filename %>/Contents/Info.plist', - '/usr/libexec/PlistBuddy -c "Set :CFBundleIdentifier <%= bundle %>" dist/osx/<%= filename %>/Contents/Info.plist', - '/usr/libexec/PlistBuddy -c "Set :CFBundleExecutable <%= name %>" dist/osx/<%= filename %>/Contents/Info.plist' - ], { - templateData: { - filename: options.filename, - name: options.name, - version: packagejson.version, - bundle: 'com.kitematic.app' - } - })); - - dependencies.forEach(function (d) { - stream = stream.pipe(shell([ - 'cp -R node_modules/' + d + ' dist/osx/<%= filename %>/Contents/Resources/app/node_modules/' - ], { - templateData: { - filename: options.filename - } - })); - }); - - return stream; -}); - -gulp.task('sign', function () { - try { - var signing_identity = fs.readFileSync('./identity', 'utf8').trim(); - return gulp.src('').pipe(shell([ - 'codesign --deep --force --verbose --sign "' + signing_identity + '" ' + options.filename - ], { - cwd: './dist/osx/' - })); - } catch (error) { - gutil.log(gutil.colors.red('Error: ' + error.message)); - } -}); - -gulp.task('zip', function () { - return gulp.src('').pipe(shell([ - 'ditto -c -k --sequesterRsrc --keepParent ' + options.filename + ' ' + options.name + '-' + packagejson.version + '.zip' - ], { - cwd: './dist/osx/' - })); -}); - -gulp.task('release', function () { - runSequence('download', 'dist', ['copy', 'images', 'js', 'styles'], 'sign', 'zip'); -}); - -gulp.task('test', ['download', 'copy', 'js', 'images', 'styles', 'specs'], function () { - var env = process.env; - env.NODE_ENV = 'development'; - gulp.src('').pipe(shell(['./cache/Atom.app/Contents/MacOS/Atom . --test'], { - env: env - })); -}); - -gulp.task('default', ['download', 'copy', 'js', 'images', 'styles'], function () { - gulp.watch('./app/**/*.js', ['js']); - gulp.watch('./app/**/*.html', ['copy']); - gulp.watch('./app/styles/**/*.less', ['styles']); - gulp.watch('./app/images/**', ['images']); - - livereload.listen(); - - var env = process.env; - env.NODE_ENV = 'development'; - gulp.src('').pipe(shell(['./cache/Atom.app/Contents/MacOS/Atom .'], { - env: env - })); -}); diff --git a/app/images/close.png b/images/close.png similarity index 100% rename from app/images/close.png rename to images/close.png diff --git a/app/images/close@2x.png b/images/close@2x.png similarity index 100% rename from app/images/close@2x.png rename to images/close@2x.png diff --git a/app/images/downloading-arrow-white.png b/images/downloading-arrow-white.png similarity index 100% rename from app/images/downloading-arrow-white.png rename to images/downloading-arrow-white.png diff --git a/app/images/downloading-arrow-white@2x.png b/images/downloading-arrow-white@2x.png similarity index 100% rename from app/images/downloading-arrow-white@2x.png rename to images/downloading-arrow-white@2x.png diff --git a/app/images/downloading-arrow.png b/images/downloading-arrow.png similarity index 100% rename from app/images/downloading-arrow.png rename to images/downloading-arrow.png diff --git a/app/images/downloading-arrow@2x.png b/images/downloading-arrow@2x.png similarity index 100% rename from app/images/downloading-arrow@2x.png rename to images/downloading-arrow@2x.png diff --git a/app/images/downloading-white.png b/images/downloading-white.png similarity index 100% rename from app/images/downloading-white.png rename to images/downloading-white.png diff --git a/app/images/downloading-white@2x.png b/images/downloading-white@2x.png similarity index 100% rename from app/images/downloading-white@2x.png rename to images/downloading-white@2x.png diff --git a/app/images/downloading.png b/images/downloading.png similarity index 100% rename from app/images/downloading.png rename to images/downloading.png diff --git a/app/images/downloading@2x.png b/images/downloading@2x.png similarity index 100% rename from app/images/downloading@2x.png rename to images/downloading@2x.png diff --git a/app/images/error.png b/images/error.png similarity index 100% rename from app/images/error.png rename to images/error.png diff --git a/app/images/error@2x.png b/images/error@2x.png similarity index 100% rename from app/images/error@2x.png rename to images/error@2x.png diff --git a/app/images/fullscreen.png b/images/fullscreen.png similarity index 100% rename from app/images/fullscreen.png rename to images/fullscreen.png diff --git a/app/images/fullscreen@2x.png b/images/fullscreen@2x.png similarity index 100% rename from app/images/fullscreen@2x.png rename to images/fullscreen@2x.png diff --git a/app/images/fullscreenclose.png b/images/fullscreenclose.png similarity index 100% rename from app/images/fullscreenclose.png rename to images/fullscreenclose.png diff --git a/app/images/loading.png b/images/loading.png similarity index 100% rename from app/images/loading.png rename to images/loading.png diff --git a/app/images/loading@2x.png b/images/loading@2x.png similarity index 100% rename from app/images/loading@2x.png rename to images/loading@2x.png diff --git a/app/images/minimize.png b/images/minimize.png similarity index 100% rename from app/images/minimize.png rename to images/minimize.png diff --git a/app/images/minimize@2x.png b/images/minimize@2x.png similarity index 100% rename from app/images/minimize@2x.png rename to images/minimize@2x.png diff --git a/app/images/official.png b/images/official.png similarity index 100% rename from app/images/official.png rename to images/official.png diff --git a/app/images/official@2x.png b/images/official@2x.png similarity index 100% rename from app/images/official@2x.png rename to images/official@2x.png diff --git a/app/images/paused.png b/images/paused.png similarity index 100% rename from app/images/paused.png rename to images/paused.png diff --git a/app/images/paused@2x.png b/images/paused@2x.png similarity index 100% rename from app/images/paused@2x.png rename to images/paused@2x.png diff --git a/app/images/restarting.png b/images/restarting.png similarity index 100% rename from app/images/restarting.png rename to images/restarting.png diff --git a/app/images/restarting@2x.png b/images/restarting@2x.png similarity index 100% rename from app/images/restarting@2x.png rename to images/restarting@2x.png diff --git a/app/images/roundedcontainer.png b/images/roundedcontainer.png similarity index 100% rename from app/images/roundedcontainer.png rename to images/roundedcontainer.png diff --git a/app/images/roundedcontainer@2x.png b/images/roundedcontainer@2x.png similarity index 100% rename from app/images/roundedcontainer@2x.png rename to images/roundedcontainer@2x.png diff --git a/app/images/running-white.png b/images/running-white.png similarity index 100% rename from app/images/running-white.png rename to images/running-white.png diff --git a/app/images/running-white@2x.png b/images/running-white@2x.png similarity index 100% rename from app/images/running-white@2x.png rename to images/running-white@2x.png diff --git a/app/images/running.png b/images/running.png similarity index 100% rename from app/images/running.png rename to images/running.png diff --git a/app/images/running@2x.png b/images/running@2x.png similarity index 100% rename from app/images/running@2x.png rename to images/running@2x.png diff --git a/app/images/runningwave-white.png b/images/runningwave-white.png similarity index 100% rename from app/images/runningwave-white.png rename to images/runningwave-white.png diff --git a/app/images/runningwave-white@2x.png b/images/runningwave-white@2x.png similarity index 100% rename from app/images/runningwave-white@2x.png rename to images/runningwave-white@2x.png diff --git a/app/images/runningwave.png b/images/runningwave.png similarity index 100% rename from app/images/runningwave.png rename to images/runningwave.png diff --git a/app/images/runningwave@2x.png b/images/runningwave@2x.png similarity index 100% rename from app/images/runningwave@2x.png rename to images/runningwave@2x.png diff --git a/app/images/still-white.png b/images/still-white.png similarity index 100% rename from app/images/still-white.png rename to images/still-white.png diff --git a/app/images/still-white@2x.png b/images/still-white@2x.png similarity index 100% rename from app/images/still-white@2x.png rename to images/still-white@2x.png diff --git a/app/images/stopped-white.png b/images/stopped-white.png similarity index 100% rename from app/images/stopped-white.png rename to images/stopped-white.png diff --git a/app/images/stopped-white@2x.png b/images/stopped-white@2x.png similarity index 100% rename from app/images/stopped-white@2x.png rename to images/stopped-white@2x.png diff --git a/app/images/stopped.png b/images/stopped.png similarity index 100% rename from app/images/stopped.png rename to images/stopped.png diff --git a/app/images/stopped@2x.png b/images/stopped@2x.png similarity index 100% rename from app/images/stopped@2x.png rename to images/stopped@2x.png diff --git a/app/images/wavy-white.png b/images/wavy-white.png similarity index 100% rename from app/images/wavy-white.png rename to images/wavy-white.png diff --git a/app/images/wavy-white@2x.png b/images/wavy-white@2x.png similarity index 100% rename from app/images/wavy-white@2x.png rename to images/wavy-white@2x.png diff --git a/app/index.html b/index.html similarity index 83% rename from app/index.html rename to index.html index 699c7186f0..a97ba8b788 100644 --- a/app/index.html +++ b/index.html @@ -7,5 +7,6 @@
+