Index: src/main/java/org/jvnet/hudson/plugins/backup/BackupConfig.java =================================================================== --- src/main/java/org/jvnet/hudson/plugins/backup/BackupConfig.java (revision 32387) +++ src/main/java/org/jvnet/hudson/plugins/backup/BackupConfig.java (working copy) @@ -25,6 +25,7 @@ package org.jvnet.hudson.plugins.backup; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import org.apache.commons.lang.StringUtils; @@ -68,6 +69,16 @@ public void addExclusion(String exclusion) { this.customExclusions.add(exclusion); } + + public String getCustomExclusionsString() { + return StringUtils.join(customExclusions, ','); + } + + public void setCustomExclusionsString(String customExclusionsString) { + String[] exclusionsArray = StringUtils.split(customExclusionsString, ", "); + List exclusionsList = Arrays.asList(exclusionsArray); + setCustomExclusions(exclusionsList); + } public boolean isVerbose() { return verbose; Index: src/main/resources/org/jvnet/hudson/plugins/backup/BackupLink/backupsettings.jelly =================================================================== --- src/main/resources/org/jvnet/hudson/plugins/backup/BackupLink/backupsettings.jelly (revision 32387) +++ src/main/resources/org/jvnet/hudson/plugins/backup/BackupLink/backupsettings.jelly (working copy) @@ -53,6 +53,10 @@ help="/plugin/backup/help/help-fileNameTemplate.html"> + + + + +
+ Comma- or space-separated list of file/directory names to exclude from backup. These + apply across the entire backup.
+ For example, setting this field to war,plugins will + allow you to avoid backing up "binaries" that you don't want to back up. But, this will + also exclude any file/directory named "war" or "plugins" anywhere in Hudson's home directory. +
+ If no value is specified, the whole content of the Hudson home directory will be taken + into account. +
Index: src/main/java/org/jvnet/hudson/plugins/backup/BackupLink.java =================================================================== --- src/main/java/org/jvnet/hudson/plugins/backup/BackupLink.java (revision 32387) +++ src/main/java/org/jvnet/hudson/plugins/backup/BackupLink.java (working copy) @@ -169,6 +169,7 @@ public void doSaveSettings(StaplerRequest res, StaplerResponse rsp, @QueryParameter("backupDirectoryPath") String backupPath, @QueryParameter("archive_format") String format, + @QueryParameter("customExclusionsString") String customExclusionsString, @QueryParameter("verbose") boolean verbose, @QueryParameter("fileNameTemplate") String fileNameTemplate, @QueryParameter("keepWorkspaces") boolean keepWorkspaces, @@ -190,7 +191,7 @@ CompressionMethodEnum archiveType = CompressionMethodEnum.getFromCode(format); configuration.setArchiveType(archiveType); - configuration.setCustomExclusions(new ArrayList()); + configuration.setCustomExclusionsString(customExclusionsString); configuration.setKeepWorkspaces(keepWorkspaces); configuration.setKeepFingerprints(keepFingerprints); configuration.setKeepBuilds(keepBuilds); Index: src/main/resources/org/jvnet/hudson/plugins/backup/BackupLink/backupsettings.properties =================================================================== --- src/main/resources/org/jvnet/hudson/plugins/backup/BackupLink/backupsettings.properties (revision 32379) +++ src/main/resources/org/jvnet/hudson/plugins/backup/BackupLink/backupsettings.properties (working copy) @@ -25,6 +25,7 @@ backup.directory.title=Backup directory backup.settings.save=Save backup.root.directory.title=Hudson root directory +backup.customExclusions.title=Custom exclusions backup.verbose.title=Verbose mode backup.fileNameTemplate.title=File name template backup.archivetype.title=Format