Class DeployMojo
java.lang.Object
org.apache.maven.plugin.AbstractMojo
org.apache.maven.plugins.deploy.AbstractDeployMojo
org.apache.maven.plugins.deploy.DeployMojo
- All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo
@Mojo(name="deploy",
defaultPhase=DEPLOY,
threadSafe=true)
public class DeployMojo
extends AbstractDeployMojo
Deploys an artifact to remote repository.
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate booleanSet this totrueto allow incomplete project processing.private static final Patternprivate static final Patternprivate StringSpecifies an alternative repository to which the project artifacts should be deployed (other than those specified in <distributionManagement>).private StringThe alternative repository to use when the project has a final version.private StringThe alternative repository to use when the project has a snapshot version.private static final Stringprivate static final Stringprivate static final Stringprivate static final Stringprivate booleanWhether every project should be deployed during its own deploy-phase or at the end of the multimodule build.private org.apache.maven.plugin.descriptor.PluginDescriptorprivate org.apache.maven.project.MavenProjectprivate List<org.apache.maven.project.MavenProject> private StringSet this to 'true' to bypass artifact deploy Since since 3.0.0-M2 it's not anymore a real boolean as it can have more than 2 values:true: will skip as usualreleases: will skip if current version of the project is a releasesnapshots: will skip if current version of the project is a snapshot any other values will be considered asfalseFields inherited from class AbstractDeployMojo
repositorySystem, sessionFields inherited from interface org.apache.maven.plugin.Mojo
ROLE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate booleanallProjectsMarked(List<org.apache.maven.project.MavenProject> allProjectsUsingPlugin) private voiddeployAllAtOnce(List<org.apache.maven.project.MavenProject> allProjectsUsingPlugin) voidexecute()private List<org.apache.maven.project.MavenProject> (package private) org.eclipse.aether.repository.RemoteRepositorygetDeploymentRepository(org.apache.maven.project.MavenProject project, String altSnapshotDeploymentRepository, String altReleaseDeploymentRepository, String altDeploymentRepository) Visible for testing.private StringgetPluginContextValue(Map<String, Object> pluginContext, String key) private DeployMojo.Stateprivate booleanhasExecution(org.apache.maven.model.Plugin plugin) private booleanhasState(org.apache.maven.project.MavenProject project) private booleanprivate voidprocessProject(org.apache.maven.project.MavenProject project, org.eclipse.aether.deployment.DeployRequest request) private voidputPluginContextValue(String key, String value) private voidputState(DeployMojo.State state) Methods inherited from class AbstractDeployMojo
deploy, failIfOffline, getRemoteRepository, warnIfAffectedPackagingAndMavenMethods inherited from class org.apache.maven.plugin.AbstractMojo
getLog, getPluginContext, setLog, setPluginContext
-
Field Details
-
ALT_LEGACY_REPO_SYNTAX_PATTERN
-
ALT_REPO_SYNTAX_PATTERN
-
project
@Parameter(defaultValue="${project}", readonly=true, required=true) private org.apache.maven.project.MavenProject project -
reactorProjects
@Parameter(defaultValue="${reactorProjects}", required=true, readonly=true) private List<org.apache.maven.project.MavenProject> reactorProjects -
pluginDescriptor
@Parameter(defaultValue="${plugin}", required=true, readonly=true) private org.apache.maven.plugin.descriptor.PluginDescriptor pluginDescriptor -
deployAtEnd
@Parameter(defaultValue="false", property="deployAtEnd") private boolean deployAtEndWhether every project should be deployed during its own deploy-phase or at the end of the multimodule build. If set totrueand the build fails, none of the reactor projects is deployed.- Since:
- 2.8
-
altDeploymentRepository
Specifies an alternative repository to which the project artifacts should be deployed (other than those specified in <distributionManagement>).
Format:id::url- id
- The id can be used to pick up the correct credentials from the settings.xml
- url
- The location of the repository
id::layout::urlwherelayoutcould bedefault(ie. Maven 2) orlegacy(ie. Maven 1), but since 3.0.0 the layout part has been removed because Maven 3 only supports Maven 2 repository layout. -
altSnapshotDeploymentRepository
@Parameter(property="altSnapshotDeploymentRepository") private String altSnapshotDeploymentRepositoryThe alternative repository to use when the project has a snapshot version. Note: In version 2.x, the format wasid::layout::urlwherelayoutcould bedefault(ie. Maven 2) orlegacy(ie. Maven 1), but since 3.0.0 the layout part has been removed because Maven 3 only supports Maven 2 repository layout.- Since:
- 2.8
- See Also:
-
altReleaseDeploymentRepository
The alternative repository to use when the project has a final version. Note: In version 2.x, the format wasid::layout::urlwherelayoutcould bedefault(ie. Maven 2) orlegacy(ie. Maven 1), but since 3.0.0 the layout part has been removed because Maven 3 only supports Maven 2 repository layout.- Since:
- 2.8
- See Also:
-
skip
Set this to 'true' to bypass artifact deploy Since since 3.0.0-M2 it's not anymore a real boolean as it can have more than 2 values:true: will skip as usualreleases: will skip if current version of the project is a releasesnapshots: will skip if current version of the project is a snapshot- any other values will be considered as
false
- Since:
- 2.4
-
allowIncompleteProjects
@Parameter(defaultValue="false", property="allowIncompleteProjects") private boolean allowIncompleteProjectsSet this totrueto allow incomplete project processing. By default, such projects are forbidden and Mojo will fail to process them. Incomplete project is a Maven Project that has any other packaging than "pom" and has no main artifact packaged. In the majority of cases, what user really wants here is a project with "pom" packaging and some classified artifact attached (typical example is some assembly being packaged and attached with classifier).- Since:
- 3.1.1
-
DEPLOY_PROCESSED_MARKER
-
DEPLOY_ALT_RELEASE_DEPLOYMENT_REPOSITORY
-
DEPLOY_ALT_SNAPSHOT_DEPLOYMENT_REPOSITORY
-
DEPLOY_ALT_DEPLOYMENT_REPOSITORY
-
-
Constructor Details
-
DeployMojo
public DeployMojo()
-
-
Method Details
-
putState
-
putPluginContextValue
-
getPluginContextValue
-
getState
-
hasState
private boolean hasState(org.apache.maven.project.MavenProject project) -
execute
public void execute() throws org.apache.maven.plugin.MojoExecutionException, org.apache.maven.plugin.MojoFailureException- Throws:
org.apache.maven.plugin.MojoExecutionExceptionorg.apache.maven.plugin.MojoFailureException
-
deployAllAtOnce
private void deployAllAtOnce(List<org.apache.maven.project.MavenProject> allProjectsUsingPlugin) throws org.apache.maven.plugin.MojoExecutionException - Throws:
org.apache.maven.plugin.MojoExecutionException
-
allProjectsMarked
private boolean allProjectsMarked(List<org.apache.maven.project.MavenProject> allProjectsUsingPlugin) -
getAllProjectsUsingPlugin
-
hasExecution
private boolean hasExecution(org.apache.maven.model.Plugin plugin) -
processProject
private void processProject(org.apache.maven.project.MavenProject project, org.eclipse.aether.deployment.DeployRequest request) throws org.apache.maven.plugin.MojoExecutionException - Throws:
org.apache.maven.plugin.MojoExecutionException
-
isFile
-
getDeploymentRepository
org.eclipse.aether.repository.RemoteRepository getDeploymentRepository(org.apache.maven.project.MavenProject project, String altSnapshotDeploymentRepository, String altReleaseDeploymentRepository, String altDeploymentRepository) throws org.apache.maven.plugin.MojoExecutionException Visible for testing.- Throws:
org.apache.maven.plugin.MojoExecutionException
-