package io.github.fvarrui.javapackager.packagers;

import org.apache.commons.lang3.SystemUtils;
import org.apache.maven.plugin.MojoExecutionException;

import io.github.fvarrui.javapackager.model.Platform;

public class PackagerFactory {
	
	public static Packager createPackager(Platform platform) throws MojoExecutionException {
		if (platform == Platform.auto) platform = Platform.getCurrentPlatform();
		switch (platform) {
		case mac:
			return new MacPackager();
		case linux:
			return new LinuxPackager(); 
		case windows:
			return new WindowsPackager();
		default:
			throw new MojoExecutionException("Unsupported operating system: " + SystemUtils.OS_NAME + " " + SystemUtils.OS_VERSION + " " + SystemUtils.OS_ARCH);
		}
	}

}