示例#1
0
 def testExclusion(self):
     pig = Artifact('org.apache.pig', 'pig', '0.8.3')
     exclusion = [Artifact(*x.split(":")) for x in ['ant:ant', 'junit:junit','org.eclipse.jdt:core']]
     artifacts = _resolve_artifacts([pig], exclusion)
     self.assertTrue(len(artifacts) > 0)
     self.assertFalse(any([x.is_same_artifact(Artifact('ant', 'ant')) for x in artifacts]))
     self.assertFalse(any([x.is_same_artifact(Artifact('junit', 'junit')) for x in artifacts]))
     self.assertFalse(any([x.is_same_artifact(Artifact('org.eclipse', 'core')) for x in artifacts]))
示例#2
0
def requires_java(requires_info):
    global use_pom, dependencies, repositories, exclusions
    use_pom = False
    if 'repositories' in requires_info:
        repositories = requires_info['repositories']
    if 'dependencies' in requires_info:
        dependencies = [Artifact(*d) for d in requires_info['dependencies']]
    if 'exclusions' in requires_info:
        exclusions = [Artifact(*d) for d in requires_info['exclusions']]
示例#3
0
def _install(artifacts, exclusions=[], options={}):
    dryrun = options.get("dry-run", False)
    verify = not options.get("insecure", True)
    _exclusions = options.get('exclude', [])
    copy_pom = options.get('copy-pom', False)
    if _exclusions:
        _exclusions = map(lambda x: Artifact(*(x.split(":"))), _exclusions)
        exclusions.extend(_exclusions)

    download_list = _resolve_artifacts(artifacts, exclusions, verify)

    if not dryrun:
        ## download to cache first
        for artifact in download_list:
            if artifact.repos != cache_manager.as_repos():
                artifact.repos.download_jar(
                    artifact, cache_manager.get_jar_path(artifact), verify)
        pool.join()
        for artifact in download_list:
            cache_manager.get_artifact_jar(artifact, get_lib_path())
            if copy_pom:
                cache_manager.get_artifact_pom(artifact, get_lib_path())

        index_manager.commit()
        logger.info("[Finished] dependencies resolved")
    else:
        logger.info("[Install] Artifacts to install:")
        for artifact in download_list:
            logger.info(artifact)
示例#4
0
 def testExclusion(self):
     pig = Artifact('org.apache.pig', 'pig', '0.8.3')
     exclusion = map(lambda x: Artifact(*x.split(":")),
                     ['ant:ant', 'junit:junit', 'org.eclipse.jdt:core'])
     print exclusion
     artifacts = _resolve_artifacts([pig], exclusion)
     print artifacts
     self.assert_(len(artifacts) > 0)
     self.assert_(not any(
         map(lambda x: x.is_same_artifact(Artifact('ant', 'ant')),
             artifacts)))
     self.assert_(not any(
         map(lambda x: x.is_same_artifact(Artifact('junit', 'junit')),
             artifacts)))
     self.assert_(not any(
         map(lambda x: x.is_same_artifact(Artifact('org.eclipse', 'core')),
             artifacts)))
示例#5
0
 def testLocalDownloadOfPomWithUtfChars(self):
     with tmpdir() as temp_repo_dir:
         artifact_dir = "%s/dummygroup/dummyartifact/1.0.0/" % temp_repo_dir
         mkdir_p(artifact_dir)
         with open("%sdummyartifact-1.0.0.pom" % artifact_dir, "w") as f:
             f.write("\xe2")
         testee = MavenFileSystemRepos('dummy_name', temp_repo_dir)
         artifact = Artifact('dummygroup', 'dummyartifact', '1.0.0')
         pom = testee.download_pom(artifact)
         # should not raise an UnicodeDecodeError
         pom.encode("utf-8")
示例#6
0
 def testResolveArtifactWithUmlautsInPom(self):
     artifact = Artifact('de.l3s.boilerpipe', 'boilerpipe', '1.1.0')
     artifacts = _resolve_artifacts([artifact])
     self.assertEqual(len(artifacts), 1)
示例#7
0
 def testResolve(self):
     junit = Artifact('junit', 'junit', '3.8.1')
     artifacts = _resolve_artifacts([junit])
     self.assertEqual(len(artifacts), 1)
示例#8
0
 def testArtifact(self):
     commons_lang = Artifact('commons-lang', 'commons-lang', '2.6')
     self.assertEqual(str(commons_lang), 'commons-lang:commons-lang:2.6')
示例#9
0
 def testResolve(self):
     commons_lang = Artifact('commons-lang', 'commons-lang', '2.6')
     print commons_lang
     artifacts = _resolve_artifacts([commons_lang])
     print artifacts
     self.assert_(len(artifacts) == 1)