diff --git a/tasks/admin/components/create.js b/tasks/admin/components/create.js index 6216debb5..4a2e15c7f 100644 --- a/tasks/admin/components/create.js +++ b/tasks/admin/components/create.js @@ -290,7 +290,8 @@ module.exports = function(callback) { filenames += file.contents; })) .on('end', function() { - filenames = filenames.replace(regExp.trailingComma, '').trim(); // remove trailing slash + // remove trailing slash + filenames = filenames.replace(regExp.match.trailingComma, '').trim(); gulp.src(release.templates.meteor.component) .pipe(plumber()) .pipe(flatten()) diff --git a/tasks/admin/distributions/create.js b/tasks/admin/distributions/create.js index b589fc778..bdcc76f99 100644 --- a/tasks/admin/distributions/create.js +++ b/tasks/admin/distributions/create.js @@ -65,6 +65,7 @@ module.exports = function(callback) { repoName = release.distRepoRoot + distribution, regExp = { match : { + files : '{files}', version : '{version}' } }, @@ -73,15 +74,69 @@ module.exports = function(callback) { repo : distribution + ' create repo', meteor : distribution + ' create meteor package.js', package : distribution + ' create package.json' - } + }, + gatherFiles, + createList ; + // get files for meteor + gatherFiles = function(dir) { + var + dir = dir || path.resolve('.'), + list = fs.readdirSync(dir), + omitted = [ + '.git', + 'node_modules', + 'package.js', + 'package.json', + 'bower.json', + '.gitignore' + ] + files = [] + ; + list.forEach(function(file) { + var + isOmitted = (omitted.indexOf(file) > -1), + filePath = path.join(dir, file), + stat = fs.statSync(filePath) + ; + if(!isOmitted) { + if(stat && stat.isDirectory()) { + files = files.concat(gatherFiles(filePath)); + } + else { + files.push(filePath.replace(outputDirectory + path.sep, '')); + } + } + }) + return files + }; + + // spaces out list correctly + createList = function(files) { + var filenames = ''; + for(file in files) { + if(file == (files.length - 1) ) { + filenames += "'" + files[file] + "'"; + } + else { + filenames += "'" + files[file] + "',\n "; + } + } + return filenames; + }; + gulp.task(task.meteor, function() { + var + files = gatherFiles(outputDirectory) + filenames = createList(files) + ; gulp.src(release.templates.meteor[distLowerCase]) .pipe(plumber()) .pipe(flatten()) .pipe(replace(regExp.match.version, version)) + .pipe(replace(regExp.match.files, filenames)) .pipe(rename(release.files.meteor)) .pipe(gulp.dest(outputDirectory)) ; @@ -100,7 +155,7 @@ module.exports = function(callback) { else if(distribution == 'LESS') { gulp.task(task.repo, function() { return gulp.src('./src/theme.config.example', { base: './src/' }) - .pipe(gulp.src('./src/theme.less*', { base: './src/' })) + .pipe(gulp.src('./src/theme.less', { base: './src/' })) .pipe(gulp.src('./src/definitions/**/*', { base: './src/' })) .pipe(gulp.src('./src/_site/**/*', { base: './src/' })) .pipe(gulp.src('./src/themes/**/*', { base: './src/' })) diff --git a/tasks/config/admin/templates/css-package.js b/tasks/config/admin/templates/css-package.js index b6d8f8848..ad17ade93 100644 --- a/tasks/config/admin/templates/css-package.js +++ b/tasks/config/admin/templates/css-package.js @@ -11,37 +11,10 @@ Package.describe({ Package.onUse(function(api) { - var - fs = require('fs'), - path = require('path'), - files, - walk - ; - - // recursive sync walk - walk = function(dir) { - var - dir = dir || path.resolve('.'), - list = fs.readdirSync(dir), - files = [] - ; - list.forEach(function(file) { - var - filePath = path.join(dir, file), - stat = fs.statSync(filePath) - ; - if(stat && stat.isDirectory() && file !== 'node_modules') { - files = files.concat(walk(filePath)); - } - else { - files.push(filePath); - } - }) - return files - } - files = walk(); - api.versionsFrom('1.0'); - api.addFiles(files, 'client'); + + api.addFiles([ + {files} + ], 'client'); }); diff --git a/tasks/config/admin/templates/less-package.js b/tasks/config/admin/templates/less-package.js index 47a8efb82..e2f8a253d 100644 --- a/tasks/config/admin/templates/less-package.js +++ b/tasks/config/admin/templates/less-package.js @@ -11,38 +11,11 @@ Package.describe({ Package.onUse(function(api) { - var - fs = Npm.require('fs'), - path = Npm.require('path'), - files, - walk - ; - - // recursive sync walk - walk = function(dir) { - var - dir = dir || path.resolve('.'), - list = fs.readdirSync(dir), - files = [] - ; - list.forEach(function(file) { - var - filePath = path.join(dir, file), - stat = fs.statSync(filePath) - ; - if(stat && stat.isDirectory() && file !== 'node_modules') { - files = files.concat(walk(filePath)); - } - else { - files.push(filePath); - } - }) - return files - } - files = walk(); api.versionsFrom('1.0'); - api.use('less', 'client'); - api.addFiles(files, 'client'); + + api.addFiles([ + {files} + ], 'client'); });