Search in sources :

Example 11 with InvalidVersionSpecificationException

use of org.commonjava.maven.atlas.ident.version.InvalidVersionSpecificationException in project galley by Commonjava.

the class MavenModelProcessor method addPlugins.

private void addPlugins(final List<PluginView> plugins, final ProjectVersionRef projectRef, final Builder builder, final URI source, final boolean managed) {
    if (plugins != null) {
        for (final PluginView plugin : plugins) {
            ProjectVersionRef pluginRef = null;
            try {
                if (plugin.getVersion() == null) {
                    logger.error("%s: Cannot find a version for plugin: {}. Skipping.", projectRef, plugin.toXML());
                    continue;
                }
                pluginRef = plugin.asProjectVersionRef();
                // force the InvalidVersionSpecificationException.
                pluginRef.getVersionSpec();
                final String profileId = plugin.getProfileId();
                final URI location = RelationshipUtils.profileLocation(profileId);
                boolean inherited = plugin.getOriginInfo().isInherited();
                boolean mixin = plugin.getOriginInfo().isMixin();
                builder.withPlugins(new SimplePluginRelationship(source, location, projectRef, pluginRef, builder.getNextPluginDependencyIndex(projectRef, managed, inherited), managed, inherited));
            } catch (final GalleyMavenException e) {
                logger.error(String.format("%s: plugin is invalid! Reason: %s. Skipping:\n\n%s\n\n", projectRef, e.getMessage(), plugin.toXML()), e);
                continue;
            } catch (final InvalidVersionSpecificationException e) {
                logger.error(String.format("%s: plugin is invalid! Reason: %s. Skipping:\n\n%s\n\n", projectRef, e.getMessage(), plugin.toXML()), e);
                continue;
            } catch (final InvalidRefException e) {
                logger.error(String.format("%s: plugin is invalid! Reason: %s. Skipping:\n\n%s\n\n", projectRef, e.getMessage(), plugin.toXML()), e);
                continue;
            }
            List<PluginDependencyView> pluginDependencies = null;
            Set<PluginDependencyView> impliedPluginDependencies = null;
            try {
                pluginDependencies = plugin.getLocalPluginDependencies();
                impliedPluginDependencies = plugin.getImpliedPluginDependencies();
            } catch (final GalleyMavenException e) {
                logger.error(String.format("%s: Cannot retrieve plugin dependencies for: %s. Reason: %s", projectRef, pluginRef, e.getMessage()), e);
            } catch (final InvalidVersionSpecificationException e) {
                logger.error(String.format("%s: Cannot retrieve plugin dependencies for: %s. Reason: %s", projectRef, pluginRef, e.getMessage()), e);
            } catch (final InvalidRefException e) {
                logger.error(String.format("%s: Cannot retrieve plugin dependencies for: %s. Reason: %s", projectRef, pluginRef, e.getMessage()), e);
            }
            addPluginDependencies(pluginDependencies, plugin, pluginRef, projectRef, builder, source, managed);
            logger.debug("{}: Adding implied dependencies for: {}\n\n  {}", projectRef, pluginRef, impliedPluginDependencies == null ? "-NONE-" : new JoinString("\n  ", impliedPluginDependencies));
            addPluginDependencies(impliedPluginDependencies, plugin, pluginRef, projectRef, builder, source, managed);
        }
    }
}
Also used : GalleyMavenException(org.commonjava.maven.galley.maven.GalleyMavenException) SimplePluginRelationship(org.commonjava.maven.atlas.graph.rel.SimplePluginRelationship) InvalidRefException(org.commonjava.maven.atlas.ident.ref.InvalidRefException) JoinString(org.commonjava.maven.atlas.ident.util.JoinString) URI(java.net.URI) PluginDependencyView(org.commonjava.maven.galley.maven.model.view.PluginDependencyView) JoinString(org.commonjava.maven.atlas.ident.util.JoinString) InvalidVersionSpecificationException(org.commonjava.maven.atlas.ident.version.InvalidVersionSpecificationException) ProjectVersionRef(org.commonjava.maven.atlas.ident.ref.ProjectVersionRef) PluginView(org.commonjava.maven.galley.maven.model.view.PluginView)

Example 12 with InvalidVersionSpecificationException

use of org.commonjava.maven.atlas.ident.version.InvalidVersionSpecificationException in project galley by Commonjava.

the class MavenModelProcessor method readRelationships.

public EProjectDirectRelationships readRelationships(final MavenPomView pomView, final URI source, final ModelProcessorConfig discoveryConfig) throws GalleyMavenException {
    final boolean includeManagedDependencies = discoveryConfig.isIncludeManagedDependencies();
    final boolean includeBuildSection = discoveryConfig.isIncludeBuildSection();
    final boolean includeManagedPlugins = discoveryConfig.isIncludeManagedPlugins();
    logger.info("Reading relationships for: {}\n  (from: {})", pomView.getRef(), source);
    try {
        final ProjectVersionRef projectRef = pomView.getRef();
        final EProjectDirectRelationships.Builder builder = new EProjectDirectRelationships.Builder(source, projectRef);
        addParentRelationship(source, builder, pomView, projectRef);
        addDependencyRelationships(source, builder, pomView, projectRef, includeManagedDependencies);
        if (includeBuildSection) {
            addExtensionUsages(source, builder, pomView, projectRef);
            addPluginUsages(source, builder, pomView, projectRef, includeManagedPlugins);
        }
        return builder.build();
    } catch (final InvalidVersionSpecificationException e) {
        throw new GalleyMavenException("Failed to parse version for model: {}. Reason: {}", e, pomView, e.getMessage());
    } catch (final IllegalArgumentException e) {
        throw new GalleyMavenException("Failed to parse relationships for model: {}. Reason: {}", e, pomView, e.getMessage());
    }
}
Also used : Builder(org.commonjava.maven.atlas.graph.model.EProjectDirectRelationships.Builder) GalleyMavenException(org.commonjava.maven.galley.maven.GalleyMavenException) InvalidVersionSpecificationException(org.commonjava.maven.atlas.ident.version.InvalidVersionSpecificationException) ProjectVersionRef(org.commonjava.maven.atlas.ident.ref.ProjectVersionRef) Builder(org.commonjava.maven.atlas.graph.model.EProjectDirectRelationships.Builder) EProjectDirectRelationships(org.commonjava.maven.atlas.graph.model.EProjectDirectRelationships)

Aggregations

InvalidVersionSpecificationException (org.commonjava.maven.atlas.ident.version.InvalidVersionSpecificationException)12 GalleyMavenException (org.commonjava.maven.galley.maven.GalleyMavenException)10 InvalidRefException (org.commonjava.maven.atlas.ident.ref.InvalidRefException)7 JoinString (org.commonjava.maven.atlas.ident.util.JoinString)7 ProjectVersionRef (org.commonjava.maven.atlas.ident.ref.ProjectVersionRef)6 SingleVersion (org.commonjava.maven.atlas.ident.version.SingleVersion)5 ArrayList (java.util.ArrayList)4 PluginDependencyView (org.commonjava.maven.galley.maven.model.view.PluginDependencyView)4 URI (java.net.URI)3 TreeMap (java.util.TreeMap)3 ProjectVersionRefLocation (org.commonjava.maven.galley.maven.model.ProjectVersionRefLocation)3 MavenMetadataView (org.commonjava.maven.galley.maven.model.view.meta.MavenMetadataView)3 Location (org.commonjava.maven.galley.model.Location)3 KojiClient (com.redhat.red.build.koji.KojiClient)1 KojiClientException (com.redhat.red.build.koji.KojiClientException)1 KojiArchiveInfo (com.redhat.red.build.koji.model.xmlrpc.KojiArchiveInfo)1 KojiBuildArchiveCollection (com.redhat.red.build.koji.model.xmlrpc.KojiBuildArchiveCollection)1 KojiBuildInfo (com.redhat.red.build.koji.model.xmlrpc.KojiBuildInfo)1 KojiBuildState (com.redhat.red.build.koji.model.xmlrpc.KojiBuildState)1 KojiTagInfo (com.redhat.red.build.koji.model.xmlrpc.KojiTagInfo)1