CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/maven-org-apache-maven--maven-model

Model for Maven POM (Project Object Model)

Pending
Overview
Eval results
Files

repositories.mddocs/

Repository Management

Repository and deployment configuration including repository policies, authentication, and distribution management. These classes handle Maven's artifact repository system for dependency resolution and deployment.

Capabilities

Repository

Represents a Maven repository for resolving dependencies and plugins.

public class Repository extends RepositoryBase {
    public RepositoryPolicy getReleases();
    public void setReleases(RepositoryPolicy releases);
    public RepositoryPolicy getSnapshots();
    public void setSnapshots(RepositoryPolicy snapshots);
    
    // Utility methods
    public Repository clone();
    public InputLocation getLocation(Object key);
    public void setLocation(Object key, InputLocation location);
}

Usage Example:

Repository repository = new Repository();
repository.setId("central");
repository.setName("Maven Central Repository");
repository.setUrl("https://repo1.maven.org/maven2");

// Configure release policy
RepositoryPolicy releasePolicy = new RepositoryPolicy();
releasePolicy.setEnabled("true");
releasePolicy.setUpdatePolicy("daily");
releasePolicy.setChecksumPolicy("warn");
repository.setReleases(releasePolicy);

model.addRepository(repository);

RepositoryBase

Base class containing common repository properties.

public class RepositoryBase {
    public String getId();
    public void setId(String id);
    public String getName();
    public void setName(String name);
    public String getUrl();
    public void setUrl(String url);
    public String getLayout();
    public void setLayout(String layout);
    
    // Utility methods
    public String toString();
    public RepositoryBase clone();
    public InputLocation getLocation(Object key);
    public void setLocation(Object key, InputLocation location);
}

DeploymentRepository

Extends Repository for deployment configuration with unique version handling.

public class DeploymentRepository extends Repository {
    public String getUniqueVersion();
    public void setUniqueVersion(String uniqueVersion);
    public boolean isUniqueVersion();
    
    // Utility methods
    public DeploymentRepository clone();
    public InputLocation getLocation(Object key);
    public void setLocation(Object key, InputLocation location);
}

RepositoryPolicy

Defines policies for repository usage including update frequency and checksum validation.

public class RepositoryPolicy {
    public String getEnabled();
    public void setEnabled(String enabled);
    public boolean isEnabled();
    public String getUpdatePolicy();
    public void setUpdatePolicy(String updatePolicy);
    public String getChecksumPolicy();
    public void setChecksumPolicy(String checksumPolicy);
    
    // Utility methods
    public RepositoryPolicy clone();
    public InputLocation getLocation(Object key);
    public void setLocation(Object key, InputLocation location);
}

Common Update Policies:

  • always: Check for updates on every build
  • daily (default): Check for updates once per day
  • interval:X: Check for updates every X minutes
  • never: Never check for updates

Common Checksum Policies:

  • fail: Fail the build if checksums don't match
  • warn (default): Log a warning if checksums don't match
  • ignore: Ignore checksum mismatches

DistributionManagement

Configures where and how artifacts are deployed and where the project site is distributed.

public class DistributionManagement {
    public DeploymentRepository getRepository();
    public void setRepository(DeploymentRepository repository);
    public DeploymentRepository getSnapshotRepository();
    public void setSnapshotRepository(DeploymentRepository snapshotRepository);
    public Site getSite();
    public void setSite(Site site);
    public String getDownloadUrl();
    public void setDownloadUrl(String downloadUrl);
    public Relocation getRelocation();
    public void setRelocation(Relocation relocation);
    public String getStatus();
    public void setStatus(String status);
    
    // Utility methods
    public DistributionManagement clone();
    public InputLocation getLocation(Object key);
    public void setLocation(Object key, InputLocation location);
}

Usage Example:

DistributionManagement distMgmt = new DistributionManagement();

// Release repository
DeploymentRepository releaseRepo = new DeploymentRepository();
releaseRepo.setId("releases");
releaseRepo.setName("Release Repository");
releaseRepo.setUrl("https://nexus.example.com/repository/releases/");
distMgmt.setRepository(releaseRepo);

// Snapshot repository
DeploymentRepository snapshotRepo = new DeploymentRepository();
snapshotRepo.setId("snapshots");
snapshotRepo.setName("Snapshot Repository");
snapshotRepo.setUrl("https://nexus.example.com/repository/snapshots/");
distMgmt.setSnapshotRepository(snapshotRepo);

model.setDistributionManagement(distMgmt);

Site

Defines where project documentation site should be deployed.

public class Site {
    public String getId();
    public void setId(String id);
    public String getName();
    public void setName(String name);
    public String getUrl();
    public void setUrl(String url);
    
    // Utility methods
    public Site clone();
    public InputLocation getLocation(Object key);
    public void setLocation(Object key, InputLocation location);
}

Relocation

Provides information about artifact relocation when groupId, artifactId, or version has changed.

public class Relocation {
    public String getGroupId();
    public void setGroupId(String groupId);
    public String getArtifactId();
    public void setArtifactId(String artifactId);
    public String getVersion();
    public void setVersion(String version);
    public String getMessage();
    public void setMessage(String message);
    
    // Utility methods
    public Relocation clone();
    public InputLocation getLocation(Object key);
    public void setLocation(Object key, InputLocation location);
}

Install with Tessl CLI

npx tessl i tessl/maven-org-apache-maven--maven-model

docs

build-config.md

core-model.md

dependencies.md

index.md

model-merging.md

profiles.md

project-metadata.md

repositories.md

utility-classes.md

xml-io.md

tile.json