Launcher/LaunchServer/src/main/java/ru/gravit/launchserver/binary/BuildContext.java

46 lines
1.4 KiB
Java
Raw Normal View History

2018-09-19 16:14:50 +03:00
package ru.gravit.launchserver.binary;
import ru.gravit.utils.helper.IOHelper;
import java.io.IOException;
import java.io.InputStream;
2018-09-19 16:29:31 +03:00
import java.util.Set;
2018-09-19 16:14:50 +03:00
import java.util.jar.JarInputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
public class BuildContext {
public final ZipOutputStream output;
public final JAConfigurator config;
public BuildContext(ZipOutputStream output, JAConfigurator config) {
this.output = output;
this.config = config;
}
public void pushFile(String filename,InputStream inputStream) throws IOException {
ZipEntry zip = IOHelper.newZipEntry(filename);
output.putNextEntry(zip);
IOHelper.transfer(inputStream,output);
}
public void pushJarFile(JarInputStream input) throws IOException {
ZipEntry e = input.getNextEntry();
while (e != null) {
output.putNextEntry(e);
IOHelper.transfer(input,output);
e = input.getNextEntry();
}
}
2018-09-19 16:29:31 +03:00
public void pushJarFile(JarInputStream input, Set<String> blacklist) throws IOException {
ZipEntry e = input.getNextEntry();
while (e != null) {
if(blacklist.contains(e.getName())){
e = input.getNextEntry();
continue;
}
output.putNextEntry(e);
IOHelper.transfer(input,output);
e = input.getNextEntry();
}
}
2018-09-19 16:14:50 +03:00
}