org.gradle.api.internalconfigurations.ResolveConfigurationResolutionBuildOperationDetails Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of gradle-api Show documentation
Show all versions of gradle-api Show documentation
Gradle 6.9.1 API redistribution.
/*
* Copyright 2018 the original author or authors.
*
* 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 org.gradle.api.internal.artifacts.configurations;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import org.gradle.api.internal.artifacts.configurations.ResolveConfigurationDependenciesBuildOperationType.Repository;
import org.gradle.api.internal.artifacts.repositories.ResolutionAwareRepository;
import org.gradle.api.internal.artifacts.repositories.descriptor.RepositoryDescriptor;
import org.gradle.internal.operations.trace.CustomOperationTraceSerialization;
import org.gradle.util.CollectionUtils;
import javax.annotation.Nullable;
import java.io.File;
import java.net.URI;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
class ResolveConfigurationResolutionBuildOperationDetails implements ResolveConfigurationDependenciesBuildOperationType.Details, CustomOperationTraceSerialization {
private final String configurationName;
private final boolean isScriptConfiguration;
private final String configurationDescription;
private final String buildPath;
private final String projectPath;
private final boolean isConfigurationVisible;
private final boolean isConfigurationTransitive;
private final List repositories;
ResolveConfigurationResolutionBuildOperationDetails(
String configurationName,
boolean isScriptConfiguration,
@Nullable String configurationDescription,
String buildPath,
@Nullable String projectPath,
boolean isConfigurationVisible,
boolean isConfigurationTransitive,
List repositories
) {
this.configurationName = configurationName;
this.isScriptConfiguration = isScriptConfiguration;
this.configurationDescription = configurationDescription;
this.buildPath = buildPath;
this.projectPath = projectPath;
this.isConfigurationVisible = isConfigurationVisible;
this.isConfigurationTransitive = isConfigurationTransitive;
this.repositories = RepositoryImpl.transform(repositories);
}
@Override
public String getConfigurationName() {
return configurationName;
}
@Nullable
@Override
public String getProjectPath() {
return projectPath;
}
@Override
public boolean isScriptConfiguration() {
return isScriptConfiguration;
}
@Override
public String getConfigurationDescription() {
return configurationDescription;
}
@Override
public String getBuildPath() {
return buildPath;
}
@Override
public boolean isConfigurationVisible() {
return isConfigurationVisible;
}
@Override
public boolean isConfigurationTransitive() {
return isConfigurationTransitive;
}
@Override
public List getRepositories() {
return repositories;
}
@Override
public Object getCustomOperationTraceSerializableModel() {
Map model = new HashMap<>();
model.put("configurationName", configurationName);
model.put("scriptConfiguration", isScriptConfiguration);
model.put("configurationDescription", configurationDescription);
model.put("buildPath", buildPath);
model.put("projectPath", projectPath);
model.put("configurationVisible", isConfigurationVisible);
model.put("configurationTransitive", isConfigurationTransitive);
ImmutableList.Builder