home *** CD-ROM | disk | FTP | other *** search
- package lotus.notes.internal;
-
- import java.io.BufferedInputStream;
- import java.io.BufferedOutputStream;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.OutputStream;
- import java.io.PrintStream;
- import java.util.Vector;
- import java.util.zip.ZipEntry;
- import java.util.zip.ZipException;
- import java.util.zip.ZipInputStream;
- import java.util.zip.ZipOutputStream;
- import sun.tools.javac.Main;
-
- class IDEHelper {
- static String[] listJar(String var0) throws IOException {
- Vector var1 = new Vector();
- FileInputStream var2 = new FileInputStream(var0);
- ZipInputStream var3 = new ZipInputStream(var2);
-
- ZipEntry var4;
- while((var4 = var3.getNextEntry()) != null) {
- String var5 = var4.getName();
- var3.closeEntry();
- if (!var4.isDirectory() && !var5.startsWith("META-INF/")) {
- var1.addElement(var5);
- }
- }
-
- var3.close();
- String[] var6 = new String[var1.size()];
- var1.copyInto(var6);
- return var6;
- }
-
- static boolean extractJar(String var0, String var1) throws IOException {
- FileInputStream var2 = new FileInputStream(var0);
-
- ZipInputStream var3;
- ZipEntry var4;
- for(var3 = new ZipInputStream(var2); (var4 = var3.getNextEntry()) != null; var3.closeEntry()) {
- String var5 = var4.getName();
- if (!var4.isDirectory() && !var5.startsWith("META-INF/")) {
- File var6 = new File(var1, var5.replace('/', File.separatorChar));
- if (var6.getParent() != null) {
- File var7 = new File(var6.getParent());
- if (!var7.exists() && !var7.mkdirs() || !var7.isDirectory()) {
- throw new IOException(var7 + ": could not create directory");
- }
- }
-
- FileOutputStream var10 = new FileOutputStream(var6);
- byte[] var8 = new byte[4096];
-
- int var9;
- while((var9 = var3.read(var8, 0, var8.length)) != -1) {
- ((OutputStream)var10).write(var8, 0, var9);
- }
-
- ((OutputStream)var10).close();
- }
- }
-
- var3.close();
- return true;
- }
-
- private static void addFiles(String var0, String var1, ZipOutputStream var2) throws IOException {
- File var3 = new File(var0, var1);
- if (var3.isFile()) {
- String var9 = var1.replace(File.separatorChar, '/');
- ZipEntry var10 = new ZipEntry(var9);
- var10.setTime(var3.lastModified());
- if (var3.length() == 0L) {
- var10.setMethod(0);
- var10.setSize(0L);
- var10.setCrc(0L);
- var2.putNextEntry(var10);
- } else {
- var2.putNextEntry(var10);
- byte[] var6 = new byte[4096];
- BufferedInputStream var8 = new BufferedInputStream(new FileInputStream(var3), var6.length);
-
- int var7;
- while((var7 = ((InputStream)var8).read(var6, 0, var6.length)) != -1) {
- var2.write(var6, 0, var7);
- }
-
- ((InputStream)var8).close();
- }
-
- var2.closeEntry();
- } else {
- if (var3.isDirectory()) {
- if (var1.length() > 0) {
- var1 = var1 + File.separatorChar;
- }
-
- String[] var4 = var3.list();
-
- for(int var5 = 0; var5 < var4.length; ++var5) {
- addFiles(var0, var1 + var4[var5], var2);
- }
- }
-
- }
- }
-
- static boolean createJar(String var0, String var1) throws IOException {
- FileOutputStream var2 = new FileOutputStream(var0);
- BufferedOutputStream var3 = new BufferedOutputStream(var2);
- ZipOutputStream var4 = new ZipOutputStream(var3);
- addFiles(var1, "", var4);
-
- try {
- var4.close();
- return true;
- } catch (ZipException var5) {
- return false;
- }
- }
-
- static boolean compile(String var0, String[] var1, String var2, int var3) {
- String var5 = System.getProperty("file.encoding");
-
- PrintStream var16;
- try {
- System.getProperties().put("file.encoding", "UTF8");
- AgentOutputStream var4 = new AgentOutputStream((long)var3, 4);
- var16 = new PrintStream(var4);
- } catch (Throwable var14) {
- System.err.println("Exception in AgentIDEHelper.compile(): " + var14);
- var14.printStackTrace(System.err);
- return false;
- }
-
- System.getProperties().put("file.encoding", var5);
- Main var6 = new Main(var16, "Javac");
- String var7 = System.getProperty("path.separator", ";");
- String var8 = System.getProperty("java.class.path");
- var2 = "." + var7 + var2;
- if (var8 != null) {
- var2 = var2 + var7 + var8;
- }
-
- String[] var9 = new String[5 + var1.length];
- var9[0] = "-classpath";
- var9[1] = var2;
- var9[2] = "-d";
- var9[3] = var0;
- var9[4] = "-deprecation";
-
- for(int var10 = 0; var10 < var1.length; ++var10) {
- var9[var10 + 5] = var1[var10].replace('/', File.separatorChar);
- }
-
- boolean var11 = var6.compile(var9);
-
- try {
- ((OutputStream)var16).flush();
- } catch (Throwable var13) {
- System.err.println("Exception in AgentIDEHelper.compile() flush: " + var13);
- var13.printStackTrace(System.err);
- }
-
- return var11;
- }
- }
-