|
@ -16,57 +16,40 @@ var |
|
|
del = require('del'), |
|
|
del = require('del'), |
|
|
extend = require('extend'), |
|
|
extend = require('extend'), |
|
|
fs = require('fs'), |
|
|
fs = require('fs'), |
|
|
|
|
|
|
|
|
|
|
|
// unsure
|
|
|
path = require('path'), |
|
|
path = require('path'), |
|
|
runSequence = require('run-sequence'), |
|
|
|
|
|
wrench = require('wrench'), |
|
|
|
|
|
|
|
|
|
|
|
// gulp dependencies
|
|
|
|
|
|
|
|
|
// watch / build deps
|
|
|
autoprefixer = require('gulp-autoprefixer'), |
|
|
autoprefixer = require('gulp-autoprefixer'), |
|
|
chmod = require('gulp-chmod'), |
|
|
chmod = require('gulp-chmod'), |
|
|
clone = require('gulp-clone'), |
|
|
clone = require('gulp-clone'), |
|
|
concat = require('gulp-concat'), |
|
|
concat = require('gulp-concat'), |
|
|
concatCSS = require('gulp-concat-css'), |
|
|
|
|
|
concatFileNames = require('gulp-concat-filenames'), |
|
|
|
|
|
copy = require('gulp-copy'), |
|
|
copy = require('gulp-copy'), |
|
|
debug = require('gulp-debug'), |
|
|
debug = require('gulp-debug'), |
|
|
flatten = require('gulp-flatten'), |
|
|
flatten = require('gulp-flatten'), |
|
|
header = require('gulp-header'), |
|
|
header = require('gulp-header'), |
|
|
jeditor = require('gulp-json-editor'), |
|
|
|
|
|
karma = require('gulp-karma'), |
|
|
karma = require('gulp-karma'), |
|
|
less = require('gulp-less'), |
|
|
less = require('gulp-less'), |
|
|
minifyCSS = require('gulp-minify-css'), |
|
|
minifyCSS = require('gulp-minify-css'), |
|
|
notify = require('gulp-notify'), |
|
|
|
|
|
plumber = require('gulp-plumber'), |
|
|
plumber = require('gulp-plumber'), |
|
|
print = require('gulp-print'), |
|
|
print = require('gulp-print'), |
|
|
prompt = require('gulp-prompt'), |
|
|
|
|
|
rename = require('gulp-rename'), |
|
|
rename = require('gulp-rename'), |
|
|
replace = require('gulp-replace'), |
|
|
replace = require('gulp-replace'), |
|
|
rtlcss = require('gulp-rtlcss'), |
|
|
|
|
|
sourcemaps = require('gulp-sourcemaps'), |
|
|
|
|
|
tap = require('gulp-tap'), |
|
|
|
|
|
uglify = require('gulp-uglify'), |
|
|
uglify = require('gulp-uglify'), |
|
|
util = require('gulp-util'), |
|
|
util = require('gulp-util'), |
|
|
watch = require('gulp-watch'), |
|
|
watch = require('gulp-watch'), |
|
|
|
|
|
|
|
|
|
|
|
// rtl
|
|
|
|
|
|
rtlcss = require('gulp-rtlcss'), |
|
|
|
|
|
|
|
|
// config
|
|
|
// config
|
|
|
banner = require('./tasks/banner'), |
|
|
banner = require('./tasks/banner'), |
|
|
comments = require('./tasks/comments'), |
|
|
comments = require('./tasks/comments'), |
|
|
defaults = require('./tasks/defaults'), |
|
|
defaults = require('./tasks/defaults'), |
|
|
log = require('./tasks/log'), |
|
|
log = require('./tasks/log'), |
|
|
questions = require('./tasks/questions'), |
|
|
|
|
|
settings = require('./tasks/gulp-settings'), |
|
|
settings = require('./tasks/gulp-settings'), |
|
|
|
|
|
|
|
|
// admin
|
|
|
|
|
|
release = require('./tasks/admin/release'), |
|
|
|
|
|
git = require('gulp-git'), |
|
|
|
|
|
githubAPI = require('github'), |
|
|
|
|
|
|
|
|
|
|
|
oAuth = fs.existsSync('./tasks/admin/oauth.js') |
|
|
|
|
|
? require('./tasks/admin/oauth') |
|
|
|
|
|
: false, |
|
|
|
|
|
github, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// local
|
|
|
// local
|
|
|
runSetup = false, |
|
|
runSetup = false, |
|
|
overwrite = true, |
|
|
overwrite = true, |
|
@ -136,14 +119,6 @@ var |
|
|
: 'Unknown' |
|
|
: 'Unknown' |
|
|
; |
|
|
; |
|
|
|
|
|
|
|
|
// create glob for matching filenames from components in semantic.json
|
|
|
|
|
|
componentGlob = (typeof config.components == 'object') |
|
|
|
|
|
? (config.components.length > 1) |
|
|
|
|
|
? '{' + config.components.join(',') + '}' |
|
|
|
|
|
: config.components[0] |
|
|
|
|
|
: '{' + defaults.components.join(',') + '}' |
|
|
|
|
|
; |
|
|
|
|
|
|
|
|
|
|
|
// relative asset paths for css
|
|
|
// relative asset paths for css
|
|
|
assetPaths = { |
|
|
assetPaths = { |
|
|
uncompressed : path.relative(output.uncompressed, output.themes).replace(/\\/g,'/'), |
|
|
uncompressed : path.relative(output.uncompressed, output.themes).replace(/\\/g,'/'), |
|
@ -163,6 +138,15 @@ var |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
clean = base + clean; |
|
|
clean = base + clean; |
|
|
|
|
|
|
|
|
|
|
|
// create glob for matching filenames from components in semantic.json
|
|
|
|
|
|
componentGlob = (typeof config.components == 'object') |
|
|
|
|
|
? (config.components.length > 1) |
|
|
|
|
|
? '{' + config.components.join(',') + '}' |
|
|
|
|
|
: config.components[0] |
|
|
|
|
|
: '{' + defaults.components.join(',') + '}' |
|
|
|
|
|
; |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
; |
|
|
; |
|
|
|
|
|
|
|
@ -250,7 +234,6 @@ gulp.task('watch', 'Watch for site/theme changes (Default Task)', function(callb |
|
|
// unified css stream
|
|
|
// unified css stream
|
|
|
stream = gulp.src(srcPath) |
|
|
stream = gulp.src(srcPath) |
|
|
.pipe(plumber()) |
|
|
.pipe(plumber()) |
|
|
//.pipe(sourcemaps.init())
|
|
|
|
|
|
.pipe(less(settings.less)) |
|
|
.pipe(less(settings.less)) |
|
|
.pipe(replace(comments.variables.in, comments.variables.out)) |
|
|
.pipe(replace(comments.variables.in, comments.variables.out)) |
|
|
.pipe(replace(comments.large.in, comments.large.out)) |
|
|
.pipe(replace(comments.large.in, comments.large.out)) |
|
@ -266,7 +249,6 @@ gulp.task('watch', 'Watch for site/theme changes (Default Task)', function(callb |
|
|
uncompressedStream |
|
|
uncompressedStream |
|
|
.pipe(plumber()) |
|
|
.pipe(plumber()) |
|
|
.pipe(replace(assetPaths.source, assetPaths.uncompressed)) |
|
|
.pipe(replace(assetPaths.source, assetPaths.uncompressed)) |
|
|
//.pipe(sourcemaps.write('/', settings.sourcemap))
|
|
|
|
|
|
.pipe(header(banner, settings.header)) |
|
|
.pipe(header(banner, settings.header)) |
|
|
.pipe(chmod(config.permission)) |
|
|
.pipe(chmod(config.permission)) |
|
|
.pipe(gulp.dest(output.uncompressed)) |
|
|
.pipe(gulp.dest(output.uncompressed)) |
|
@ -282,7 +264,6 @@ gulp.task('watch', 'Watch for site/theme changes (Default Task)', function(callb |
|
|
.pipe(replace(assetPaths.source, assetPaths.compressed)) |
|
|
.pipe(replace(assetPaths.source, assetPaths.compressed)) |
|
|
.pipe(minifyCSS(settings.minify)) |
|
|
.pipe(minifyCSS(settings.minify)) |
|
|
.pipe(rename(settings.rename.minCSS)) |
|
|
.pipe(rename(settings.rename.minCSS)) |
|
|
//.pipe(sourcemaps.write('/', settings.sourcemap))
|
|
|
|
|
|
.pipe(header(banner, settings.header)) |
|
|
.pipe(header(banner, settings.header)) |
|
|
.pipe(chmod(config.permission)) |
|
|
.pipe(chmod(config.permission)) |
|
|
.pipe(gulp.dest(output.compressed)) |
|
|
.pipe(gulp.dest(output.compressed)) |
|
@ -299,10 +280,10 @@ gulp.task('watch', 'Watch for site/theme changes (Default Task)', function(callb |
|
|
}) |
|
|
}) |
|
|
; |
|
|
; |
|
|
|
|
|
|
|
|
// watch for changes in assets
|
|
|
|
|
|
|
|
|
// watch for changes in assets that match component names (or their plural)
|
|
|
gulp |
|
|
gulp |
|
|
.watch([ |
|
|
.watch([ |
|
|
source.themes + '**/assets/**' |
|
|
|
|
|
|
|
|
source.themes + '**/assets/**/' + componentGlob + '?(s).*' |
|
|
], function(file) { |
|
|
], function(file) { |
|
|
// copy assets
|
|
|
// copy assets
|
|
|
gulp.src(file.path, { base: source.themes }) |
|
|
gulp.src(file.path, { base: source.themes }) |
|
@ -323,7 +304,6 @@ gulp.task('watch', 'Watch for site/theme changes (Default Task)', function(callb |
|
|
.pipe(chmod(config.permission)) |
|
|
.pipe(chmod(config.permission)) |
|
|
.pipe(gulp.dest(output.uncompressed)) |
|
|
.pipe(gulp.dest(output.uncompressed)) |
|
|
.pipe(print(log.created)) |
|
|
.pipe(print(log.created)) |
|
|
.pipe(sourcemaps.init()) |
|
|
|
|
|
.pipe(uglify(settings.uglify)) |
|
|
.pipe(uglify(settings.uglify)) |
|
|
.pipe(rename(settings.rename.minJS)) |
|
|
.pipe(rename(settings.rename.minJS)) |
|
|
.pipe(chmod(config.permission)) |
|
|
.pipe(chmod(config.permission)) |
|
@ -364,7 +344,7 @@ gulp.task('build', 'Builds all files from source', function(callback) { |
|
|
assetPaths.source = '../../themes'; // path.relative returns wrong path (hardcoded for src)
|
|
|
assetPaths.source = '../../themes'; // path.relative returns wrong path (hardcoded for src)
|
|
|
|
|
|
|
|
|
// copy assets
|
|
|
// copy assets
|
|
|
gulp.src(source.themes + '**/assets/**') |
|
|
|
|
|
|
|
|
gulp.src(source.themes + '**/assets/**/' + componentGlob + '?(s).*') |
|
|
.pipe(chmod(config.permission)) |
|
|
.pipe(chmod(config.permission)) |
|
|
.pipe(gulp.dest(output.themes)) |
|
|
.pipe(gulp.dest(output.themes)) |
|
|
; |
|
|
; |
|
@ -376,7 +356,6 @@ gulp.task('build', 'Builds all files from source', function(callback) { |
|
|
.pipe(chmod(config.permission)) |
|
|
.pipe(chmod(config.permission)) |
|
|
.pipe(gulp.dest(output.uncompressed)) |
|
|
.pipe(gulp.dest(output.uncompressed)) |
|
|
.pipe(print(log.created)) |
|
|
.pipe(print(log.created)) |
|
|
// .pipe(sourcemaps.init())
|
|
|
|
|
|
.pipe(uglify(settings.uglify)) |
|
|
.pipe(uglify(settings.uglify)) |
|
|
.pipe(rename(settings.rename.minJS)) |
|
|
.pipe(rename(settings.rename.minJS)) |
|
|
.pipe(header(banner, settings.header)) |
|
|
.pipe(header(banner, settings.header)) |
|
@ -392,7 +371,6 @@ gulp.task('build', 'Builds all files from source', function(callback) { |
|
|
// unified css stream
|
|
|
// unified css stream
|
|
|
stream = gulp.src(source.definitions + '**/' + componentGlob + '.less') |
|
|
stream = gulp.src(source.definitions + '**/' + componentGlob + '.less') |
|
|
.pipe(plumber()) |
|
|
.pipe(plumber()) |
|
|
//.pipe(sourcemaps.init())
|
|
|
|
|
|
.pipe(less(settings.less)) |
|
|
.pipe(less(settings.less)) |
|
|
.pipe(flatten()) |
|
|
.pipe(flatten()) |
|
|
.pipe(replace(comments.variables.in, comments.variables.out)) |
|
|
.pipe(replace(comments.variables.in, comments.variables.out)) |
|
@ -409,7 +387,6 @@ gulp.task('build', 'Builds all files from source', function(callback) { |
|
|
uncompressedStream |
|
|
uncompressedStream |
|
|
.pipe(plumber()) |
|
|
.pipe(plumber()) |
|
|
.pipe(replace(assetPaths.source, assetPaths.uncompressed)) |
|
|
.pipe(replace(assetPaths.source, assetPaths.uncompressed)) |
|
|
//.pipe(sourcemaps.write('/', settings.sourcemap))
|
|
|
|
|
|
.pipe(header(banner, settings.header)) |
|
|
.pipe(header(banner, settings.header)) |
|
|
.pipe(chmod(config.permission)) |
|
|
.pipe(chmod(config.permission)) |
|
|
.pipe(gulp.dest(output.uncompressed)) |
|
|
.pipe(gulp.dest(output.uncompressed)) |
|
@ -425,7 +402,6 @@ gulp.task('build', 'Builds all files from source', function(callback) { |
|
|
.pipe(replace(assetPaths.source, assetPaths.compressed)) |
|
|
.pipe(replace(assetPaths.source, assetPaths.compressed)) |
|
|
.pipe(minifyCSS(settings.minify)) |
|
|
.pipe(minifyCSS(settings.minify)) |
|
|
.pipe(rename(settings.rename.minCSS)) |
|
|
.pipe(rename(settings.rename.minCSS)) |
|
|
//.pipe(sourcemaps.write('/', settings.sourcemap))
|
|
|
|
|
|
.pipe(header(banner, settings.header)) |
|
|
.pipe(header(banner, settings.header)) |
|
|
.pipe(chmod(config.permission)) |
|
|
.pipe(chmod(config.permission)) |
|
|
.pipe(gulp.dest(output.compressed)) |
|
|
.pipe(gulp.dest(output.compressed)) |
|
@ -446,11 +422,11 @@ gulp.task('version', 'Displays current version of Semantic', function(callback) |
|
|
console.log('Semantic UI ' + version); |
|
|
console.log('Semantic UI ' + version); |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/******************************* |
|
|
/******************************* |
|
|
RTL Tasks |
|
|
RTL Tasks |
|
|
*******************************/ |
|
|
*******************************/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* Watch RTL */ |
|
|
/* Watch RTL */ |
|
|
gulp.task('watch rtl', 'Watch for site/theme changes (Default Task)', function(callback) { |
|
|
gulp.task('watch rtl', 'Watch for site/theme changes (Default Task)', function(callback) { |
|
|
|
|
|
|
|
@ -513,7 +489,6 @@ gulp.task('watch rtl', 'Watch for site/theme changes (Default Task)', function(c |
|
|
// unified css stream
|
|
|
// unified css stream
|
|
|
stream = gulp.src(srcPath) |
|
|
stream = gulp.src(srcPath) |
|
|
.pipe(plumber()) |
|
|
.pipe(plumber()) |
|
|
//.pipe(sourcemaps.init())
|
|
|
|
|
|
.pipe(less(settings.less)) |
|
|
.pipe(less(settings.less)) |
|
|
.pipe(replace(comments.variables.in, comments.variables.out)) |
|
|
.pipe(replace(comments.variables.in, comments.variables.out)) |
|
|
.pipe(replace(comments.large.in, comments.large.out)) |
|
|
.pipe(replace(comments.large.in, comments.large.out)) |
|
@ -530,7 +505,6 @@ gulp.task('watch rtl', 'Watch for site/theme changes (Default Task)', function(c |
|
|
uncompressedStream |
|
|
uncompressedStream |
|
|
.pipe(plumber()) |
|
|
.pipe(plumber()) |
|
|
.pipe(replace(assetPaths.source, assetPaths.uncompressed)) |
|
|
.pipe(replace(assetPaths.source, assetPaths.uncompressed)) |
|
|
//.pipe(sourcemaps.write('/', settings.sourcemap))
|
|
|
|
|
|
.pipe(header(banner, settings.header)) |
|
|
.pipe(header(banner, settings.header)) |
|
|
.pipe(chmod(config.permission)) |
|
|
.pipe(chmod(config.permission)) |
|
|
.pipe(rename(settings.rename.rtlCSS)) |
|
|
.pipe(rename(settings.rename.rtlCSS)) |
|
@ -546,7 +520,6 @@ gulp.task('watch rtl', 'Watch for site/theme changes (Default Task)', function(c |
|
|
.pipe(clone()) |
|
|
.pipe(clone()) |
|
|
.pipe(replace(assetPaths.source, assetPaths.compressed)) |
|
|
.pipe(replace(assetPaths.source, assetPaths.compressed)) |
|
|
.pipe(minifyCSS(settings.minify)) |
|
|
.pipe(minifyCSS(settings.minify)) |
|
|
//.pipe(sourcemaps.write('/', settings.sourcemap))
|
|
|
|
|
|
.pipe(header(banner, settings.header)) |
|
|
.pipe(header(banner, settings.header)) |
|
|
.pipe(chmod(config.permission)) |
|
|
.pipe(chmod(config.permission)) |
|
|
.pipe(rename(settings.rename.rtlMinCSS)) |
|
|
.pipe(rename(settings.rename.rtlMinCSS)) |
|
@ -588,7 +561,6 @@ gulp.task('watch rtl', 'Watch for site/theme changes (Default Task)', function(c |
|
|
.pipe(chmod(config.permission)) |
|
|
.pipe(chmod(config.permission)) |
|
|
.pipe(gulp.dest(output.uncompressed)) |
|
|
.pipe(gulp.dest(output.uncompressed)) |
|
|
.pipe(print(log.created)) |
|
|
.pipe(print(log.created)) |
|
|
.pipe(sourcemaps.init()) |
|
|
|
|
|
.pipe(uglify(settings.uglify)) |
|
|
.pipe(uglify(settings.uglify)) |
|
|
.pipe(rename(settings.rename.minJS)) |
|
|
.pipe(rename(settings.rename.minJS)) |
|
|
.pipe(chmod(config.permission)) |
|
|
.pipe(chmod(config.permission)) |
|
@ -636,7 +608,6 @@ gulp.task('build rtl', 'Builds all files from source', function(callback) { |
|
|
.pipe(chmod(config.permission)) |
|
|
.pipe(chmod(config.permission)) |
|
|
.pipe(gulp.dest(output.uncompressed)) |
|
|
.pipe(gulp.dest(output.uncompressed)) |
|
|
.pipe(print(log.created)) |
|
|
.pipe(print(log.created)) |
|
|
// .pipe(sourcemaps.init())
|
|
|
|
|
|
.pipe(uglify(settings.uglify)) |
|
|
.pipe(uglify(settings.uglify)) |
|
|
.pipe(rename(settings.rename.minJS)) |
|
|
.pipe(rename(settings.rename.minJS)) |
|
|
.pipe(header(banner, settings.header)) |
|
|
.pipe(header(banner, settings.header)) |
|
@ -652,7 +623,6 @@ gulp.task('build rtl', 'Builds all files from source', function(callback) { |
|
|
// unified css stream
|
|
|
// unified css stream
|
|
|
stream = gulp.src(source.definitions + '**/' + componentGlob + '.less') |
|
|
stream = gulp.src(source.definitions + '**/' + componentGlob + '.less') |
|
|
.pipe(plumber()) |
|
|
.pipe(plumber()) |
|
|
//.pipe(sourcemaps.init())
|
|
|
|
|
|
.pipe(less(settings.less)) |
|
|
.pipe(less(settings.less)) |
|
|
.pipe(flatten()) |
|
|
.pipe(flatten()) |
|
|
.pipe(replace(comments.variables.in, comments.variables.out)) |
|
|
.pipe(replace(comments.variables.in, comments.variables.out)) |
|
@ -670,7 +640,6 @@ gulp.task('build rtl', 'Builds all files from source', function(callback) { |
|
|
uncompressedStream |
|
|
uncompressedStream |
|
|
.pipe(plumber()) |
|
|
.pipe(plumber()) |
|
|
.pipe(replace(assetPaths.source, assetPaths.uncompressed)) |
|
|
.pipe(replace(assetPaths.source, assetPaths.uncompressed)) |
|
|
//.pipe(sourcemaps.write('/', settings.sourcemap))
|
|
|
|
|
|
.pipe(rename(settings.rename.rtlCSS)) |
|
|
.pipe(rename(settings.rename.rtlCSS)) |
|
|
.pipe(header(banner, settings.header)) |
|
|
.pipe(header(banner, settings.header)) |
|
|
.pipe(chmod(config.permission)) |
|
|
.pipe(chmod(config.permission)) |
|
@ -687,7 +656,6 @@ gulp.task('build rtl', 'Builds all files from source', function(callback) { |
|
|
.pipe(replace(assetPaths.source, assetPaths.compressed)) |
|
|
.pipe(replace(assetPaths.source, assetPaths.compressed)) |
|
|
.pipe(minifyCSS(settings.minify)) |
|
|
.pipe(minifyCSS(settings.minify)) |
|
|
.pipe(rename(settings.rename.rtlMinCSS)) |
|
|
.pipe(rename(settings.rename.rtlMinCSS)) |
|
|
//.pipe(sourcemaps.write('/', settings.sourcemap))
|
|
|
|
|
|
.pipe(header(banner, settings.header)) |
|
|
.pipe(header(banner, settings.header)) |
|
|
.pipe(chmod(config.permission)) |
|
|
.pipe(chmod(config.permission)) |
|
|
.pipe(gulp.dest(output.compressed)) |
|
|
.pipe(gulp.dest(output.compressed)) |
|
@ -773,10 +741,19 @@ gulp.task('package compressed js', false, function() { |
|
|
; |
|
|
; |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
/******************************* |
|
|
|
|
|
Install Tasks |
|
|
|
|
|
*******************************/ |
|
|
|
|
|
|
|
|
|
|
|
var |
|
|
|
|
|
// install dependencies
|
|
|
|
|
|
jeditor = require('gulp-json-editor'), |
|
|
|
|
|
prompt = require('gulp-prompt'), |
|
|
|
|
|
wrench = require('wrench'), |
|
|
|
|
|
|
|
|
/*-------------- |
|
|
|
|
|
Config |
|
|
|
|
|
---------------*/ |
|
|
|
|
|
|
|
|
questions = require('./tasks/questions'), |
|
|
|
|
|
|
|
|
|
|
|
; |
|
|
|
|
|
|
|
|
gulp.task('check install', false, function () { |
|
|
gulp.task('check install', false, function () { |
|
|
setTimeout(function() { |
|
|
setTimeout(function() { |
|
@ -934,16 +911,36 @@ gulp.task('install', 'Set-up project for first time', function () { |
|
|
*******************************/ |
|
|
*******************************/ |
|
|
|
|
|
|
|
|
var |
|
|
var |
|
|
|
|
|
// admin dependencies
|
|
|
|
|
|
concatFileNames = require('gulp-concat-filenames'), |
|
|
|
|
|
git = require('gulp-git'), |
|
|
|
|
|
githubAPI = require('github'), |
|
|
|
|
|
runSequence = require('run-sequence'), |
|
|
|
|
|
tap = require('gulp-tap'), |
|
|
|
|
|
|
|
|
|
|
|
// admin files
|
|
|
adminQuestions = require('./tasks/admin/questions'), |
|
|
adminQuestions = require('./tasks/admin/questions'), |
|
|
newVersion = false |
|
|
|
|
|
|
|
|
release = require('./tasks/admin/release'), |
|
|
|
|
|
|
|
|
|
|
|
// stores oauth info for GitHub API
|
|
|
|
|
|
oAuth = fs.existsSync('./tasks/admin/oauth.js') |
|
|
|
|
|
? require('./tasks/admin/oauth') |
|
|
|
|
|
: false, |
|
|
|
|
|
github, |
|
|
|
|
|
|
|
|
; |
|
|
; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*-------------- |
|
|
|
|
|
Docs |
|
|
|
|
|
---------------*/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* Moves watched files to static site generator output */ |
|
|
/* Moves watched files to static site generator output */ |
|
|
gulp.task('serve-docs', false, function () { |
|
|
gulp.task('serve-docs', false, function () { |
|
|
config = require('./tasks/admin/docs.json'); |
|
|
config = require('./tasks/admin/docs.json'); |
|
|
getConfigValues(); |
|
|
getConfigValues(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// copy source files
|
|
|
// copy source files
|
|
|
gulp |
|
|
gulp |
|
|
.watch([ |
|
|
.watch([ |
|
@ -981,10 +978,18 @@ gulp.task('build-docs', false, function () { |
|
|
|
|
|
|
|
|
/* Release */ |
|
|
/* Release */ |
|
|
gulp.task('release', false, function() { |
|
|
gulp.task('release', false, function() { |
|
|
// gulp bump
|
|
|
|
|
|
// Ask for release type (minor, major, patch)
|
|
|
|
|
|
// Bump package.json
|
|
|
|
|
|
// Bump composer.json
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// gulp build
|
|
|
|
|
|
runSequence( |
|
|
|
|
|
'build', |
|
|
|
|
|
'create files' |
|
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
/* Release All */ |
|
|
|
|
|
gulp.task('release all', false, function() { |
|
|
|
|
|
|
|
|
if(!oAuth) { |
|
|
if(!oAuth) { |
|
|
console.error('Must add node include tasks/admin/oauth.js with oauth token for GitHub'); |
|
|
console.error('Must add node include tasks/admin/oauth.js with oauth token for GitHub'); |
|
|
return; |
|
|
return; |
|
@ -1003,17 +1008,12 @@ gulp.task('release', false, function() { |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
// gulp build
|
|
|
// gulp build
|
|
|
//runSequence('update git');
|
|
|
|
|
|
runSequence('build', 'create repos', 'update git'); |
|
|
|
|
|
|
|
|
|
|
|
// #Create SCSS Version
|
|
|
|
|
|
// #Create RTL Release
|
|
|
|
|
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
runSequence( |
|
|
|
|
|
'build', |
|
|
|
|
|
'create components', |
|
|
|
|
|
'update component repos' |
|
|
|
|
|
); |
|
|
|
|
|
|
|
|
/* Build Component Release Only */ |
|
|
|
|
|
gulp.task('build release', false, function() { |
|
|
|
|
|
runSequence('build', 'create repos'); |
|
|
|
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -1021,8 +1021,18 @@ gulp.task('build release', false, function() { |
|
|
Internal |
|
|
Internal |
|
|
---------------*/ |
|
|
---------------*/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gulp.task('create repos', false, function(callback) { |
|
|
|
|
|
|
|
|
/* |
|
|
|
|
|
This will create individual component repositories for each SUI component |
|
|
|
|
|
|
|
|
|
|
|
* copy component files from release |
|
|
|
|
|
* create commonjs files as index.js for NPM release |
|
|
|
|
|
* create release notes that filter only items related to component |
|
|
|
|
|
* custom package.json file from template |
|
|
|
|
|
* create bower.json from template |
|
|
|
|
|
* create README from template |
|
|
|
|
|
* create meteor.js file |
|
|
|
|
|
*/ |
|
|
|
|
|
gulp.task('create components', false, function(callback) { |
|
|
var |
|
|
var |
|
|
stream, |
|
|
stream, |
|
|
index, |
|
|
index, |
|
@ -1032,7 +1042,7 @@ gulp.task('create repos', false, function(callback) { |
|
|
for(index in release.components) { |
|
|
for(index in release.components) { |
|
|
|
|
|
|
|
|
var |
|
|
var |
|
|
component = release.components[index] |
|
|
|
|
|
|
|
|
component = release.components[index] |
|
|
; |
|
|
; |
|
|
|
|
|
|
|
|
// streams... designed to save time and make coding fun...
|
|
|
// streams... designed to save time and make coding fun...
|
|
@ -1242,23 +1252,23 @@ gulp.task('create repos', false, function(callback) { |
|
|
; |
|
|
; |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
// Creates Meteor package.js
|
|
|
|
|
|
// Tries to list assets to be added among the files list
|
|
|
|
|
|
// inside the package.js file for Meteor
|
|
|
|
|
|
|
|
|
// Creates component meteor package.js
|
|
|
gulp.task(task.meteor, function() { |
|
|
gulp.task(task.meteor, function() { |
|
|
var fileNames = ''; |
|
|
|
|
|
|
|
|
var |
|
|
|
|
|
fileNames = '' |
|
|
|
|
|
; |
|
|
if(isJavascript) { |
|
|
if(isJavascript) { |
|
|
fileNames += ' \'' + component + '.js\',\n'; |
|
|
fileNames += ' \'' + component + '.js\',\n'; |
|
|
} |
|
|
} |
|
|
if(isCSS) { |
|
|
if(isCSS) { |
|
|
fileNames += ' \'' + component + '.css\',\n'; |
|
|
fileNames += ' \'' + component + '.css\',\n'; |
|
|
} |
|
|
} |
|
|
return gulp.src(outputDirectory + '/assets/**', { base: outputDirectory}) |
|
|
|
|
|
|
|
|
return gulp.src(outputDirectory + '/assets/**/' + component + '?(s).*', { base: outputDirectory}) |
|
|
.pipe(concatFileNames('dummy.txt', { |
|
|
.pipe(concatFileNames('dummy.txt', { |
|
|
newline: '', |
|
|
|
|
|
root: outputDirectory, |
|
|
|
|
|
prepend: ' \'', |
|
|
|
|
|
append: '\',' |
|
|
|
|
|
|
|
|
newline : '', |
|
|
|
|
|
root : outputDirectory, |
|
|
|
|
|
prepend : ' \'', |
|
|
|
|
|
append : '\',' |
|
|
})) |
|
|
})) |
|
|
.pipe(tap(function(file) { fileNames += file.contents;})) |
|
|
.pipe(tap(function(file) { fileNames += file.contents;})) |
|
|
.on('end', function(){ |
|
|
.on('end', function(){ |
|
@ -1343,7 +1353,7 @@ gulp.task('register repos', false, function(callback) { |
|
|
stepRepo(); |
|
|
stepRepo(); |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
gulp.task('update git', false, function() { |
|
|
|
|
|
|
|
|
gulp.task('update component repos', false, function() { |
|
|
var |
|
|
var |
|
|
index = -1, |
|
|
index = -1, |
|
|
total = release.components.length, |
|
|
total = release.components.length, |
|
|