public RemoveSnapshotsTaskDescriptor() { super(TYPE_ID, RemoveSnapshotsTask.class, "Maven - Delete SNAPSHOT", VISIBLE, EXPOSED, new RepositoryCombobox(REPOSITORY_NAME_FIELD_ID, "Repository", "Select the Maven repository or repository group to remove snapshots from.", true).includingAnyOfFacets(RemoveSnapshotsFacet.class) .excludingAnyOfVersionPolicies(VersionPolicy.RELEASE.name()) .includeAnEntryForAllRepositories(), new NumberTextFormField(MINIMUM_SNAPSHOT_RETAINED_COUNT, "Minimum snapshot count", "Minimum number of snapshots to keep for one GAV.", true).withInitialValue(1).withMinimumValue(-1), new NumberTextFormField(SNAPSHOT_RETENTION_DAYS, "Snapshot retention (days)", "Delete all snapshots older than this, provided we still keep the minimum number specified.", true).withInitialValue(30).withMinimumValue(0), new CheckboxFormField(REMOVE_IF_RELEASED, "Remove if released", "Delete all snapshots that have a corresponding release", false), new NumberTextFormField(GRACE_PERIOD, "Grace period after release (days)", "The grace period during which snapshots with an associated release will not be deleted.", false).withMinimumValue(0)); } }