34 lines
		
	
	
		
			839 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			34 lines
		
	
	
		
			839 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|  | var which = require('which'); | ||
|  | 
 | ||
|  | module.exports = function(gulp) { | ||
|  |   var DART_SDK = false; | ||
|  |   try { | ||
|  |     which.sync('dart'); | ||
|  |     console.log('Dart SDK detected'); | ||
|  |     if (process.platform === 'win32') { | ||
|  |       DART_SDK = { | ||
|  |         PUB: 'pub.bat', | ||
|  |         ANALYZER: 'dartanalyzer.bat' | ||
|  |       }; | ||
|  |     } else { | ||
|  |       DART_SDK = { | ||
|  |         PUB: 'pub', | ||
|  |         ANALYZER: 'dartanalyzer' | ||
|  |       }; | ||
|  |     } | ||
|  |   } catch (e) { | ||
|  |     console.log('Dart SDK is not available, Dart tasks will be skipped.'); | ||
|  |     var gulpTaskFn = gulp.task.bind(gulp); | ||
|  |     gulp.task = function (name, deps, fn) { | ||
|  |       if (name.indexOf('.dart') === -1) { | ||
|  |         return gulpTaskFn(name, deps, fn); | ||
|  |       } else { | ||
|  |         return gulpTaskFn(name, function() { | ||
|  |           console.log('Dart SDK is not available. Skipping task: ' + name); | ||
|  |         }); | ||
|  |       } | ||
|  |     }; | ||
|  |   } | ||
|  |   return DART_SDK; | ||
|  | } |