Class ContextOverrides.Builder

java.lang.Object
eu.maveniverse.maven.mima.context.ContextOverrides.Builder
Enclosing class:
ContextOverrides

public static final class ContextOverrides.Builder extends Object
  • Method Details

    • withBasedirOverride

      public ContextOverrides.Builder withBasedirOverride(Path basedirOverride)
      Overrides basedir path (cwd), it must be non-null and point to an existing directory. If these are not met, this method will throw. Basedir by default is initialized with CWD that is "current working directory" of the process.
      Since:
      2.3.0
    • systemProperties

      public ContextOverrides.Builder systemProperties(Map<String,String> systemProperties)
      Sets Maven System Properties to be used. Users usually don't want to tamper with this.
    • userProperties

      public ContextOverrides.Builder userProperties(Map<String,String> userProperties)
      Sets Maven User Properties to be used. These override the Maven System Properties.
    • configProperties

      public ContextOverrides.Builder configProperties(Map<String,Object> configProperties)
      Sets Maven Configuration Properties to be used. These accept Object values, and may be used for advanced configuration of some Resolver aspect. Usually users don't want to tamper with these.
    • repositories

      public ContextOverrides.Builder repositories(List<org.eclipse.aether.repository.RemoteRepository> repositories)
      Sets the list of RemoteRepository instance you want to use. The list may replace or append the list of repositories coming from Maven, see ContextOverrides.addRepositoriesOp().

      If withUserSettings(boolean) invoked with true, the settings.xml discovered repositories (and many more) will be used to create context. Also, in case when MIMA runs within Maven, the current project repositories will be provided.

    • addRepositoriesOp

      public ContextOverrides.Builder addRepositoriesOp(ContextOverrides.AddRepositoriesOp addRepositoriesOp)
      How to handle the repositories(List) provided list.
      Since:
      2.4.0
    • extraArtifactTypes

      public ContextOverrides.Builder extraArtifactTypes(List<org.eclipse.aether.artifact.ArtifactType> extraArtifactTypes)
      Sets the list of ArtifactType instances you want to extend resolver with. The list will append the existing list of types coming from Maven.

      In case when MIMA runs within Maven, this is ignored.

      Since:
      2.4.11
    • offline

      public ContextOverrides.Builder offline(boolean offline)
      Sets session offline.
    • ignoreArtifactDescriptorRepositories

      public ContextOverrides.Builder ignoreArtifactDescriptorRepositories(boolean ignoreArtifactDescriptorRepositories)
      Sets ignore artifact descriptor repositories.
      Since:
      2.4.13
    • snapshotUpdatePolicy

      public ContextOverrides.Builder snapshotUpdatePolicy(ContextOverrides.SnapshotUpdatePolicy snapshotUpdatePolicy)
      Sets the snapshot update policy.
    • checksumPolicy

      public ContextOverrides.Builder checksumPolicy(ContextOverrides.ChecksumPolicy checksumPolicy)
      Sets the checksum update policy.
    • withUserSettings

      public ContextOverrides.Builder withUserSettings(boolean withUserSettings)
      Enables or disables use of userSettingsXml, used to find out location of local repository, authentication, remote repositories and many more.
    • withActiveProfileIds

      public ContextOverrides.Builder withActiveProfileIds(List<String> activeProfileIds)
      Sets explicitly activated profile IDs.
      Since:
      2.3.0
    • withInactiveProfileIds

      public ContextOverrides.Builder withInactiveProfileIds(List<String> inactiveProfileIds)
      Sets explicitly inactivated profile IDs.
      Since:
      2.3.0
    • repositoryListener

      public ContextOverrides.Builder repositoryListener(org.eclipse.aether.RepositoryListener repositoryListener)
      Sets RepositoryListener instance to be used.
    • transferListener

      public ContextOverrides.Builder transferListener(org.eclipse.aether.transfer.TransferListener transferListener)
      Sets TransferListener instance to be used.
    • withMavenUserHomeOverride

      public ContextOverrides.Builder withMavenUserHomeOverride(Path mavenUserHomeOverride)
      Override for Maven User Home.
      Since:
      2.4.0
    • withUserSettingsXmlOverride

      public ContextOverrides.Builder withUserSettingsXmlOverride(Path userSettingsXmlOverride)
      Overrides Maven User settings.xml location.
      Since:
      2.3.0
    • withUserSettingsSecurityXmlOverride

      public ContextOverrides.Builder withUserSettingsSecurityXmlOverride(Path userSettingsSecurityXmlOverride)
      Overrides Maven User settings-security.xml location.
      Since:
      2.3.0
    • withUserToolchainsXmlOverride

      public ContextOverrides.Builder withUserToolchainsXmlOverride(Path userToolchainsXmlOverride)
      Overrides Maven User toolchains.xml location.
      Since:
      2.4.0
    • withLocalRepositoryOverride

      public ContextOverrides.Builder withLocalRepositoryOverride(Path localRepositoryOverride)
      Overrides Maven User local repository location.
      Since:
      2.1.0
    • withMavenSystemHomeOverride

      public ContextOverrides.Builder withMavenSystemHomeOverride(Path mavenSystemHomeOverride)
      Sets Maven System Home override.
      Since:
      2.4.0
    • withGlobalSettingsXmlOverride

      public ContextOverrides.Builder withGlobalSettingsXmlOverride(Path globalSettingsXmlOverride)
      Overrides Maven Global settings.xml location.
      Since:
      2.3.0
    • withGlobalToolchainsXmlOverride

      public ContextOverrides.Builder withGlobalToolchainsXmlOverride(Path globalToolchainsXmlOverride)
      Overrides Maven Global toolchains.xml location.
      Since:
      2.4.0
    • withEffectiveSettings

      public ContextOverrides.Builder withEffectiveSettings(Object effectiveSettings)
      Sets Maven Effective Settings. If set, this fully replaces any discovered settings.

      Important: it must be "effective" (all paths interpolated, resolved, etc.), as this object is accepted as is, there is no any processing applied to it!

      Since:
      2.3.0
    • withEffectiveSettingsMixin

      public ContextOverrides.Builder withEffectiveSettingsMixin(Object effectiveSettingsMixin)
      Sets Maven Effective Settings mixin. If set, this is merged into effective settings.

      Important: it must be "effective" (all paths interpolated, resolved, etc.), as this object is accepted as is, there is no any processing applied to it!

      Since:
      2.4.0
    • build

      public ContextOverrides build()
      Builds an immutable instance of ContextOverrides using so far applied settings and configuration.