public static PremanagedDependency create()

in maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/PremanagedDependency.java [88:140]


    public static PremanagedDependency create(
            DependencyManager depManager,
            Dependency dependency,
            boolean disableVersionManagement,
            boolean premanagedState) {
        DependencyManagement depMngt = depManager != null ? depManager.manageDependency(dependency) : null;

        int managedBits = 0;
        String premanagedVersion = null;
        String premanagedScope = null;
        Boolean premanagedOptional = null;
        Collection<Exclusion> premanagedExclusions = null;
        Map<String, String> premanagedProperties = null;

        if (depMngt != null) {
            if (depMngt.getVersion() != null && !disableVersionManagement) {
                Artifact artifact = dependency.getArtifact();
                premanagedVersion = artifact.getVersion();
                dependency = dependency.setArtifact(artifact.setVersion(depMngt.getVersion()));
                managedBits |= DependencyNode.MANAGED_VERSION;
            }
            if (depMngt.getProperties() != null) {
                Artifact artifact = dependency.getArtifact();
                premanagedProperties = artifact.getProperties();
                dependency = dependency.setArtifact(artifact.setProperties(depMngt.getProperties()));
                managedBits |= DependencyNode.MANAGED_PROPERTIES;
            }
            if (depMngt.getScope() != null) {
                premanagedScope = dependency.getScope();
                dependency = dependency.setScope(depMngt.getScope());
                managedBits |= DependencyNode.MANAGED_SCOPE;
            }
            if (depMngt.getOptional() != null) {
                premanagedOptional = dependency.isOptional();
                dependency = dependency.setOptional(depMngt.getOptional());
                managedBits |= DependencyNode.MANAGED_OPTIONAL;
            }
            if (depMngt.getExclusions() != null) {
                premanagedExclusions = dependency.getExclusions();
                dependency = dependency.setExclusions(depMngt.getExclusions());
                managedBits |= DependencyNode.MANAGED_EXCLUSIONS;
            }
        }
        return new PremanagedDependency(
                premanagedVersion,
                premanagedScope,
                premanagedOptional,
                premanagedExclusions,
                premanagedProperties,
                managedBits,
                dependency,
                premanagedState);
    }