/* * SK's Minecraft Launcher * Copyright (C) 2010-2014 Albert Pham <http://www.sk89q.com> and contributors * Please see LICENSE.txt for license information. */ package com.skcraft.launcher.builder; import com.beust.jcommander.internal.Lists; import org.apache.commons.compress.compressors.CompressorStreamFactory; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.*; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; public final class BuilderUtils { private static final DateFormat VERSION_DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss"); private BuilderUtils() { } public static String normalizePath(String path) { return path.replaceAll("^[/\\\\]*", "").replaceAll("[/\\\\]+", "/"); } public static ZipEntry getZipEntry(ZipFile jarFile, String path) { Enumeration<? extends ZipEntry> entries = jarFile.entries(); String expected = normalizePath(path); while (entries.hasMoreElements()) { ZipEntry entry = entries.nextElement(); String test = normalizePath(entry.getName()); if (expected.equals(test)) { return entry; } } return null; } public static List<Compressor> getCompressors(String repoUrl) { if (repoUrl.matches("^https?://files.minecraftforge.net/maven/")) { return Lists.newArrayList( new Compressor("xz", CompressorStreamFactory.XZ), new Compressor("pack", CompressorStreamFactory.PACK200)); } else { return Collections.emptyList(); } } public static String generateVersionFromDate() { Date today = Calendar.getInstance().getTime(); return VERSION_DATE_FORMAT.format(today); } }