/*
* Copyright 2013-2016 consulo.io
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package consulo.compiler.server;
import com.intellij.openapi.application.PathManager;
import com.intellij.openapi.application.ex.ApplicationEx;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.ui.Messages;
import com.intellij.openapi.ui.TestDialog;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VirtualFile;
import consulo.vfs.util.ArchiveVfsUtil;
import consulo.compiler.server.application.CompilerServerApplication;
import java.io.File;
/**
* @author VISTALL
* @since 0:53/11.09.13
*/
public class MainTest {
public static final Logger LOGGER = Logger.getInstance(MainTest.class);
public static void main(String[] args) throws Exception{
File t = FileUtil.createTempDirectory("consulo", "data");
System.setProperty(PathManager.PROPERTY_CONFIG_PATH, t.getAbsolutePath() + "/config");
System.setProperty(PathManager.PROPERTY_SYSTEM_PATH, t.getAbsolutePath() + "/system");
//System.setProperty(PathManager.PROPERTY_CONFIG_PATH, "C:\\Users\\VISTALL\\.ConsuloData\\config");
// System.setProperty(PathManager.PROPERTY_SYSTEM_PATH, "C:\\Users\\VISTALL\\.ConsuloData\\system");
System.setProperty(PathManager.PROPERTY_HOME_PATH, "F:\\github.com\\consulo\\consulo\\out\\artifacts\\dist");
System.setProperty("idea.filewatcher.disabled", "true");
initLogger();
ApplicationEx app = CompilerServerApplication.createApplication();
Messages.setTestDialog(new TestDialog() {
@Override
public int show(String message) {
MainTest.LOGGER.info(message);
return 0;
}
}) ;
app.load(PathManager.getOptionsPath());
System.out.println("---------------------------------------------------------------------------------------------------------");
/* File file = new File("../../../platform/compiler-server-impl/testData/zip1.zip");
VirtualFile virtualFile = LocalFileSystem.getInstance().findFileByIoFile(file);
VirtualFile jarRootForLocalFile = ArchiveVfsUtil.getJarRootForLocalFile(virtualFile);
StringBuilder builder = new StringBuilder();
printTree(jarRootForLocalFile, 0, builder);
System.out.println(builder); */
File file = new File("F:\\github.com\\consulo\\consulo\\out\\artifacts\\dist\\lib\\idea.jar");
VirtualFile virtualFile = LocalFileSystem.getInstance().findFileByIoFile(file);
VirtualFile archiveRootForLocalFile = ArchiveVfsUtil.getArchiveRootForLocalFile(virtualFile);
System.out.println(archiveRootForLocalFile.findFileByRelativePath("consulo/module/extension/ui"));
}
private static void printTree(VirtualFile virtualFile, int indent, StringBuilder builder) {
builder.append("|");
builder.append(StringUtil.repeat("-", indent));
builder.append(" ");
builder.append(virtualFile.getUrl());
builder.append("\n");
for (VirtualFile file : virtualFile.getChildren()) {
printTree(file, indent + 1, builder);
}
}
private static void initLogger() {
Logger.setFactory(CompilerServerLoggerFactory.class);
}
}