/******************************************************************************* * Copyright (c) 2012 VMWare, Inc. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * VMWare, Inc. - initial API and implementation *******************************************************************************/ package org.grails.ide.eclipse.runtime.shared; /** * Grails commands are executed by launching an external process. To interact with this process we have to add some * classes to that external process's classpath. These classes may have dependencies on grails jars that are only * present in the external Grails distribution, but not shipped with STS itself. * <p> * It will cause "class not found" exceptions if any class running inside of STS tries to directly or indirectly * classload one of the classes in an external Grails jar. * <p> * This class contains some constants that should be shared between the external grails process and the code * executing inside of STS. As such, this class may be classloaded both inside and outside of STS and as such, * extreme care should be taken with what classes this class depends on, directly or indirectly. To keep this clear, * the only thing in this class should be obviously safe things such as literal String constants. * * @author Kris De Volder * @since 2.6.1 */ public class SharedLaunchConstants { public static final String DependencyExtractingBuildListener_CLASS = "org.grails.ide.eclipse.runtime.DependencyExtractingBuildListener"; // Note: it is tempting to use DependencyExtractingBuildListener.class.getName() but that would pull in unwanted dependencies! // and cause "class not found exceptions". /** * Name of the system property used to pass 'filename' to the external Grails process. * * IMPORTANT: Try not to change the String value of this constant moving forward because Grails Maven support has a 'copy-pasted' version * of this constant. So if it is changed here, it will break Grails Maven support. */ public static final String DEPENDENCY_FILE_NAME_PROP = "org.grails.ide.eclipse.dependencies.filename"; }