All Downloads are FREE. Search and download functionalities are using the official Maven repository.

hudson.plugins.scm_sync_configuration.strategies.impl.HudsonConfigScmSyncStrategy Maven / Gradle / Ivy

Go to download

SCM Sync Configuration Hudson plugin is aimed at 2 main features : First, keep sync'ed your config.xml (and other ressources) hudson files with a SCM repository (backup), Secondly, track changes (and author) made on every file with commit messages.

The newest version!
package hudson.plugins.scm_sync_configuration.strategies.impl;

import hudson.model.Hudson;
import hudson.plugins.scm_sync_configuration.strategies.AbstractScmSyncStrategy;
import hudson.plugins.scm_sync_configuration.strategies.model.ClassOnlyConfigurationEntityMatcher;
import hudson.plugins.scm_sync_configuration.strategies.model.ConfigurationEntityMatcher;
import hudson.plugins.scm_sync_configuration.strategies.model.PageMatcher;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

public class HudsonConfigScmSyncStrategy extends AbstractScmSyncStrategy {

	private static final List PAGE_MATCHERS = new ArrayList(){ { add(new PageMatcher("^configure$", "config")); } };
	private static final ConfigurationEntityMatcher CONFIG_ENTITY_MATCHER = new ClassOnlyConfigurationEntityMatcher(Hudson.class);
	
	public HudsonConfigScmSyncStrategy(){
		super(CONFIG_ENTITY_MATCHER, PAGE_MATCHERS);
	}
	
	public List createInitializationSynchronizedFileset() {
		return new ArrayList(){{ 
			add(new File(Hudson.getInstance().getRootDir().getAbsolutePath()+File.separator+"config.xml")); 
			}};
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy