/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* 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 com.goide;
import com.intellij.notification.NotificationGroup;
import com.intellij.openapi.wm.ToolWindowId;
import com.intellij.util.containers.ContainerUtil;
import org.jetbrains.annotations.NonNls;
import java.util.Set;
public class GoConstants {
public static final String MODULE_TYPE_ID = "GO_MODULE";
public static final String SDK_TYPE_ID = "Go SDK";
public static final String PATH = "PATH";
public static final String GO_PATH = "GOPATH";
public static final String GO_ROOT = "GOROOT";
public static final String GO_VENDORING_EXPERIMENT = "GO15VENDOREXPERIMENT";
public static final String GO_LIBRARIES_SERVICE_NAME = "GoLibraries";
public static final String GO_LIBRARIES_CONFIG_FILE = "goLibraries.xml";
public static final String GO_MODULE_SESTTINGS_SERVICE_NAME = "Go";
private static final String IDENTIFIER_REGEX = "[\\p{javaLetter}_][\\p{javaLetterOrDigit}_]*";
public static final String TEST_NAME_REGEX = IDENTIFIER_REGEX + "(/\\S*)?";
public static final String TESTDATA_NAME = "testdata";
public static final String TEST_SUFFIX = "_test";
public static final String TEST_SUFFIX_WITH_EXTENSION = "_test.go";
public static final String TEST_PREFIX = "Test";
public static final String BENCHMARK_PREFIX = "Benchmark";
public static final String EXAMPLE_PREFIX = "Example";
public static final String TEST_MAIN = "TestMain";
public static final String MAIN = "main";
public static final String INIT = "init";
public static final String IOTA = "iota";
public static final String DOCUMENTATION = "documentation";
public static final String C_PATH = "C";
public static final String TESTING_PATH = "testing";
public static final String VENDOR = "vendor";
public static final String INTERNAL = "internal";
public static final String INTERFACE_TYPE = "interface{}";
public static final NotificationGroup GO_NOTIFICATION_GROUP = NotificationGroup.balloonGroup("Go plugin notifications");
public static final NotificationGroup GO_EXECUTION_NOTIFICATION_GROUP = NotificationGroup.toolWindowGroup("Go Execution", ToolWindowId.RUN);
@NonNls public static final String LIB_EXEC_DIRECTORY = "libexec";
@NonNls public static final String GO_VERSION_FILE_PATH = "runtime/zversion.go";
@NonNls public static final String GO_VERSION_NEW_FILE_PATH = "runtime/internal/sys/zversion.go";
public static final String BUILTIN_FILE_NAME = "builtin.go";
public static final String BUILTIN_PACKAGE_NAME = "builtin";
public static final String BUILTIN_FILE_PATH = BUILTIN_PACKAGE_NAME + "/" + BUILTIN_FILE_NAME;
@NonNls public static final String APP_ENGINE_MARKER_FILE = "appcfg.py";
@NonNls public static final String APP_ENGINE_GO_ROOT_DIRECTORY_PATH = "/goroot";
@NonNls public static final String GCLOUD_APP_ENGINE_DIRECTORY_PATH = "/platform/google_appengine";
@NonNls public static final String GAE_EXECUTABLE_NAME = "goapp";
@NonNls public static final String GAE_BAT_EXECUTABLE_NAME = "goapp.bat";
@NonNls public static final String GAE_CMD_EXECUTABLE_NAME = "goapp.cmd";
@NonNls public static final String DELVE_EXECUTABLE_NAME = "dlv";
@NonNls public static final String GO_EXECUTABLE_NAME = "go";
public static final String BUILD_FLAG = "+build";
public static final String LINUX_OS = "linux";
public static final String ANDROID_OS = "android";
// see "$GOROOT/src/go/build/syslist.go
public static final Set<String> KNOWN_OS = ContainerUtil.immutableSet("android", "darwin", "dragonfly", "freebsd", "linux", "nacl",
"netbsd", "openbsd", "plan9", "solaris", "windows");
public static final Set<String> KNOWN_ARCH = ContainerUtil.immutableSet("386", "amd64", "amd64p32", "arm", "armbe", "arm64", "arm64be",
"ppc64", "ppc64le", "mips", "mipsle", "mips64", "mips64le",
"mips64p32", "mips64p32le", "ppc", "s390", "s390x", "sparc",
"sparc64");
public static final Set<String> KNOWN_VERSIONS = ContainerUtil.immutableSet("go1.1", "go1.2", "go1.3", "go1.4", "go1.5", "go1.6", "go1.7");
public static final Set<String> KNOWN_CGO = ContainerUtil.immutableSet("darwin/386", "darwin/amd64", "dragonfly/386", "dragonfly/amd64",
"freebsd/386", "freebsd/amd64", "freebsd/arm", "linux/386",
"linux/amd64", "linux/arm", "linux/arm64", "android/386",
"android/amd64", "android/arm", "netbsd/386", "netbsd/amd64",
"netbsd/arm", "openbsd/386", "openbsd/amd64", "windows/386",
"windows/amd64", "linux/ppc64le");
public static final Set<String> KNOWN_COMPILERS = ContainerUtil.immutableSet("gc", "gccgo");
@NonNls public static final String NIL = "nil";
@NonNls public static final String GO = "Go";
@NonNls public static final String AMD64 = "amd64";
private GoConstants() {
}
}