def test_update_version_in_BUILD_pom__add_version_qualifier(self): pack1 = "somedir/p1" pack2 = "somedir/p2" repo_root = tempfile.mkdtemp("monorepo") pack1_path = os.path.join(repo_root, pack1) os.makedirs(pack1_path) self._write_build_pom(pack1_path, "p1a", "p1g", "1.1.1-SNAPSHOT", version_increment_strategy="major") pack2_path = os.path.join(repo_root, pack2) os.makedirs(pack2_path) self._write_build_pom(pack2_path, "p2a", "p2g", "2.2.2", version_increment_strategy="major") buildpomupdate.update_build_pom_file( repo_root, [pack1, pack2], version_qualifier_to_add="the_qual") with open(os.path.join(pack1_path, "MVN-INF", "BUILD.pom"), "r") as f: content = f.read() self.assertIn('maven_artifact(', content) self.assertIn('group_id = "p1g"', content) self.assertIn('artifact_id = "p1a"', content) self.assertIn('version = "1.1.1-the_qual-SNAPSHOT"', content) self.assertIn(')', content) with open(os.path.join(pack2_path, "MVN-INF", "BUILD.pom"), "r") as f: content = f.read() self.assertIn('maven_artifact(', content) self.assertIn('group_id = "p2g"', content) self.assertIn('artifact_id = "p2a"', content) self.assertIn('version = "2.2.2-the_qual"', content) self.assertIn(')', content)
def test_update_version_in_BUILD_pom__set_to_last_released_version__no_build_pom_released_file( self): package_rel_path = "package1/package2" repo_root = tempfile.mkdtemp("monorepo") repo_package = os.path.join(repo_root, package_rel_path) os.makedirs(repo_package) self._write_build_pom(repo_package, "a1", "g1", "1.2.3", version_increment_strategy="major") buildpomupdate.update_build_pom_file( repo_root, [package_rel_path], new_version=None, set_version_to_last_released_version=True) with open(os.path.join(repo_package, "MVN-INF", "BUILD.pom"), "r") as f: content = f.read() self.assertIn('maven_artifact(', content) self.assertIn('group_id = "g1"', content) self.assertIn('artifact_id = "a1"', content) self.assertIn('version = "1.2.3"', content) self.assertIn(')', content)
def test_update_version_in_BUILD_pom__set_to_last_released_version__multiple_files(self): pack1 = "somedir/p1" pack2 = "somedir/p2" repo_root = tempfile.mkdtemp("monorepo") pack1_path = os.path.join(repo_root, pack1) os.makedirs(pack1_path) self._write_build_pom(pack1_path, "p1a", "p1g", "1.1.1-SNAPSHOT", version_increment_strategy="major") self._write_build_pom_released(pack1_path, "9.9.9", "abcdef") pack2_path = os.path.join(repo_root, pack2) os.makedirs(pack2_path) self._write_build_pom(pack2_path, "p2a", "p2g", "2.2.2", version_increment_strategy="major") self._write_build_pom_released(pack2_path, "10.10.10", "abcdef") buildpomupdate.update_build_pom_file( repo_root, [pack1, pack2], new_version=None, set_version_to_last_released_version=True) with open(os.path.join(pack1_path, "MVN-INF", "BUILD.pom"), "r") as f: content = f.read() self.assertIn('maven_artifact(', content) self.assertIn('group_id = "p1g"', content) self.assertIn('artifact_id = "p1a"', content) self.assertIn('version = "9.9.9"', content) self.assertIn(')', content) with open(os.path.join(pack2_path, "MVN-INF", "BUILD.pom"), "r") as f: content = f.read() self.assertIn('maven_artifact(', content) self.assertIn('group_id = "p2g"', content) self.assertIn('artifact_id = "p2a"', content) self.assertIn('version = "10.10.10"', content) self.assertIn(')', content)
def test_update_version_in_BUILD_pom(self): package_rel_path = "package1/package2" repo_root = tempfile.mkdtemp("monorepo") repo_package = os.path.join(repo_root, package_rel_path) os.makedirs(repo_package) self._write_build_pom(repo_package, "a1", "g1", "1.2.3") buildpomupdate.update_build_pom_file(repo_root, [package_rel_path], "4.5.6") with open(os.path.join(repo_package, "MVN-INF", "BUILD.pom"), "r") as f: content = f.read() self.assertIn('maven_artifact(', content) self.assertIn('group_id = "g1"', content) self.assertIn('artifact_id = "a1"', content) self.assertIn('version = "4.5.6"', content) self.assertIn(')', content)
def test_update_version_in_BUILD_pom__add_version_qualifier__slashes_are_removed(self): pack1 = "somedir/p1" repo_root = tempfile.mkdtemp("monorepo") pack1_path = os.path.join(repo_root, pack1) os.makedirs(pack1_path) self._write_build_pom(pack1_path, "p1a", "p1g", "3.2.1", version_increment_strategy="major") buildpomupdate.update_build_pom_file( repo_root, [pack1], version_qualifier_to_add="-the_qual-") with open(os.path.join(pack1_path, "MVN-INF", "BUILD.pom"), "r") as f: content = f.read() self.assertIn('maven_artifact(', content) self.assertIn('group_id = "p1g"', content) self.assertIn('artifact_id = "p1a"', content) self.assertIn('version = "3.2.1-the_qual"', content) self.assertIn(')', content)
def test_update_pom_generation_mode_in_BUILD_pom(self): pack1 = "somedir/p1" repo_root = tempfile.mkdtemp("monorepo") pack1_path = os.path.join(repo_root, pack1) os.makedirs(pack1_path) self._write_build_pom(pack1_path, "p1a", "p1g", "3.2.1", pom_generation_mode="jar") buildpomupdate.update_build_pom_file( repo_root, [pack1], new_pom_generation_mode="template") with open(os.path.join(pack1_path, "MVN-INF", "BUILD.pom"), "r") as f: content = f.read() self.assertIn('maven_artifact(', content) self.assertIn('group_id = "p1g"', content) self.assertIn('artifact_id = "p1a"', content) self.assertIn('version = "3.2.1"', content) self.assertIn('pom_generation_mode = "template"', content) self.assertIn(')', content)
args = _parse_arguments(sys.argv[1:]) repo_root = common.get_repo_root(args.repo_root) cfg = config.load(repo_root) packages = argsupport.get_all_packages(repo_root, args.package) if len(packages) == 0: raise Exception("Did not find any BUILD.pom packages at [%s]" % args.package) if (args.new_version is not None or args.update_version_using_version_increment_strategy or args.set_version_to_last_released or args.add_version_qualifier is not None or args.new_version_increment_strategy is not None or args.new_pom_generation_mode is not None or args.add_missing_pom_generation_mode): buildpomupdate.update_build_pom_file( repo_root, packages, args.new_version, args.update_version_using_version_increment_strategy, args.new_version_increment_strategy, args.set_version_to_last_released, args.add_version_qualifier, args.new_pom_generation_mode, args.add_missing_pom_generation_mode) if (args.new_released_version is not None or args.new_released_artifact_hash is not None or args.update_released_artifact_hash_to_current): buildpomupdate.update_released_artifact( repo_root, packages, cfg.all_src_exclusions, args.new_released_version, args.new_released_artifact_hash, args.update_released_artifact_hash_to_current)