From 141bbfb05134bdd11e262d879bbd253bf4479519 Mon Sep 17 00:00:00 2001 From: Joe Bowser Date: Thu, 12 Jun 2014 17:51:22 -0700 Subject: [PATCH] CB-5971: This would have been a good first bug, too bad --- bin/lib/create.js | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/bin/lib/create.js b/bin/lib/create.js index dbdb84f3..f99d1da9 100755 --- a/bin/lib/create.js +++ b/bin/lib/create.js @@ -145,14 +145,32 @@ exports.createProject = function(project_path, package_name, project_name, proje return Q.reject('Project already exists! Delete and recreate'); } + //Make the package conform to Java package types if (!/[a-zA-Z0-9_]+\.[a-zA-Z0-9_](.[a-zA-Z0-9_])*/.test(package_name)) { return Q.reject('Package name must look like: com.company.Name'); } + //Enforce underscore limitation + if (/[_]+[a-zA-Z0-9_]*/.test(package_name)) { + return Q.reject("Package name can't begin with an underscore"); + } + + //Enforce stupid name error if (project_name === 'CordovaActivity') { return Q.reject('Project name cannot be CordovaActivity'); } + //Classes in Java don't begin with numbers + if (/[0-9]+[a-zA-Z0-9]/.test(project_name)) { + return Q.reject('Project name must not begin with a number'); + } + + //Class is a reserved word + if(/[C|c]+lass+[\s|\.]/.test(package_name) && !/[a-zA-Z0-9_]+[C|c]+lass/.test(package_name)) + { + return Q.reject('class is a reserved word'); + } + // Check that requirements are met and proper targets are installed return check_reqs.run() .then(function() {