Example #1
0
 def test_custom_config(self):
     xc = XMvnConfig()
     xc.add_custom_option("buildSettings/compilerSource", "1.5")
     et = self._read_current_conf()
     root = et.getroot()
     cs = self.__find(root, "xmvn:buildSettings/xmvn:compilerSource")
     self.assertEqual(cs.text.strip(), "1.5")
Example #2
0
    def test_aliases(self):
        xc = XMvnConfig()
        a = Artifact('gId', 'aId')
        a1 = Artifact('gIda1', 'aIda1')
        a2 = Artifact('gIda2', 'aIda2')
        xc.add_aliases(a, [a1, a2])

        et = self._read_current_conf()
        root = et.getroot()
        rule = self.__find(root, "xmvn:artifactManagement/xmvn:rule")

        aglob = self.__find(rule, "xmvn:artifactGlob")
        self.assertEqual(
            self.__find(aglob, "xmvn:groupId").text.strip(), "gId")
        self.assertEqual(
            self.__find(aglob, "xmvn:artifactId").text.strip(), "aId")

        aliases = self.__findall(rule, "xmvn:aliases/xmvn:alias")
        self.assertEqual(
            self.__find(aliases[0], "xmvn:groupId").text.strip(), "gIda1")
        self.assertEqual(
            self.__find(aliases[0], "xmvn:artifactId").text.strip(), "aIda1")

        self.assertEqual(
            self.__find(aliases[1], "xmvn:groupId").text.strip(), "gIda2")
        self.assertEqual(
            self.__find(aliases[1], "xmvn:artifactId").text.strip(), "aIda2")
 def test_custom_config(self):
     xc = XMvnConfig()
     xc.add_custom_option("buildSettings/compilerSource", "1.5")
     et = self._read_current_conf()
     root = et.getroot()
     cs = self.__find(root, "xmvn:buildSettings/xmvn:compilerSource")
     self.assertEqual(cs.text.strip(), "1.5")
    def test_index_init(self):
        self.__clean()
        xc = XMvnConfig()
        a = Artifact('gId', 'aId')
        a1 = Artifact('agId', 'aaId')
        xc.add_aliases(a, [a1])
        ind = self._read_index()
        self.assertEqual(ind, 1)

        xc.add_aliases(a, [a1])
        ind = self._read_index()
        self.assertEqual(ind, 2)
    def test_package_mappings(self):
        xc = XMvnConfig()
        a = Artifact('gId', 'aId')
        xc.add_package_mapping(a, 'package')

        et = self._read_current_conf()
        root = et.getroot()
        rule = self.__find(root, "xmvn:artifactManagement/xmvn:rule")

        aglob = self.__find(rule, "xmvn:artifactGlob")
        self.assertEqual(self.__find(aglob, "xmvn:groupId").text.strip(), "gId")
        self.assertEqual(self.__find(aglob, "xmvn:artifactId").text.strip(), "aId")

        self.assertEqual(self.__find(rule, "xmvn:targetPackage").text.strip(),
                         "package")
    def test_compat_versions(self):
        xc = XMvnConfig()
        a = Artifact('gId', 'aId')
        xc.add_compat_versions(a, ['version1','version2'])

        et = self._read_current_conf()
        root = et.getroot()
        rule = self.__find(root, "xmvn:artifactManagement/xmvn:rule")

        aglob = self.__find(rule, "xmvn:artifactGlob")
        self.assertEqual(self.__find(aglob, "xmvn:groupId").text.strip(), "gId")
        self.assertEqual(self.__find(aglob, "xmvn:artifactId").text.strip(), "aId")

        files = self.__findall(rule, "xmvn:versions/xmvn:version")
        self.assertEqual(files[0].text.strip(), "version1")
        self.assertEqual(files[1].text.strip(), "version2")
Example #7
0
 def test_custom_config_xml(self):
     xc = XMvnConfig()
     xc.add_custom_option(
         "buildSettings/compilerSource", """<versions>
                 <version>1.5</version>
                 <version>1.6</version>
             </versions>
             """)
     et = self._read_current_conf()
     root = et.getroot()
     versions = self.__find(
         root, "xmvn:buildSettings/xmvn:compilerSource/xmvn:versions")
     self.assertEqual(len(versions), 2)
     v1, v2 = self.__findall(versions, "xmvn:version")
     self.assertEqual(v1.text.strip(), "1.5")
     self.assertEqual(v2.text.strip(), "1.6")
    def test_file_mappings(self):
        xc = XMvnConfig()
        a = Artifact('gId', 'aId')
        xc.add_file_mapping(a, ['path1','path2'])

        et = self._read_current_conf()
        root = et.getroot()
        rule = self.__find(root, "xmvn:artifactManagement/xmvn:rule")

        aglob = self.__find(rule, "xmvn:artifactGlob")
        self.assertEqual(self.__find(aglob, "xmvn:groupId").text.strip(), "gId")
        self.assertEqual(self.__find(aglob, "xmvn:artifactId").text.strip(), "aId")

        files = self.__findall(rule, "xmvn:files/xmvn:file")
        self.assertEqual(files[0].text.strip(), "path1")
        self.assertEqual(files[1].text.strip(), "path2")
 def test_custom_config_xml(self):
     xc = XMvnConfig()
     xc.add_custom_option("buildSettings/compilerSource",
             """<versions>
                 <version>1.5</version>
                 <version>1.6</version>
             </versions>
             """)
     et = self._read_current_conf()
     root = et.getroot()
     versions = self.__find(root,
             "xmvn:buildSettings/xmvn:compilerSource/xmvn:versions")
     self.assertEqual(len(versions), 2)
     v1, v2 = self.__findall(versions, "xmvn:version")
     self.assertEqual(v1.text.strip(), "1.5")
     self.assertEqual(v2.text.strip(), "1.6")
Example #10
0
    def test_package_mappings(self):
        xc = XMvnConfig()
        a = Artifact('gId', 'aId')
        xc.add_package_mapping(a, 'package')

        et = self._read_current_conf()
        root = et.getroot()
        rule = self.__find(root, "xmvn:artifactManagement/xmvn:rule")

        aglob = self.__find(rule, "xmvn:artifactGlob")
        self.assertEqual(
            self.__find(aglob, "xmvn:groupId").text.strip(), "gId")
        self.assertEqual(
            self.__find(aglob, "xmvn:artifactId").text.strip(), "aId")

        self.assertEqual(
            self.__find(rule, "xmvn:targetPackage").text.strip(), "package")
Example #11
0
    def test_compat_versions(self):
        xc = XMvnConfig()
        a = Artifact('gId', 'aId')
        xc.add_compat_versions(a, ['version1', 'version2'])

        et = self._read_current_conf()
        root = et.getroot()
        rule = self.__find(root, "xmvn:artifactManagement/xmvn:rule")

        aglob = self.__find(rule, "xmvn:artifactGlob")
        self.assertEqual(
            self.__find(aglob, "xmvn:groupId").text.strip(), "gId")
        self.assertEqual(
            self.__find(aglob, "xmvn:artifactId").text.strip(), "aId")

        files = self.__findall(rule, "xmvn:versions/xmvn:version")
        self.assertEqual(files[0].text.strip(), "version1")
        self.assertEqual(files[1].text.strip(), "version2")
Example #12
0
    def test_file_mappings(self):
        xc = XMvnConfig()
        a = Artifact('gId', 'aId')
        xc.add_file_mapping(a, ['path1', 'path2'])

        et = self._read_current_conf()
        root = et.getroot()
        rule = self.__find(root, "xmvn:artifactManagement/xmvn:rule")

        aglob = self.__find(rule, "xmvn:artifactGlob")
        self.assertEqual(
            self.__find(aglob, "xmvn:groupId").text.strip(), "gId")
        self.assertEqual(
            self.__find(aglob, "xmvn:artifactId").text.strip(), "aId")

        files = self.__findall(rule, "xmvn:files/xmvn:file")
        self.assertEqual(files[0].text.strip(), "path1")
        self.assertEqual(files[1].text.strip(), "path2")
Example #13
0
    def test_aliases(self):
        xc = XMvnConfig()
        a = Artifact('gId', 'aId')
        a1 = Artifact('gIda1', 'aIda1')
        a2 = Artifact('gIda2', 'aIda2')
        xc.add_aliases(a, [a1, a2])

        et = self._read_current_conf()
        root = et.getroot()
        rule = self.__find(root, "xmvn:artifactManagement/xmvn:rule")

        aglob = self.__find(rule, "xmvn:artifactGlob")
        self.assertEqual(self.__find(aglob, "xmvn:groupId").text.strip(), "gId")
        self.assertEqual(self.__find(aglob,
                                     "xmvn:artifactId").text.strip(), "aId")

        aliases = self.__findall(rule, "xmvn:aliases/xmvn:alias")
        self.assertEqual(self.__find(aliases[0],
                                     "xmvn:groupId").text.strip(), "gIda1")
        self.assertEqual(self.__find(aliases[0],
                                     "xmvn:artifactId").text.strip(), "aIda1")

        self.assertEqual(self.__find(aliases[1], "xmvn:groupId").text.strip(), "gIda2")
        self.assertEqual(self.__find(aliases[1], "xmvn:artifactId").text.strip(), "aIda2")
Example #14
0
    def test_index_init(self):
        self.__clean()
        xc = XMvnConfig()
        a = Artifact('gId', 'aId')
        a1 = Artifact('agId', 'aaId')
        xc.add_aliases(a, [a1])
        ind = self._read_index()
        self.assertEqual(ind, 1)

        xc.add_aliases(a, [a1])
        ind = self._read_index()
        self.assertEqual(ind, 2)
Example #15
0
Examples of valid specifications:
commons-lang:commons-lang:1.2
commons-lang:commons-lang:war:
commons-lang:commons-lang:war:test-jar:
commons-lang:commons-lang:war:test-jar:3.1
*:commons-lang (equivalent to ':commons-lang')
"""

if __name__ == "__main__":
    parser = SaneParser(usage=usage, epilog=epilog)
    sys.argv = args_to_unicode(sys.argv)

    (options, args) = parser.parse_args()

    if len(args) == 0:
        parser.error("At least one argument required")
    elif len(args) > 2:
        parser.error("At most 2 arguments are expected")
    elif len(args) == 1:
        args.append("__default")

    try:
        orig = Artifact.from_mvn_str(args[0])
        XMvnConfig().add_package_mapping(orig, args[1])
    except (ArtifactValidationException, ArtifactFormatException) as e:
        parser.error("{e}: Provided artifact strings were invalid. "
                     "Please see help  and check your arguments".format(e=e))
        sys.exit(1)
    except JavaPackagesToolsException as e:
        sys.exit(e)
Example #16
0
Wildcards (*) and empty parts in specifications are allowed (treated as wildcard).

Examples of valid specifications:
commons-lang:commons-lang:1.2
commons-lang:commons-lang:war:
commons-lang:commons-lang:war:test-jar:
commons-lang:commons-lang:war:test-jar:3.1
*:commons-lang (equivalent to ':commons-lang')
"""

if __name__ == "__main__":
    parser = SaneParser(usage=usage, epilog=epilog)

    sys.argv = args_to_unicode(sys.argv)

    (options, args) = parser.parse_args()
    if len(args) < 2:
        parser.error("At least 2 arguments are required")

    try:
        orig = Artifact.from_mvn_str(args[0])
        aliases = []
        for alias in args[1:]:
            aliases.append(Artifact.from_mvn_str(alias))

        XMvnConfig().add_aliases(orig, aliases)
    except (ArtifactValidationException, ArtifactFormatException) as e:
        parser.error("{e}: Provided artifact strings were invalid. "
                     "Please see help  and check your arguments".format(e=e))
        sys.exit(1)
Example #17
0
                      "--singleton",
                      action="store_true",
                      help="Singleton packaging (one artifact per package).")
    parser.add_option("-X",
                      "--debug",
                      action="store_true",
                      help="Enable Maven debugging output (implies -d).")
    parser.add_option(
        "--xmvn-javadoc",
        action="store_true",
        help="Use experimental XMvn javadoc MOJO to generate javadocs.")

    sys.argv = args_to_unicode(sys.argv)

    (options, args) = parser.parse_args()
    xc = XMvnConfig()

    if options.gradle:
        base_goal = "build"
        mvn_args = ["gradle-local", "--no-daemon"]
    else:
        base_goal = "verify"
        mvn_args = ["xmvn", "--batch-mode"]

    if not command_exists(mvn_args[0]):
        if options.gradle:
            print(
                "gradle-local package is not installed, please install it to proceed",
                file=sys.stderr)
        else:
            # xmvn command is provided by xmvn package, but maven-local
Example #18
0
        return self.epilog


usage = "usage: %prog [options] <optionstr> <content>"
epilog = """
Add custom configuration option

optionstr -- XPath-like expression for specifying XMvn configuration
             option location with '/' used as delimiter
             example: buildSettings/compilerSource

content -- XML content to be added to specified node. Can be just text, XML node or multiple nodes.

           examples:
           someText
           <someNode>someText</someNode><someOtherNode/>
"""

if __name__ == "__main__":
    parser = SaneParser(usage=usage, epilog=epilog)
    sys.argv = args_to_unicode(sys.argv)

    (options, args) = parser.parse_args()
    if len(args) != 2:
        parser.error("Exactly 2 arguments are required")

    try:
        XMvnConfig().add_custom_option(args[0], args[1])
    except JavaPackagesToolsException as e:
        sys.exit(e)
Example #19
0
      groupId:artifactId[:extension[:classifier]][:version]

Wildcards (*) and empty parts in specifications are allowed (treated as wildcard).

Examples of valid specifications:
commons-lang:commons-lang:1.2
commons-lang:commons-lang:war:
commons-lang:commons-lang:war:test-jar:
commons-lang:commons-lang:war:test-jar:3.1
*:commons-lang (equivalent to ':commons-lang')
"""

if __name__ == "__main__":
    parser = SaneParser(usage=usage, epilog=epilog)
    sys.argv = args_to_unicode(sys.argv)

    (options, args) = parser.parse_args()
    if len(args) < 2:
        parser.error("At least 2 arguments are required")

    try:
        orig = Artifact.from_mvn_str(args[0])
        orig.validate(allow_backref=False)
        XMvnConfig().add_compat_versions(orig, args[1:])
    except (ArtifactValidationException, ArtifactFormatException) as e:
        parser.error("{e}: Provided artifact strings were invalid. "
                     "Please see help  and check your arguments".format(e=e))
        sys.exit(1)
    except JavaPackagesToolsException as e:
        sys.exit(e)
Example #20
0
Wildcards (*) and empty parts in specifications are allowed (treated as wildcard).

Examples of valid specifications:
commons-lang:commons-lang:1.2
commons-lang:commons-lang:war:
commons-lang:commons-lang:war:test-jar:
commons-lang:commons-lang:war:test-jar:3.1
*:commons-lang (equivalent to ':commons-lang')
"""

if __name__ == "__main__":
    parser = SaneParser(usage=usage, epilog=epilog)

    (options, args) = parser.parse_args()
    if len(args) < 2:
        parser.error("At least 2 arguments are required")

    try:
        orig = Artifact.from_mvn_str(args[0])
        orig.validate(allow_backref=False)
        XMvnConfig().add_file_mapping(orig, args[1:])
    except (ArtifactValidationException, ArtifactFormatException) as e:
        parser.error("{e}: Provided artifact strings were invalid. "
                     "Please see help  and check your arguments".format(e=e))
        sys.exit(1)
    except XMvnConfigException as e:
        parser.error("Incorrect configuration: {e}".format(e=e))
        sys.exit(1)
    except JavaPackagesToolsException as e:
        sys.exit(e)
Example #21
0
                      action="store_true",
                      help="Skip javadoc generation and installation.")
    parser.add_option("-s", "--singleton",
                      action="store_true",
                      help="Singleton packaging (one artifact per package).")
    parser.add_option("-X", "--debug",
                      action="store_true",
                      help="Enable Maven debugging output (implies -d).")
    parser.add_option("--xmvn-javadoc",
                      action="store_true",
                      help="Use experimental XMvn javadoc MOJO to generate javadocs.")

    sys.argv = args_to_unicode(sys.argv)

    (options, args) = parser.parse_args()
    xc = XMvnConfig()

    if options.gradle:
        base_goal = "build"
        mvn_args = ["gradle-local", "--no-daemon"]
    else:
        base_goal = "verify"
        mvn_args = ["xmvn", "--batch-mode"]

    if not command_exists(mvn_args[0]):
        if options.gradle:
            print("gradle-local package is not installed, please install it to proceed", file=sys.stderr)
        else:
            # xmvn command is provided by xmvn package, but maven-local
            # pulls in bunch of maven plugins which may come handy
            print("maven-local package is not installed, please install it to proceed", file=sys.stderr)