blob: 1ce9378581cc25d55ac70f19f9b49e5b252c3822 [file] [log] [blame]
/*=============================================================================#
# Copyright (c) 2010, 2017 Stephan Wahlbrink and others.
#
# This program and the accompanying materials are made available under the
# terms of the Eclipse Public License 2.0 which is available at
# https://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0
# which is available at https://www.apache.org/licenses/LICENSE-2.0.
#
# SPDX-License-Identifier: EPL-2.0 OR Apache-2.0
#
# Contributors:
# Stephan Wahlbrink <sw@wahlbrink.eu> - initial API and implementation
#=============================================================================*/
package org.eclipse.statet.r.core.renv;
import java.util.List;
import org.eclipse.statet.internal.r.core.renv.RLibraryLocation;
/**
* A group of {@link RLibraryLocation R library locations}.
*/
public interface IRLibraryGroup {
/** Id of R default library group */
public static final String R_DEFAULT= "r.default"; //$NON-NLS-1$
/** Id of R site libraries group */
public static final String R_SITE= "r.site"; //$NON-NLS-1$
/** Id of R user libraries group */
public static final String R_USER= "r.user"; //$NON-NLS-1$
/** Id of R other libraries group */
public static final String R_OTHER= "r.common"; //$NON-NLS-1$
public static final String DEFAULTLOCATION_R_DEFAULT= "${env_var:R_HOME}/library"; //$NON-NLS-1$
public static final String DEFAULTLOCATION_R_SITE= "${env_var:R_HOME}/site-library"; //$NON-NLS-1$
public interface WorkingCopy extends IRLibraryGroup {
@Override
public List<IRLibraryLocation.WorkingCopy> getLibraries();
IRLibraryLocation.WorkingCopy newLibrary(String path);
}
public String getId();
public String getLabel();
public List<? extends IRLibraryLocation> getLibraries();
}