Class MirrorApplicationServiceImpl

    • Constructor Detail

      • MirrorApplicationServiceImpl

        public MirrorApplicationServiceImpl()
    • Method Detail

      • mirrorStandalone

        public void mirrorStandalone​(RepositoryReferences sources,
                                     DestinationRepositoryDescriptor destination,
                                     java.util.Collection<IUDescription> seedIUs,
                                     MirrorOptions mirrorOptions,
                                     BuildOutputDirectory tempDirectory)
                              throws FacadeException
        Description copied from interface: MirrorApplicationService
        Copies installable units from the source repositories to the destination repository. The corresponding artifacts are also copied unless the mirror options specify otherwise.
        Specified by:
        mirrorStandalone in interface MirrorApplicationService
        Parameters:
        sources - The p2 repositories from which content shall be copied.
        destination - The p2 repository that shall be written to. The location must be a directory, which may be empty. Existing content is not overwritten but is appended to.
        seedIUs - A set of installable units that span the content to be mirrored. May be null if all available IUs shall be copied. The given installable units will be checked if they are actually present in the source repositories.
        mirrorOptions - various mirror options. Must not be null.
        tempDirectory - A directory for storing temporary results. Typically the build target folder of a module.
        Throws:
        FacadeException - if a checked exception occurs while mirroring
      • createSlicingOptions

        private static org.eclipse.equinox.p2.internal.repository.tools.SlicingOptions createSlicingOptions​(MirrorOptions mirrorOptions)
      • querySourceIus

        private static java.util.List<org.eclipse.equinox.p2.metadata.IInstallableUnit> querySourceIus​(java.util.Collection<IUDescription> sourceIUs,
                                                                                                       org.eclipse.equinox.p2.repository.metadata.IMetadataRepository repository,
                                                                                                       RepositoryReferences sources)
                                                                                                throws FacadeException
        Throws:
        FacadeException
      • createQuery

        private static org.eclipse.equinox.p2.query.IQuery<org.eclipse.equinox.p2.metadata.IInstallableUnit> createQuery​(IUDescription iu)
      • mirrorReactor

        public void mirrorReactor​(RepositoryReferences sources,
                                  DestinationRepositoryDescriptor destination,
                                  java.util.Collection<DependencySeed> projectSeeds,
                                  BuildContext context,
                                  boolean includeAllDependencies,
                                  boolean includePacked,
                                  java.util.Map<java.lang.String,​java.lang.String> filterProperties)
                           throws FacadeException
        Description copied from interface: MirrorApplicationService
        Copies the given installable units and their dependencies into the p2 repository at the destination location. By default this only includes the units and their dependencies with strict versions (i.e. included content). Optionally, all transitive dependencies of the given units are also copied, if includeAllDependencies is set to true.
        Specified by:
        mirrorReactor in interface MirrorApplicationService
        Parameters:
        sources - The p2 repositories from which dependencies and artifacts are copied
        destination - The p2 repository that shall be written to. The location must be a directory, which may be empty. Existing content is not overwritten but is appended to.
        projectSeeds - The dependency seeds that span the content to be copied. Note that the installable units obtained from the seeds are written into the destination p2 repository without checking if they are actually present in the source repositories. Therefore only units from the source repositories should be passed via this parameter.
        context - Build context information; in particular this parameter defines a filter for environment specific installable units
        includeAllDependencies - Whether to include all transitive dependencies
        includePacked - Whether to include packed artifacts
        filterProperties - additional filter properties to be set in the p2 slicing options. May be null
        Throws:
        FacadeException - if a checked exception occurs while mirroring
      • createDestinationDescriptor

        private static org.eclipse.equinox.p2.internal.repository.tools.RepositoryDescriptor createDestinationDescriptor​(DestinationRepositoryDescriptor destination)
      • addFilterForFeatureJARs

        private static void addFilterForFeatureJARs​(java.util.Map<java.lang.String,​java.lang.String> filter)
        Set filter value so that the feature JAR units and artifacts are included when mirroring.
      • createSourceDescriptors

        private static java.util.List<org.eclipse.equinox.p2.internal.repository.tools.RepositoryDescriptor> createSourceDescriptors​(RepositoryReferences sources)
      • createSourceRepositories

        private static void createSourceRepositories​(java.util.List<org.eclipse.equinox.p2.internal.repository.tools.RepositoryDescriptor> result,
                                                     java.util.Collection<java.net.URI> repositoryLocations,
                                                     java.lang.String repositoryKind)
      • toInstallableUnitList

        private static java.util.List<org.eclipse.equinox.p2.metadata.IInstallableUnit> toInstallableUnitList​(java.util.Collection<DependencySeed> seeds,
                                                                                                              org.eclipse.equinox.p2.repository.metadata.IMetadataRepository sourceRepository,
                                                                                                              RepositoryReferences sourceRepositoryNames)
                                                                                                       throws FacadeException
        Throws:
        FacadeException
      • checkStatus

        private void checkStatus​(org.eclipse.core.runtime.IStatus status,
                                 boolean ignoreErrors)
                          throws FacadeException
        Throws:
        FacadeException
      • setMavenContext

        public void setMavenContext​(MavenContext mavenContext)