-
Notifications
You must be signed in to change notification settings - Fork 64
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[MDEPLOY-308] Add parameter to lax project validation #39
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -126,6 +126,18 @@ public class DeployMojo extends AbstractDeployMojo { | |
@Parameter(property = "maven.deploy.skip", defaultValue = "false") | ||
private String skip = Boolean.FALSE.toString(); | ||
|
||
/** | ||
* Set this to <code>true</code> to 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 | ||
*/ | ||
@Parameter(defaultValue = "false", property = "allowIncompleteProjects") | ||
private boolean allowIncompleteProjects; | ||
|
||
private enum State { | ||
SKIPPED, | ||
DEPLOYED, | ||
|
@@ -285,8 +297,17 @@ private void processProject(final MavenProject project, DeployRequest request) t | |
if (isFile(mavenMainArtifact.getFile())) { | ||
request.addArtifact(RepositoryUtils.toArtifact(mavenMainArtifact)); | ||
} else if (!project.getAttachedArtifacts().isEmpty()) { | ||
throw new MojoExecutionException("The packaging plugin for this project did not assign " | ||
+ "a main file to the project but it has attachments. Change packaging to 'pom'."); | ||
if (allowIncompleteProjects) { | ||
getLog().warn(""); | ||
getLog().warn("The packaging plugin for this project did not assign"); | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Hi @cstamas, Since Is it possible to add the name of the method parameter There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Sure! Quality patches accepted. |
||
getLog().warn("a main file to the project but it has attachments. Change packaging to 'pom'."); | ||
getLog().warn(""); | ||
getLog().warn("Incomplete projects like this will fail in future Maven versions!"); | ||
getLog().warn(""); | ||
} else { | ||
throw new MojoExecutionException("The packaging plugin for this project did not assign " | ||
+ "a main file to the project but it has attachments. Change packaging to 'pom'."); | ||
} | ||
} else { | ||
throw new MojoExecutionException( | ||
"The packaging for this project did not assign a file to the build artifact"); | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
3.2.0 - new feature 😄