/** * Performs some sanity checks on the class paths. */ private void checkInputOutput(ClassPath inputClassPath, ClassPath outputClassPath) throws IOException { if (inputClassPath == null || outputClassPath == null) { return; } for (int index1 = 0; index1 < inputClassPath.size(); index1++) { ClassPathEntry entry1 = inputClassPath.get(index1); if (!entry1.isOutput()) { for (int index2 = 0; index2 < outputClassPath.size(); index2++) { ClassPathEntry entry2 = outputClassPath.get(index2); if (entry2.isOutput() && entry2.getName().equals(entry1.getName())) { throw new IOException("Input jars and output jars must be different ["+entry1.getName()+"]"); } } } } }
if (entry2.getName().equals(entry1.getName())) throw new IOException("The same output jar ["+entry1.getName()+"] is specified twice."); throw new IOException("Input jars and output jars must be different ["+entry1.getName()+"]."); throw new IOException("Input jars and output jars must be different ["+entry1.getName()+"]."); throw new IOException("The same input jar ["+entry1.getName()+"] is specified twice.");
if (entry2.getName().equals(entry1.getName())) throw new IOException("The same output jar ["+entry1.getName()+"] is specified twice."); throw new IOException("Input jars and output jars must be different ["+entry1.getName()+"]."); throw new IOException("Input jars and output jars must be different ["+entry1.getName()+"]."); throw new IOException("The same input jar ["+entry1.getName()+"] is specified twice.");
if (entry2.getName().equals(entry1.getName())) throw new IOException("The same output jar ["+entry1.getName()+"] is specified twice."); throw new IOException("Input jars and output jars must be different ["+entry1.getName()+"]."); throw new IOException("Input jars and output jars must be different ["+entry1.getName()+"]."); throw new IOException("The same input jar ["+entry1.getName()+"] is specified twice.");
jarNameLabel.setText(entry.getName());
if (firstEntry.isOutput()) throw new IOException("The output jar [" + firstEntry.getName() + "] must be specified after an input jar, or it will be empty."); programJars.get(index + 1).isOutput()) throw new IOException("The output jar [" + entry.getName() + "] must have a filter, or all subsequent output jars will be empty."); !entry.isZip()) System.out.println("Note: you're writing the processed class files to a directory [" + entry.getName() + "]."); System.out.println(" This will likely cause problems with obfuscated mixed-case class names."); System.out.println(" You should consider writing the output to a jar file, or otherwise");
if (firstEntry.isOutput()) throw new IOException("The output jar [" + firstEntry.getName() + "] must be specified after an input jar, or it will be empty."); programJars.get(index + 1).isOutput()) throw new IOException("The output jar [" + entry.getName() + "] must have a filter, or all subsequent output jars will be empty."); !entry.isZip()) System.out.println("Note: you're writing the processed class files to a directory [" + entry.getName() + "]."); System.out.println(" This will likely cause problems with obfuscated mixed-case class names."); System.out.println(" You should consider writing the output to a jar file, or otherwise");
if (firstEntry.isOutput()) throw new IOException("The output jar [" + firstEntry.getName() + "] must be specified after an input jar, or it will be empty."); programJars.get(index + 1).isOutput()) throw new IOException("The output jar [" + entry.getName() + "] must have a filter, or all subsequent jars will be empty."); entry.getFile().equals(otherEntry.getFile())) throw new IOException("The output jar [" + entry.getName() + "] must be different from all input jars.");
throw (IOException)new IOException("Can't write [" + classPath.get(fromOutputIndex).getName() + "] (" + ex.getMessage() + ")").initCause(ex);
throw (IOException)new IOException("Can't write [" + classPath.get(fromOutputIndex).getName() + "] (" + ex.getMessage() + ")").initCause(ex);
public String toString() String string = getName();
public String toString() String string = getName();
public String toString() String string = getName();
DataEntryWriter alternativeWriter) String entryName = classPathEntry.getName(); boolean isJar = endsWithIgnoreCase(entryName, ".jar"); boolean isWar = endsWithIgnoreCase(entryName, ".war");
isZip ? "zip" : "directory") + " [" + classPathEntry.getName() + "]" + (filter != null || apkFilter != null ||
isZip ? "zip" : "directory") + " [" + classPathEntry.getName() + "]" + (filter != null || apkFilter != null ||
isZip ? "zip" : "directory") + " [" + classPathEntry.getName() + "]" + (filter != null || apkFilter != null ||
isZip ? "zip" : "directory") + " [" + classPathEntry.getName() + "]" + (filter != null || apkFilter != null ||
isZip ? "zip" : "directory") + " [" + classPathEntry.getName() + "]" + (filter != null || apkFilter != null ||