Code review comment: Can join the apostrophe to the string itself.

Code under review:
public static void pushPackages(String packageName, String sourceRoot, String installToRepo, boolean noBuild) {
        Path prjDirPath = LauncherUtils.getSourceRootPath(sourceRoot);
        
        if (Files.notExists(prjDirPath.resolve(ProjectDirConstants.MANIFEST_FILE_NAME))) {
            throw createLauncherException("Couldn't locate Ballerina.toml in the project directory. Run " +
                                                     "'ballerina init' to create the Ballerina.toml file " +
                                                     "automatically and re-run the 'ballerina push' command");
        }
        Manifest manifest = TomlParserUtils.getManifest(prjDirPath);
        if (manifest.getName().isEmpty()) {
            throw createLauncherException("An org-name is required when pushing. This is not specified in " +
                                                     "Ballerina.toml inside the project");
        }

        if (manifest.getVersion().isEmpty()) {
            throw createLauncherException("A package version is required when pushing. This is not specified " +
                                                     "in Ballerina.toml inside the project");
        }

        String orgName = manifest.getName();
        
        if (!validateOrg(orgName)) {
            throw createLauncherException("invalid organization name provided " + "'" + orgName + "'." + " Only " +
                                          "lowercase alphanumerics and underscores are allowed in an organization " +
                                          "name and the maximum length is 256 characters");
        }
        
        if (!validatePkg(packageName)) {
            throw createLauncherException("invalid package name provided " + "'" + packageName + "'." + " Only " +
                                          "alphanumerics, underscores and periods are allowed in a package name " +
                                          "and the maximum length is 256 characters");
        }
        String version = manifest.getVersion();
        String ballerinaVersion = RepoUtils.getBallerinaVersion();
        PackageID packageID = new PackageID(new Name(orgName), new Name(packageName), new Name(version));

        
        Path pkgPathFromPrjtDir = Paths.get(prjDirPath.toString(), ProjectDirConstants.DOT_BALLERINA_DIR_NAME,
                                            ProjectDirConstants.DOT_BALLERINA_REPO_DIR_NAME, orgName,
                                            packageName, version, packageName + ".zip");

        
        if (!noBuild) {
            BuilderUtils.compileWithTestsAndWrite(prjDirPath, packageName, packageName, false, false, false, false);
        } else if (Files.notExists(pkgPathFromPrjtDir)) {
            
            
            throw createLauncherException("Couldn't locate the package artifact to be pushed. Run 'ballerina " +
                                                     "push' without the --no-build flag");
        }
        
        if (installToRepo == null) {
            
            String accessToken = checkAccessToken();

            
            String mdFileContent = getPackageMDFileContent(pkgPathFromPrjtDir.toString(), packageName);
            if (mdFileContent == null) {
                throw createLauncherException("Cannot find Package.md file in the artifact");
            }

            String description = readSummary(mdFileContent);
            String homepageURL = manifest.getHomepageURL();
            String repositoryURL = manifest.getRepositoryURL();
            String apiDocURL = manifest.getDocumentationURL();
            String authors = String.join(",", manifest.getAuthors());
            String keywords = String.join(",", manifest.getKeywords());
            String license = manifest.getLicense();

            
            String resourcePath = resolvePkgPathInRemoteRepo(packageID);
            String msg = orgName + "/" + packageName + ":" + version + " [project repo -> central]";
            Proxy proxy = settings.getProxy();
            String baloVersionOfPkg = String.valueOf(ProgramFileConstants.VERSION_NUMBER);
            executor.executeFunction("packaging_push/packaging_push.balx", MAIN_FUNCTION_NAME, accessToken,
                    mdFileContent, description, homepageURL, repositoryURL, apiDocURL, authors, keywords, license,
                    resourcePath, pkgPathFromPrjtDir.toString(), msg, ballerinaVersion, proxy.getHost(),
                    proxy.getPort(), proxy.getUserName(), proxy.getPassword(), baloVersionOfPkg);

        } else {
            if (!installToRepo.equals("home")) {
                throw createLauncherException("Unknown repository provided to push the package");
            }
            installToHomeRepo(packageID, pkgPathFromPrjtDir);
        }
    }

Line commented on: throw createLauncherException("invalid organization name provided " + "'" + orgName + "'." + " Only " +

Revised code:
public static void pushPackages(String packageName, String sourceRoot, String installToRepo, boolean noBuild) {
        Path prjDirPath = LauncherUtils.getSourceRootPath(sourceRoot);
        
        if (Files.notExists(prjDirPath.resolve(ProjectDirConstants.MANIFEST_FILE_NAME))) {
            throw createLauncherException("Couldn't locate Ballerina.toml in the project directory. Run " +
                                                     "'ballerina init' to create the Ballerina.toml file " +
                                                     "automatically and re-run the 'ballerina push' command");
        }
        Manifest manifest = TomlParserUtils.getManifest(prjDirPath);
        if (manifest.getName().isEmpty()) {
            throw createLauncherException("An org-name is required when pushing. This is not specified in " +
                                                     "Ballerina.toml inside the project");
        }

        if (manifest.getVersion().isEmpty()) {
            throw createLauncherException("A package version is required when pushing. This is not specified " +
                                                     "in Ballerina.toml inside the project");
        }

        String orgName = manifest.getName();
        
        if (!RepoUtils.validateOrg(orgName)) {
            throw createLauncherException("invalid organization name provided \'" + orgName + "\'. Only " +
                                          "lowercase alphanumerics and underscores are allowed in an organization " +
                                          "name and the maximum length is 256 characters");
        }
        
        if (!RepoUtils.validatePkg(packageName)) {
            throw createLauncherException("invalid package name provided \'" + packageName + "\'. Only " +
                                          "alphanumerics, underscores and periods are allowed in a package name and " +
                                          "the maximum length is 256 characters");
        }
        String version = manifest.getVersion();
        String ballerinaVersion = RepoUtils.getBallerinaVersion();
        PackageID packageID = new PackageID(new Name(orgName), new Name(packageName), new Name(version));

        
        Path pkgPathFromPrjtDir = Paths.get(prjDirPath.toString(), ProjectDirConstants.DOT_BALLERINA_DIR_NAME,
                                            ProjectDirConstants.DOT_BALLERINA_REPO_DIR_NAME, orgName,
                                            packageName, version, packageName + ".zip");

        
        if (!noBuild) {
            BuilderUtils.compileWithTestsAndWrite(prjDirPath, packageName, packageName, false, false, false, false);
        } else if (Files.notExists(pkgPathFromPrjtDir)) {
            
            
            throw createLauncherException("Couldn't locate the package artifact to be pushed. Run 'ballerina " +
                                                     "push' without the --no-build flag");
        }
        
        if (installToRepo == null) {
            
            String accessToken = checkAccessToken();

            
            String mdFileContent = getPackageMDFileContent(pkgPathFromPrjtDir.toString(), packageName);
            if (mdFileContent == null) {
                throw createLauncherException("Cannot find Package.md file in the artifact");
            }

            String description = readSummary(mdFileContent);
            String homepageURL = manifest.getHomepageURL();
            String repositoryURL = manifest.getRepositoryURL();
            String apiDocURL = manifest.getDocumentationURL();
            String authors = String.join(",", manifest.getAuthors());
            String keywords = String.join(",", manifest.getKeywords());
            String license = manifest.getLicense();

            
            String resourcePath = resolvePkgPathInRemoteRepo(packageID);
            String msg = orgName + "/" + packageName + ":" + version + " [project repo -> central]";
            Proxy proxy = settings.getProxy();
            String baloVersionOfPkg = String.valueOf(ProgramFileConstants.VERSION_NUMBER);
            executor.executeFunction("packaging_push/packaging_push.balx", MAIN_FUNCTION_NAME, accessToken,
                    mdFileContent, description, homepageURL, repositoryURL, apiDocURL, authors, keywords, license,
                    resourcePath, pkgPathFromPrjtDir.toString(), msg, ballerinaVersion, proxy.getHost(),
                    proxy.getPort(), proxy.getUserName(), proxy.getPassword(), baloVersionOfPkg);

        } else {
            if (!installToRepo.equals("home")) {
                throw createLauncherException("Unknown repository provided to push the package");
            }
            installToHomeRepo(packageID, pkgPathFromPrjtDir);
        }
    }