blob: 7f0ea6011867854a5a215340c728dbb721ab3800 [file] [log] [blame]
/*
* Copyright 2016 The Bazel Authors. All rights reserved.
*
* 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.google.idea.blaze.base.settings;
import com.google.idea.blaze.base.settings.Blaze.BuildSystem;
import com.intellij.util.xmlb.annotations.Tag;
import javax.annotation.Nullable;
// The tag here is for legacy migration support.
// No longer needed and can be removed with {@link BlazeImportSettingsManagerLegacy}
/** Project settings that are set at import time. */
@Tag("BlazeProjectSettings")
public final class BlazeImportSettings {
private String workspaceRoot = "";
private String projectName = "";
private String projectDataDirectory = "";
private String locationHash = "";
private String projectViewFile;
private BuildSystem buildSystem =
BuildSystem.Blaze; // default for backwards compatibility with existing projects.
// Used by bean serialization
@SuppressWarnings("unused")
BlazeImportSettings() {}
public BlazeImportSettings(
String workspaceRoot,
String projectName,
String projectDataDirectory,
String locationHash,
String projectViewFile,
BuildSystem buildSystem) {
this.workspaceRoot = workspaceRoot;
this.projectName = projectName;
this.projectDataDirectory = projectDataDirectory;
this.locationHash = locationHash;
this.projectViewFile = projectViewFile;
this.buildSystem = buildSystem;
}
@SuppressWarnings("unused")
public String getWorkspaceRoot() {
return workspaceRoot;
}
@SuppressWarnings("unused")
public String getProjectName() {
return projectName;
}
@SuppressWarnings("unused")
public String getProjectDataDirectory() {
return projectDataDirectory;
}
/** Hash used to give the project a unique directory in the system directory. */
@SuppressWarnings("unused")
public String getLocationHash() {
return locationHash;
}
/** The user's local project view file */
@SuppressWarnings("unused")
public String getProjectViewFile() {
return projectViewFile;
}
/** The build system used for the project. */
@SuppressWarnings("unused")
public BuildSystem getBuildSystem() {
return buildSystem;
}
// Used by bean serialization
@SuppressWarnings("unused")
public void setWorkspaceRoot(String workspaceRoot) {
this.workspaceRoot = workspaceRoot;
}
// Used by bean serialization
@SuppressWarnings("unused")
public void setProjectName(String projectName) {
this.projectName = projectName;
}
// Used by bean serialization
@SuppressWarnings("unused")
public void setProjectDataDirectory(String projectDataDirectory) {
this.projectDataDirectory = projectDataDirectory;
}
// Used by bean serialization
@SuppressWarnings("unused")
public void setLocationHash(String locationHash) {
this.locationHash = locationHash;
}
// Used by bean serialization
@SuppressWarnings("unused")
public void setProjectViewFile(@Nullable String projectViewFile) {
this.projectViewFile = projectViewFile;
}
// Used by bean serialization -- legacy import support
@SuppressWarnings("unused")
public void setAsProjectFile(@Nullable String projectViewFile) {
this.projectViewFile = projectViewFile;
}
// Used by bean serialization
@SuppressWarnings("unused")
public void setBuildSystem(BuildSystem buildSystem) {
this.buildSystem = buildSystem;
}
}