grant codeBase "file:{{gradle_user_home}}/-" {
    permission java.security.AllPermission;
};
{{all_permissions_for_gradle_ro_dep_cache}}
grant {
    // Basic permissions needed for tests to run
    permission java.lang.RuntimePermission "*";
    permission java.net.SocketPermission "127.0.0.1:0", "connect,resolve";
    permission java.lang.management.ManagementPermission "control";
    permission java.util.logging.LoggingPermission "control";
    permission com.sun.jdi.JDIPermission "virtualMachineManager";
    permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
    permission java.util.PropertyPermission "*", "read";
    permission java.util.PropertyPermission "idea.*", "write";
    permission java.util.PropertyPermission "psi.*", "write";
    permission java.util.PropertyPermission "org.gradle.test.worker", "write";
    permission java.util.PropertyPermission "project.structure.add.tools.jar.to.new.jdk", "write";
    permission java.util.PropertyPermission "ide.hide.excluded.files", "write";
    permission java.util.PropertyPermission "ast.loading.filter", "write";
    permission java.util.PropertyPermission "java.ext.dirs", "write";
    permission java.util.PropertyPermission "platform.random.idempotence.check.rate", "write";
    permission java.util.PropertyPermission "apple.awt.UIElement", "write";

    // IdeaSystemPropertiesForParallelRunConfigurator
    permission java.util.PropertyPermission "java.io.tmpdir", "write";
    permission java.util.PropertyPermission "ANDROID_SDK_HOME", "write";

    // KotlinTestWithEnvironmentManagement
    permission java.util.PropertyPermission "java.awt.headless", "write";

    // ReplCompilerJava8Test.testIncompatibleScriptJvmTargetProperty
    permission java.util.PropertyPermission "kotlin.repl.jvm.target", "write";

    // Used by com.intellij.openapi.util.SystemInfo.isCrostini() to detect ChromeOs
    permission java.io.FilePermission "/dev/.cros_milestone", "read";

    {{native}}

    // Temp directory
    {{temp_dir}}

    // Build directory
    {{build_dir}}

    // Debugger
    {{debugger_agent_jar}}

    // JDK
    {{jdk}}
    {{java_library_paths}}

    // Allow access to declared input directories
    {{inputs}}
};