Skip to content

Commit

Permalink
Let gulp tasks be run from any directory by using process.cwd, fix pe…
Browse files Browse the repository at this point in the history
…rmissions q in install
  • Loading branch information
jlukic committed Feb 10, 2015
1 parent b435531 commit 1e0ded8
Show file tree
Hide file tree
Showing 4 changed files with 93 additions and 33 deletions.
49 changes: 31 additions & 18 deletions gulpfile.js
Expand Up @@ -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
Expand Down
56 changes: 46 additions & 10 deletions tasks/config/npm/gulpfile.js
Expand Up @@ -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 changes: 15 additions & 4 deletions tasks/config/project/config.js
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion tasks/config/project/install.js
Expand Up @@ -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',
Expand Down

0 comments on commit 1e0ded8

Please sign in to comment.