Esempio n. 1
0
def main(sys_args=None):
    parser = argparse.ArgumentParser()
    parser.add_argument(
        "-s", "--settings_path", dest="settings_path", default=None)
    parser.add_argument("-d", "--directory", dest="directory", default=None)
    parser.add_argument(
        "-c", "--changelog", help="also generate debian/changelog",
        dest="changelog", action="store_true",
        default=False)

    sys_args = sys_args if sys_args is not None else sys.argv[1:]
    args = parser.parse_args(sys_args)
    directory = args.directory or os.getcwd()

    settings_path = args.settings_path or os.path.join(directory, "deb.json")
    with open(settings_path, "rb") as settings_fp:
        settings = json.loads(settings_fp.read().decode("utf8"))

    initialize_debian_folder(settings, directory)

    if args.changelog:
        from debfolder import git_helpers
        project = settings["project"]
        changelog = []
        for commit in git_helpers.parse_commits(cwd=directory):
            log_line = git_helpers.generate_changelog_entry(project, commit)
            changelog.append(log_line)

        changelog_path = os.path.join(directory, "debian", "changelog")
        with open(changelog_path, "wb") as changelog_fp:
            changelog_fp.write("\n".join(changelog).encode("utf8"))
Esempio n. 2
0
    def test_generate_changelog_allows_overriding(self):
        entry = git_helpers.generate_changelog_entry(
            "project", TEST_COMMIT, upload_target="UPLOAD", urgency="high",
            version=lambda x: "1.0.1-1")

        expected = EXPECTED_ENTRIES[0].replace("UNRELEASED", "UPLOAD")
        expected = expected.replace("urgency=low", "urgency=high")
        expected = expected.replace("2015.0815.160741-hash", "1.0.1-1")

        self.assertEqual(expected, entry)
Esempio n. 3
0
    def test_generate_changelog_allows_overriding(self):
        entry = git_helpers.generate_changelog_entry(
            "project",
            TEST_COMMIT,
            upload_target="UPLOAD",
            urgency="high",
            version=lambda x: "1.0.1-1")

        expected = EXPECTED_ENTRIES[0].replace("UNRELEASED", "UPLOAD")
        expected = expected.replace("urgency=low", "urgency=high")
        expected = expected.replace("2015.0815.160741-hash", "1.0.1-1")

        self.assertEqual(expected, entry)
Esempio n. 4
0
 def test_generate_changelog_entry_formats_to_debian_specification(self):
     entry = git_helpers.generate_changelog_entry("project", TEST_COMMIT)
     self.assertEqual(EXPECTED_ENTRIES[0], entry)
Esempio n. 5
0
 def test_generate_changelog_entry_formats_to_debian_specification(self):
     entry = git_helpers.generate_changelog_entry("project", TEST_COMMIT)
     self.assertEqual(EXPECTED_ENTRIES[0], entry)