package com.github.blindpirate.gogradle.core.dependency;

import org.gradle.api.artifacts.Dependency;

/**
 * A {@link GolangDependency} represents a dependency
 * such as a specific version of source code or a local directory.
 */
public interface GolangDependency extends Dependency {
    /**
     * The dependency's import path, e.g., golang.org/x/crypto/cmd.
     * <p>
     * However, currently we support golang.org/x/crypto (the root path) only.
     *
     * @return dependency's import path
     */
    @Override
    String getName();

    /**
     * A unique identifier to locate a dependency, e.g., git commit id.
     *
     * @return the version string
     */
    @Override
    String getVersion();

    ResolvedDependency resolve();

    boolean isFirstLevel();

    final class Namer implements org.gradle.api.Namer<GolangDependency> {

        public static final Namer INSTANCE = new Namer();

        private Namer() {
        }

        @Override
        public String determineName(GolangDependency dependency) {
            return dependency.getName();
        }
    }

}


@@ -779,19 +779,12 @@
     
-final class
+enum
  Nam
@@ -851,94 +851,17 @@
     
-public static final Namer INSTANCE = new Namer();%0A%0A        private Namer() %7B%0A        %7D
+INSTANCE;
 %0A%0A  

Let singleton be enum