package com.google.appengine.tools.development; import com.google.appengine.repackaged.com.google.common.annotations.VisibleForTesting; import com.google.appengine.repackaged.com.google.common.collect.ImmutableList; import com.google.appengine.tools.info.SdkInfo; import com.google.appengine.tools.info.UpdateCheck; import com.google.appengine.tools.plugins.SDKPluginManager; import com.google.appengine.tools.plugins.SDKRuntimePlugin; import com.google.appengine.tools.plugins.SDKRuntimePlugin.ApplicationDirectories; import com.google.appengine.tools.util.Action; import com.google.appengine.tools.util.Logging; import com.google.appengine.tools.util.Option; import com.google.appengine.tools.util.Parser; import com.google.appengine.tools.util.Parser.ParseResult; import java.awt.Toolkit; import java.io.File; import java.io.PrintStream; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.TimeZone; public class DevAppServerMain { public static final String EXTERNAL_RESOURCE_DIR_ARG = "external_resource_dir"; public static final String GENERATE_WAR_ARG = "generate_war"; public static final String GENERATED_WAR_DIR_ARG = "generated_war_dir"; private static final String DEFAULT_RDBMS_PROPERTIES_FILE = ".local.rdbms.properties"; private static final String RDBMS_PROPERTIES_FILE_SYSTEM_PROPERTY = "rdbms.properties.file"; private static String originalTimeZone; private final Action ACTION = new StartAction(); private String server = SdkInfo.getDefaultServer(); private String address = "127.0.0.1"; private int port = 8080; private boolean disableUpdateCheck; private boolean disableRestrictedCheck = false; private String externalResourceDir = null; private List propertyOptions = null; private String generatedDirectory = null; // add for AppScale private String db_location; private String login_server; private String cookie; private String appscale_version; private String admin_console_version; private final List