diff --git a/gulpfile.js b/gulpfile.js index df1d0172c9698..dac718ca09c08 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -44,6 +44,18 @@ var mappings = { 'package': 'com.microsoft.azure.management.website', 'args': '-FT 1' }, + 'graph.rbac': { + 'dir': 'azure-mgmt-graph-rbac', + 'source': 'arm-graphrbac/compositeGraphRbacManagementClient.json', + 'package': 'com.microsoft.azure.management.graph.rbac', + 'args': '-FT 1' + }, + 'redis': { + 'dir': 'azure-mgmt-redis', + 'source': 'arm-redis/2015-08-01/swagger/redis.json', + 'package': 'com.microsoft.azure.management.redis', + 'args': '-FT 1' + }, 'datalake.store.filesystem': { 'dir': 'azure-mgmt-datalake-store', 'source': 'arm-datalake-store/filesystem/2015-10-01-preview/swagger/filesystem.json', @@ -91,7 +103,7 @@ var mappings = { }; gulp.task('default', function() { - console.log("Usage: gulp codegen [--spec-root ] [--projects ] [--autorest ]\n"); + console.log("Usage: gulp codegen [--spec-root ] [--projects ] [--autorest ] [--modeler ] [--autorest-args ]\n"); console.log("--spec-root"); console.log("\tRoot location of Swagger API specs, default value is \"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master\""); console.log("--projects\n\tComma separated projects to regenerate, default is all. List of available project names:"); @@ -99,6 +111,8 @@ gulp.task('default', function() { console.log('\t' + i.magenta); }); console.log("--autorest\n\tThe version of AutoRest. E.g. 0.15.0, or the location of AutoRest repo, E.g. E:\\repo\\autorest"); + console.log("--modeler\n\tSpecifies which modeler to use. Default is 'Swagger'"); + console.log("--autorest-args\n\tPasses additional argument to AutoRest generator"); }); var isWindows = (process.platform.lastIndexOf('win') === 0); @@ -111,6 +125,11 @@ var autoRestVersion = '0.17.0-Nightly20160706'; // default if (args['autorest'] !== undefined) { autoRestVersion = args['autorest']; } +var modeler = 'Swagger'; // default +if (args['modeler'] !== undefined) { + modeler = args['modeler']; +} +var autoRestArgs = args['autorest-args']; var autoRestExe; gulp.task('codegen', function(cb) { @@ -157,8 +176,13 @@ var codegen = function(project, cb) { if (mappings[project].fluent !== null && mappings[project].fluent === false) { generator = 'Azure.Java'; } - cmd = autoRestExe + ' -Modeler Swagger -CodeGenerator ' + generator + ' -Namespace ' + mappings[project].package + ' -Input ' + specRoot + '/' + mappings[project].source + - ' -outputDirectory ' + mappings[project].dir + '/src/main/java/' + mappings[project].package.replace(/\./g, '/') + ' -Header MICROSOFT_MIT_NO_CODEGEN'; + cmd = autoRestExe + ' -Modeler ' + modeler + + ' -CodeGenerator ' + generator + + ' -Namespace ' + mappings[project].package + + ' -Input ' + specRoot + '/' + mappings[project].source + + ' -outputDirectory ' + mappings[project].dir + '/src/main/java/' + mappings[project].package.replace(/\./g, '/') + + ' -Header MICROSOFT_MIT_NO_CODEGEN' + + ' -' + autoRestArgs; if (mappings[project].args !== undefined) { cmd = cmd + ' ' + mappings[project].args; }