diff --git a/apps/jreleaser/src/main/java/org/jreleaser/cli/Release.java b/apps/jreleaser/src/main/java/org/jreleaser/cli/Release.java index e3badf22..b89b1822 100644 --- a/apps/jreleaser/src/main/java/org/jreleaser/cli/Release.java +++ b/apps/jreleaser/src/main/java/org/jreleaser/cli/Release.java @@ -63,6 +63,10 @@ public class Release extends AbstractPlatformAwareModelCommand { description = "The project snapshot pattern.") String projectSnapshotPattern; + @CommandLine.Option(names = {"--project-snapshot-label"}, + description = "The project snapshot label.") + String projectSnapshotLabel; + @CommandLine.Option(names = {"--tag-name"}, description = "The release tag.") String tagName; @@ -158,6 +162,7 @@ public class Release extends AbstractPlatformAwareModelCommand { .projectVersion(projectVersion) .projectVersionPattern(projectVersionPattern) .projectSnapshotPattern(projectSnapshotPattern) + .projectSnapshotLabel(projectSnapshotLabel) .tagName(tagName) .releaseName(releaseName) .milestoneName(milestoneName) diff --git a/core/jreleaser-engine/src/main/java/org/jreleaser/engine/context/ModelAutoConfigurer.java b/core/jreleaser-engine/src/main/java/org/jreleaser/engine/context/ModelAutoConfigurer.java index 45343a1c..3d3e596b 100644 --- a/core/jreleaser-engine/src/main/java/org/jreleaser/engine/context/ModelAutoConfigurer.java +++ b/core/jreleaser-engine/src/main/java/org/jreleaser/engine/context/ModelAutoConfigurer.java @@ -64,6 +64,7 @@ public class ModelAutoConfigurer { private String projectVersion; private String projectVersionPattern; private String projectSnapshotPattern; + private String projectSnapshotLabel; private String tagName; private String releaseName; private String milestoneName; @@ -126,6 +127,11 @@ public class ModelAutoConfigurer { return this; } + public ModelAutoConfigurer projectSnapshotLabel(String projectSnapshotLabel) { + this.projectSnapshotLabel = projectSnapshotLabel; + return this; + } + public ModelAutoConfigurer tagName(String tagName) { this.tagName = tagName; return this; @@ -303,6 +309,7 @@ public class ModelAutoConfigurer { if (isNotBlank(projectVersion)) logger.info("- project.version: {}", projectVersion); if (isNotBlank(projectVersionPattern)) logger.info("- project.version.pattern: {}", projectVersionPattern); if (isNotBlank(projectSnapshotPattern)) logger.info("- project.snapshot.pattern: {}", projectSnapshotPattern); + if (isNotBlank(projectSnapshotLabel)) logger.info("- project.snapshot.label: {}", projectSnapshotLabel); if (isNotBlank(username)) logger.info("- release.username: {}", username); if (isNotBlank(tagName)) logger.info("- release.tagName: {}", tagName); if (isNotBlank(branch)) logger.info("- release.branch: {}", branch); @@ -342,7 +349,8 @@ public class ModelAutoConfigurer { model.getProject().setName(projectName); model.getProject().setVersion(projectVersion); model.getProject().setVersionPattern(projectVersionPattern); - model.getProject().setSnapshotPattern(projectSnapshotPattern); + model.getProject().getSnapshot().setPattern(projectSnapshotPattern); + model.getProject().getSnapshot().setLabel(projectSnapshotLabel); try { Repository repository = GitSdk.of(basedir, gitRootSearch).getRemote(); diff --git a/core/jreleaser-model/src/main/java/org/jreleaser/model/Project.java b/core/jreleaser-model/src/main/java/org/jreleaser/model/Project.java index 1a9244bb..6770de59 100644 --- a/core/jreleaser-model/src/main/java/org/jreleaser/model/Project.java +++ b/core/jreleaser-model/src/main/java/org/jreleaser/model/Project.java @@ -63,13 +63,11 @@ public class Project implements Domain, ExtraProperties { private String copyright; private String vendor; private String docsUrl; - private String snapshotPattern; void setAll(Project project) { this.name = project.name; this.version = project.version; this.versionPattern = project.versionPattern; - this.snapshotPattern = project.snapshotPattern; this.description = project.description; this.longDescription = project.longDescription; this.website = project.website; @@ -154,13 +152,12 @@ public class Project implements Domain, ExtraProperties { @Deprecated public String getSnapshotPattern() { System.out.println("project.snapshotPattern has been deprecated since 0.6.0 and will be removed in the future. Use project.snapshot.pattern instead"); - return snapshotPattern; + return this.snapshot.getPattern(); } @Deprecated public void setSnapshotPattern(String snapshotPattern) { System.out.println("project.snapshotPattern has been deprecated since 0.6.0 and will be removed in the future. Use project.snapshot.pattern instead"); - this.snapshotPattern = snapshotPattern; this.snapshot.setPattern(snapshotPattern); } diff --git a/plugins/jreleaser-ant-tasks/src/main/java/org/jreleaser/ant/tasks/JReleaserAutoConfigReleaseTask.java b/plugins/jreleaser-ant-tasks/src/main/java/org/jreleaser/ant/tasks/JReleaserAutoConfigReleaseTask.java index 534c2e0b..9981b811 100644 --- a/plugins/jreleaser-ant-tasks/src/main/java/org/jreleaser/ant/tasks/JReleaserAutoConfigReleaseTask.java +++ b/plugins/jreleaser-ant-tasks/src/main/java/org/jreleaser/ant/tasks/JReleaserAutoConfigReleaseTask.java @@ -59,6 +59,7 @@ public class JReleaserAutoConfigReleaseTask extends Task { private String projectVersion; private String projectVersionPattern; private String projectSnapshotPattern; + private String projectSnapshotLabel; private String tagName; private String releaseName; private String branch; @@ -113,6 +114,10 @@ public class JReleaserAutoConfigReleaseTask extends Task { this.projectSnapshotPattern = projectSnapshotPattern; } + public void setProjectSnapshotLabel(String projectSnapshotLabel) { + this.projectSnapshotLabel = projectSnapshotLabel; + } + public void setTagName(String tagName) { this.tagName = tagName; } @@ -214,6 +219,7 @@ public class JReleaserAutoConfigReleaseTask extends Task { .projectVersion(projectVersion) .projectVersionPattern(projectVersionPattern) .projectSnapshotPattern(projectSnapshotPattern) + .projectSnapshotLabel(projectSnapshotLabel) .tagName(tagName) .releaseName(releaseName) .branch(branch) diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/jreleaser/gradle/plugin/tasks/JReleaseAutoConfigReleaseTask.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/jreleaser/gradle/plugin/tasks/JReleaseAutoConfigReleaseTask.groovy index 50f4c03a..c0725815 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/jreleaser/gradle/plugin/tasks/JReleaseAutoConfigReleaseTask.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/jreleaser/gradle/plugin/tasks/JReleaseAutoConfigReleaseTask.groovy @@ -71,6 +71,9 @@ abstract class JReleaseAutoConfigReleaseTask extends DefaultTask { final Property projectSnapshotPattern @Input @Optional + final Property projectSnapshotLabel + @Input + @Optional final Property tagName @Input @Optional @@ -152,6 +155,11 @@ abstract class JReleaseAutoConfigReleaseTask extends DefaultTask { this.projectSnapshotPattern.set(projectSnapshotPattern) } + @Option(option = 'project-snapshot-label', description = 'The project snapshot label (OPTIONAL).') + void projectSnapshotLabel(String projectSnapshotLabel) { + this.projectSnapshotLabel.set(projectSnapshotLabel) + } + @Option(option = 'tag-name', description = 'The release tga (OPTIONAL).') void setTagName(String tagName) { this.tagName.set(tagName) @@ -283,6 +291,7 @@ abstract class JReleaseAutoConfigReleaseTask extends DefaultTask { projectVersion = objects.property(String).convention(String.valueOf(project.version)) projectVersionPattern = objects.property(String).convention(String.valueOf(Providers.notDefined())) projectSnapshotPattern = objects.property(String).convention(String.valueOf(Providers.notDefined())) + projectSnapshotLabel = objects.property(String).convention(String.valueOf(Providers.notDefined())) tagName = objects.property(String).convention(Providers.notDefined()) releaseName = objects.property(String).convention(Providers.notDefined()) branch = objects.property(String).convention(Providers.notDefined()) @@ -323,6 +332,7 @@ abstract class JReleaseAutoConfigReleaseTask extends DefaultTask { .projectVersion(projectVersion.get()) .projectVersionPattern(projectVersionPattern.orNull) .projectSnapshotPattern(projectSnapshotPattern.orNull) + .projectSnapshotLabel(projectSnapshotLabel.orNull) .tagName(tagName.orNull) .releaseName(releaseName.orNull) .branch(branch.orNull) diff --git a/plugins/jreleaser-maven-plugin/src/main/java/org/jreleaser/maven/plugin/JReleaserAutoConfigReleaseMojo.java b/plugins/jreleaser-maven-plugin/src/main/java/org/jreleaser/maven/plugin/JReleaserAutoConfigReleaseMojo.java index be341f19..0aa884fb 100644 --- a/plugins/jreleaser-maven-plugin/src/main/java/org/jreleaser/maven/plugin/JReleaserAutoConfigReleaseMojo.java +++ b/plugins/jreleaser-maven-plugin/src/main/java/org/jreleaser/maven/plugin/JReleaserAutoConfigReleaseMojo.java @@ -93,6 +93,11 @@ public class JReleaserAutoConfigReleaseMojo extends AbstractMojo { */ @Parameter(property = "jreleaser.project.snapshot.pattern") private String projectSnapshotPattern; + /** + * The project snapshot label. + */ + @Parameter(property = "jreleaser.project.snapshot.label") + private String projectSnapshotLabel; /** * The release tag. */ @@ -213,6 +218,7 @@ public class JReleaserAutoConfigReleaseMojo extends AbstractMojo { .projectVersion(projectVersion) .projectVersionPattern(projectVersionPattern) .projectSnapshotPattern(projectSnapshotPattern) + .projectSnapshotLabel(projectSnapshotLabel) .tagName(tagName) .releaseName(releaseName) .branch(branch)