com.exasol.projectkeeper.sources.AnalyzedSource Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of project-keeper-core Show documentation
Show all versions of project-keeper-core Show documentation
Project keeper is a tool that verifies and fixes project setups.
package com.exasol.projectkeeper.sources;
import java.nio.file.Path;
import java.util.Set;
import com.exasol.projectkeeper.ApStyleFormatter;
import com.exasol.projectkeeper.shared.config.ProjectKeeperModule;
import com.exasol.projectkeeper.shared.dependencies.ProjectDependencies;
import com.exasol.projectkeeper.shared.dependencychanges.DependencyChangeReport;
/**
* This is an interface for classes that collects information about a source project, e.g. about a pom source.
*/
public interface AnalyzedSource {
/**
* Get the path to the sources build file.
*
* @return path
*/
Path getPath();
/**
* Get the enabled modules for the source.
*
* @return set of enabled modules
*/
Set getModules();
/**
* Get project name for documentation files, such as changes file, readme and the like.
*
* Usually that's something like the package name or artifactId. Project keeper additionally will apply
* {@link ApStyleFormatter} to generate a human-readable format.
*
*
* @return project name
*/
String getProjectName();
/**
* Get the version of this source.
*
* @return {@code null if version could not be detected}
*/
String getVersion();
/**
* Check if this source should be advertised.
*
* @return {@code true} if this source should be advertised, e.g. in the README.md
*/
boolean isAdvertised();
/**
* Get a report of all added/updated/removed dependencies.
*
* @return dependency change report
*/
DependencyChangeReport getDependencyChanges();
/**
* Get a list of all dependencies incl. licenses.
*
* @return dependencies
*/
ProjectDependencies getDependencies();
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy