Browse Source

Let gulp tasks be run from any directory by using process.cwd, fix permissions q in install

pull/1785/head
jlukic 10 years ago
parent
commit
1e0ded8af9
4 changed files with 93 additions and 33 deletions
  1. 49
      gulpfile.js
  2. 56
      tasks/config/npm/gulpfile.js
  3. 19
      tasks/config/project/config.js
  4. 2
      tasks/config/project/install.js

49
gulpfile.js

@ -3,47 +3,60 @@
*******************************/
var
gulp = require('gulp-help')(require('gulp')),
gulp = require('gulp-help')(require('gulp')),
// read user config to know what task to load
config = require('./tasks/config/user'),
config = require('./tasks/config/user'),
// import tasks
build = require('./tasks/build'),
clean = require('./tasks/clean'),
version = require('./tasks/version'),
watch = require('./tasks/watch'),
// install tasks
checkInstall = require('./tasks/check-install'),
install = require('./tasks/install'),
build = require('./tasks/build'),
clean = require('./tasks/clean'),
version = require('./tasks/version'),
watch = require('./tasks/watch'),
// docs tasks
serveDocs = require('./tasks/docs/serve'),
buildDocs = require('./tasks/docs/build')
serveDocs = require('./tasks/docs/serve'),
buildDocs = require('./tasks/docs/build'),
// rtl
buildRTL = require('./tasks/rtl/build'),
watchRTL = require('./tasks/rtl/watch')
;
/*--------------
Tasks
Common
---------------*/
gulp.task('default', false, [
'check install'
]);
gulp.task('watch', 'Watch for site/theme changes', watch);
gulp.task('build', 'Builds all files from source', build);
gulp.task('clean', 'Clean dist folder', clean);
gulp.task('version', 'Displays current version of Semantic', version);
gulp.task('check install', 'Check if project is setup', checkInstall);
gulp.task('install', 'Set-up project for first time', install);
/*--------------
Docs
---------------*/
gulp.task('serve-docs', 'Serve file changes to SUI Docs', serveDocs);
gulp.task('build-docs', 'Build all files and add to SUI Docs', buildDocs);
gulp.task('default', false, [
'check install'
]);
/*--------------
RTL
---------------*/
if(config.rtl) {
gulp.task('watch rtl', 'Build all files as RTL', watchRTL);
gulp.task('build rtl', 'Watch files as RTL ', buildRTL);
}
/*--------------
Admin

56
tasks/config/npm/gulpfile.js

@ -3,29 +3,65 @@
*******************************/
var
gulp = require('gulp-help')(require('gulp')),
gulp = require('gulp-help')(require('gulp')),
// read user config to know what task to load
config = require('./tasks/config/user'),
config = require('./tasks/config/user'),
// import tasks
build = require('./tasks/build'),
clean = require('./tasks/clean'),
version = require('./tasks/version'),
watch = require('./tasks/watch')
build = require('./tasks/build'),
clean = require('./tasks/clean'),
version = require('./tasks/version'),
watch = require('./tasks/watch'),
// docs tasks
serveDocs = require('./tasks/docs/serve'),
buildDocs = require('./tasks/docs/build'),
// rtl
buildRTL = require('./tasks/rtl/build'),
watchRTL = require('./tasks/rtl/watch')
;
/*--------------
Public
Common
---------------*/
gulp.task('default', false, [
'check install'
]);
gulp.task('watch', 'Watch for site/theme changes', watch);
gulp.task('build', 'Builds all files from source', build);
gulp.task('clean', 'Clean dist folder', clean);
gulp.task('version', 'Displays current version of Semantic', version);
gulp.task('default', false, [
'watch'
]);
/*--------------
Docs
---------------*/
gulp.task('serve-docs', 'Serve file changes to SUI Docs', serveDocs);
gulp.task('build-docs', 'Build all files and add to SUI Docs', buildDocs);
/*--------------
RTL
---------------*/
if(config.rtl) {
gulp.task('watch rtl', 'Build all files as RTL', watchRTL);
gulp.task('build rtl', 'Watch files as RTL ', buildRTL);
}
/*--------------
Admin
---------------*/
if(config.admin) {
}

19
tasks/config/project/config.js

@ -24,22 +24,33 @@ module.exports = {
File Paths
---------------*/
var
currentPath = process.cwd() + path.sep + '/tasks',
folder
;
// resolve source paths
for(var folder in config.paths.source) {
for(folder in config.paths.source) {
if(config.paths.source.hasOwnProperty(folder)) {
config.paths.source[folder] = path.normalize(config.base + config.paths.source[folder]);
// add base path
config.paths.source[folder] = path.join(config.base, config.paths.source[folder]);
// resolve relative path from cwd to output folder
config.paths.source[folder] = path.resolve( path.relative(currentPath, config.paths.source[folder]) ) + path.sep;
}
}
// resolve output paths
for(folder in config.paths.output) {
if(config.paths.output.hasOwnProperty(folder)) {
config.paths.output[folder] = path.normalize(config.base + config.paths.output[folder]);
// add base path
config.paths.output[folder] = path.join(config.base, config.paths.output[folder]);
// resolve relative path from cwd to output folder
config.paths.output[folder] = path.resolve( path.relative(currentPath, config.paths.output[folder]) ) + path.sep;
}
}
// resolve "clean" command path
config.paths.clean = config.base + config.paths.clean;
config.paths.clean = path.join(config.base, config.paths.clean);
/*--------------
CSS URLs

2
tasks/config/project/install.js

@ -416,7 +416,7 @@ module.exports = {
name: 'permission',
message: 'What octal file permission should outputted files receive?',
default: defaults.permission,
when: when.setPermission
when: when.changePermission
},
{
type: 'list',

Loading…
Cancel
Save