Package org.apache.maven.artifact.repository.metadata

Examples of org.apache.maven.artifact.repository.metadata.Metadata


        {
            addWarning( artifact, Messages.getString( "unable.to.copy.artifact" ) ); //$NON-NLS-1$
            return;
        }

        Metadata metadata = createBaseMetadata( artifact );
        Versioning versioning = new Versioning();
        versioning.addVersion( artifact.getBaseVersion() );
        metadata.setVersioning( versioning );
        updateMetadata( new ArtifactRepositoryMetadata( artifact ), targetRepository, metadata, transaction );

        metadata = createBaseMetadata( artifact );
        metadata.setVersion( artifact.getBaseVersion() );
        versioning = new Versioning();

        Matcher matcher = Artifact.VERSION_FILE_PATTERN.matcher( artifact.getVersion() );
        if ( matcher.matches() )
        {
            Snapshot snapshot = new Snapshot();
            snapshot.setBuildNumber( Integer.valueOf( matcher.group( 3 ) ).intValue() );
            snapshot.setTimestamp( matcher.group( 2 ) );
            versioning.setSnapshot( snapshot );
        }

        // TODO: merge latest/release/snapshot from source instead
        metadata.setVersioning( versioning );
        updateMetadata( new SnapshotArtifactRepositoryMetadata( artifact ), targetRepository, metadata, transaction );

        if ( !dryrun )
        {
            try
View Full Code Here


        return result;
    }

    private Metadata createBaseMetadata( Artifact artifact )
    {
        Metadata metadata = new Metadata();
        metadata.setArtifactId( artifact.getArtifactId() );
        metadata.setGroupId( artifact.getGroupId() );
        return metadata;
    }
View Full Code Here

    }

    private Metadata readMetadata( File file )
        throws ArtifactConversionException
    {
        Metadata metadata;
        MetadataXpp3Reader reader = new MetadataXpp3Reader();
        FileReader fileReader = null;
        try
        {
            fileReader = new FileReader( file );
View Full Code Here

        RepositoryMetadata repositoryMetadata = new ArtifactRepositoryMetadata( artifact );
        File file = new File( repository.getBasedir(), repository.pathOfRemoteRepositoryMetadata( repositoryMetadata ) );
        if ( file.exists() )
        {
            Metadata metadata = readMetadata( file );
            result = validateMetadata( metadata, repositoryMetadata, artifact );
        }

        repositoryMetadata = new SnapshotArtifactRepositoryMetadata( artifact );
        file = new File( repository.getBasedir(), repository.pathOfRemoteRepositoryMetadata( repositoryMetadata ) );
        if ( file.exists() )
        {
            Metadata metadata = readMetadata( file );
            result = result && validateMetadata( metadata, repositoryMetadata, artifact );
        }

        return result;
    }
View Full Code Here

        throws ArtifactConversionException
    {
        File file = new File( targetRepository.getBasedir(), targetRepository
            .pathOfRemoteRepositoryMetadata( artifactMetadata ) );

        Metadata metadata;
        boolean changed;

        if ( file.exists() )
        {
            metadata = readMetadata( file );
            changed = metadata.merge( newMetadata );
        }
        else
        {
            changed = true;
            metadata = newMetadata;
View Full Code Here

        getLogger().info( "Retrieving previous build number from " + remoteRepository.getId() );
        repositoryMetadataManager.resolveAlways( metadata, localRepository, remoteRepository );

        int buildNumber = 0;
        Metadata repoMetadata = metadata.getMetadata();
        if ( ( repoMetadata != null )
            && ( repoMetadata.getVersioning() != null && repoMetadata.getVersioning().getSnapshot() != null ) )
        {
            buildNumber = repoMetadata.getVersioning().getSnapshot().getBuildNumber();
        }
        return buildNumber;
    }
View Full Code Here

        {
            try
            {
                Map<String, ?> options = Collections.singletonMap( MetadataReader.IS_STRICT, Boolean.FALSE );

                Metadata repoMetadata = metadataReader.read( metadataFile, options );

                mergeMetadata( versions, repoMetadata, repository );
            }
            catch ( IOException e )
            {
View Full Code Here

        {
            try
            {
                Map<String, ?> options = Collections.singletonMap( MetadataReader.IS_STRICT, Boolean.FALSE );

                Metadata pluginGroupMetadata = metadataReader.read( metadataFile, options );

                List<org.apache.maven.artifact.repository.metadata.Plugin> plugins = pluginGroupMetadata.getPlugins();

                if ( plugins != null )
                {
                    for ( org.apache.maven.artifact.repository.metadata.Plugin plugin : plugins )
                    {
View Full Code Here

     * @param parser
     */
    private Metadata parseMetadata(String tagName, XmlPullParser parser, boolean strict, String encoding)
        throws IOException, XmlPullParserException
    {
        Metadata metadata = new Metadata();
        metadata.setModelEncoding( encoding );
        java.util.Set parsed = new java.util.HashSet();
        int eventType = parser.getEventType();
        boolean foundRoot = false;
        while ( eventType != XmlPullParser.END_DOCUMENT )
        {
            if ( eventType == XmlPullParser.START_TAG )
            {
                if ( parser.getName().equals( tagName ) )
                {
                    foundRoot = true;
                }
                else if ( parser.getName().equals( "groupId" )  )
                {
                    if ( parsed.contains( "groupId" ) )
                    {
                        throw new XmlPullParserException( "Duplicated tag: '" + parser.getName() + "'", parser, null);
                    }
                    parsed.add( "groupId" );
                    metadata.setGroupId( getTrimmedValue( parser.nextText()) );
                }
                else if ( parser.getName().equals( "artifactId" )  )
                {
                    if ( parsed.contains( "artifactId" ) )
                    {
                        throw new XmlPullParserException( "Duplicated tag: '" + parser.getName() + "'", parser, null);
                    }
                    parsed.add( "artifactId" );
                    metadata.setArtifactId( getTrimmedValue( parser.nextText()) );
                }
                else if ( parser.getName().equals( "version" )  )
                {
                    if ( parsed.contains( "version" ) )
                    {
                        throw new XmlPullParserException( "Duplicated tag: '" + parser.getName() + "'", parser, null);
                    }
                    parsed.add( "version" );
                    metadata.setVersion( getTrimmedValue( parser.nextText()) );
                }
                else if ( parser.getName().equals( "versioning" )  )
                {
                    if ( parsed.contains( "versioning" ) )
                    {
                        throw new XmlPullParserException( "Duplicated tag: '" + parser.getName() + "'", parser, null);
                    }
                    parsed.add( "versioning" );
                    metadata.setVersioning( parseVersioning( "versioning", parser, strict, encoding ) );
                }
                else if ( parser.getName().equals( "plugins" )  )
                {
                    if ( parsed.contains( "plugins" ) )
                    {
                        throw new XmlPullParserException( "Duplicated tag: '" + parser.getName() + "'", parser, null);
                    }
                    parsed.add( "plugins" );
                    java.util.List plugins = new java.util.ArrayList();
                    metadata.setPlugins( plugins );
                    while ( parser.nextTag() == XmlPullParser.START_TAG )
                    {
                        if ( parser.getName().equals( "plugin" ) )
                        {
                            plugins.add( parsePlugin( "plugin", parser, strict, encoding ) );
View Full Code Here

    private PluginVersionResult resolveFromRepository( PluginVersionRequest request )
        throws PluginVersionResolutionException
    {
        DefaultPluginVersionResult result = new DefaultPluginVersionResult();

        Metadata mergedMetadata = new Metadata();

        ArtifactRepository localRepository = request.getLocalRepository();

        // Search in remote repositories for a (released) version.
        //
        // maven-metadata-{central|nexus|...}.xml
        //
        // TODO: we should cycle through the repositories but take the repository which actually satisfied the prefix.
        for ( ArtifactRepository repository : request.getRemoteRepositories() )
        {
            String localPath = getLocalMetadataPath( request, repository );

            File artifactMetadataFile = new File( localRepository.getBasedir(), localPath );

            if ( !request.isOffline() && ( !artifactMetadataFile.exists() /* || user requests snapshot updates */ ) )
            {
                String remotePath = getRemoteMetadataPath( request, repository );

                try
                {
                    repositorySystem.retrieve( repository, artifactMetadataFile, remotePath,
                                               request.getTransferListener() );
                }
                catch ( ArtifactTransferFailedException e )
                {
                    if ( logger.isDebugEnabled() )
                    {
                        logger.warn( "Failed to retrieve " + remotePath + " from " + repository.getId() + ": "
                            + e.getMessage(), e );
                    }
                    else
                    {
                        logger.warn( "Failed to retrieve " + remotePath + " from " + repository.getId() + ": "
                            + e.getMessage() );
                    }

                    continue;
                }
                catch ( ArtifactDoesNotExistException e )
                {
                    continue;
                }
            }

            if ( mergeMetadata( mergedMetadata, artifactMetadataFile ) )
            {
                result.setRepository( repository );
            }
        }

        // Search in the local repositiory for a (development) version
        //
        // maven-metadata-local.xml
        //
        {
            String localPath = getLocalMetadataPath( request, localRepository );

            File artifactMetadataFile = new File( localRepository.getBasedir(), localPath );

            if ( mergeMetadata( mergedMetadata, artifactMetadataFile ) )
            {
                result.setRepository( localRepository );
            }
        }

        if ( mergedMetadata.getVersioning() != null )
        {
            String release = mergedMetadata.getVersioning().getRelease();

            if ( StringUtils.isNotEmpty( release ) )
            {
                result.setVersion( release );
            }
            else
            {
                String latest = mergedMetadata.getVersioning().getLatest();

                if ( StringUtils.isNotEmpty( latest ) )
                {
                    result.setVersion( latest );
                }
View Full Code Here

TOP

Related Classes of org.apache.maven.artifact.repository.metadata.Metadata

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.