* Platform to be used for setting up code analysis and {@code @sample} environment.
*
* @param analysisPlatform the analysis platform
* @return this operation instance
*/
public SourceSet analysisPlatform(AnalysisPlatform analysisPlatform) {
analysisPlatform_ = analysisPlatform;
return this;
}
/**
* Sets the Kotlin API version used for setting up analysis and samples.
*
* @param apiVersion the api version
* @return this operation instance
*/
public SourceSet apiVersion(String apiVersion) {
apiVersion_ = apiVersion;
return this;
}
/**
* Returns the formatted arguments.
*
* @return the arguments
*/
public List
* This is useful if some types that come from dependencies are not resolved/picked up automatically.
*
* This option accepts both {@code .jar} and {@code .klib} files.
*
* @param classpath one or more classpath
* @return this operation instance
*/
public SourceSet classpath(String... classpath) {
classpath_.addAll(Arrays.asList(classpath));
return this;
}
/**
* Sets classpath for analysis and interactive samples.
*
* This is useful if some types that come from dependencies are not resolved/picked up automatically.
*
* This option accepts both {@code .jar} and {@code .klib} files.
*
* @param classpath the list of classpath
* @return this operation instance
*/
public SourceSet classpath(Collection
* The name is used both externally (for example, the source set name is visible to documentation readers) and
* internally (for example, for logging messages of {@link #reportUndocumented reportUndocumented}).
*
* The platform name can be used if you don't have a better alternative.
*
* @param displayName the display name
* @return this operation instance
*/
public SourceSet displayName(String displayName) {
displayName_ = displayName;
return this;
}
/**
* Sets visibilities to be documented.
*
* This can be used if you want to document protected/internal/private declarations, as well as if you want to
* exclude public declarations and only document internal API.
*
* This can be configured on per-package basis.
*
* @param visibilities one or more visibilities
* @return this operation instance
*/
public SourceSet documentedVisibilities(DocumentedVisibility... visibilities) {
documentedVisibilities_.addAll(Arrays.asList(visibilities));
return this;
}
/**
* Sets the external documentation links.
*
* A set of parameters for external documentation links that is applied only for this source set.
*
* @param url the external documentation URL
* @param packageListUrl the external documentation package list URL
* @return this operation instance
*/
public SourceSet externalDocumentationLinks(String url, String packageListUrl) {
externalDocumentationLinks_.put(url, packageListUrl);
return this;
}
/**
* Sets the external documentation links.
*
* A set of parameters for external documentation links that is applied only for this source set.
*
* @param externalDocumentationLinks the map of external documentation links
* @return this operation instance
* @see #externalDocumentationLinks(String, String)
*/
public SourceSet externalDocumentationLinks(Map
* A list of Markdown files that contain module and package documentation.
*
* The contents of the specified files are parsed and embedded into documentation as module and package
* descriptions.
*
* @param files one or more files
* @return this operation instance
*/
public SourceSet includes(String... files) {
includes_.addAll(Arrays.asList(files));
return this;
}
/**
* Sets the Markdown files that contain module and package documentation.
*
* A list of Markdown files that contain module and package documentation.
*
* The contents of the specified files are parsed and embedded into documentation as module and package
* descriptions.
*
* @param files the list of files
* @return this operation instance
*/
public SourceSet includes(Collection
* The JDK version to use when generating external documentation links for Java types.
*
* For example, if you use {@link java.util.UUID} in some public declaration signature, and this option is set to 8,
* Dokka generates an external documentation link to JDK 8 Javadocs for it.
*
* @param jdkVersion the JDK version
* @return this operation instance
*/
public SourceSet jdkVersion(int jdkVersion) {
jdkVersion_ = jdkVersion;
return this;
}
/**
* Sets the language version used for setting up analysis and samples.
*
* @param languageVersion the language version
* @return this operation instance
*/
public SourceSet languageVersion(String languageVersion) {
languageVersion_ = languageVersion;
return this;
}
/**
* Sets whether to generate links to JDK Javadocs.
*
* Whether to generate external documentation links to JDK's Javadocs.
*
* The version of JDK Javadocs is determined by the {@link #jdkVersion jdkVersion} option.
*
* Note: Links are generated when noJdkLink is set to false.
*
* @param noJdkLink {@code true} or {@code false}
* @return this operation instance
*/
public SourceSet noJdkLink(Boolean noJdkLink) {
noJdkLink_ = noJdkLink;
return this;
}
/**
* Sets whether to create pages for empty packages.
*
* Whether to skip packages that contain no visible declarations after various filters have been applied.
*
* @param noSkipEmptyPackages {@code true} or {@code false}
* @return this operation instance
*/
public SourceSet noSkipEmptyPackages(boolean noSkipEmptyPackages) {
noSkipEmptyPackages_ = noSkipEmptyPackages;
return this;
}
/**
* Sets whether to generate links to Standard library.
*
* Whether to generate external documentation links that lead to the API reference documentation of Kotlin's
* standard library.
*
* Note: Links are generated when noStdLibLink is set to {@code false}.
*
* @param noStdlibLink {@code true} or {@code false}
* @return this operation instance
*/
public SourceSet noStdlibLink(Boolean noStdlibLink) {
noStdlibLink_ = noStdlibLink;
return this;
}
/**
* Set the list of package source set configuration.
*
* A set of parameters specific to matched packages within this source set.
*
* Using format:
*
* A set of parameters specific to matched packages within this source set.
*
* Using format:
*
* Whether to emit warnings about visible undocumented declarations, that is declarations without KDocs after they
* have been filtered by documentedVisibilities and other filters.
*
* This setting works well with {@link DokkaOperation#failOnWarning}.
*
* This can be configured on per-package basis.
*
* @param reportUndocumented {@code true} or {@code false}
* @return this operation instance
*/
public SourceSet reportUndocumented(Boolean reportUndocumented) {
reportUndocumented_ = reportUndocumented;
return this;
}
/**
* Set the list of directories or files that contain sample functions.
*
* A list of directories or files that contain sample functions which are referenced via the {@code @sample} KDoc
* tag.
*
* @param samples the list of samples
* @return this operation instance
*/
public SourceSet samples(Collection
* A list of directories or files that contain sample functions which are referenced via the {@code @sample} KDoc
* tag.
*
* @param samples nne or more samples
* @return this operation instance
*/
public SourceSet samples(String... samples) {
samples_.addAll(List.of(samples));
return this;
}
/**
* Sets whether to skip deprecated declarations.
*
* Whether to document declarations annotated with {@code @Deprecated}.
*
* This can be configured on per-package basis.
*
* @param skipDeprecated {@code true} or {@code false}
* @return this operation instance
*/
public SourceSet skipDeprecated(boolean skipDeprecated) {
skipDeprecated_ = skipDeprecated;
return this;
}
/**
* Sets the name of the source set. Default is {@code main}.
*
* @param sourceSetName the source set name.
* @return this operation instance
*/
public SourceSet sourceSetName(String sourceSetName) {
sourceSetName_ = sourceSetName;
return this;
}
/**
* Sets the source code roots to be analyzed and documented.
*
* The source code roots to be analyzed and documented. Acceptable inputs are directories and individual
* {@code .kt} / {@code .java} files.
*
* @param src the list of source code roots
* @return this operation instance
*/
public SourceSet src(Collection
* The source code roots to be analyzed and documented. Acceptable inputs are directories and individual
* {@code .kt} / {@code .java} files.
*
* @param src pne ore moe source code roots
* @return this operation instance
*/
public SourceSet src(String... src) {
src_.addAll(List.of(src));
return this;
}
/**
* Sets the mapping between a source directory and a Web service for browsing the code.
*
* @param srcPath the source path
* @param remotePath the remote path
* @param lineSuffix the line suffix
* @return this operation instance
*/
public SourceSet srcLink(String srcPath, String remotePath, String lineSuffix) {
srcLinks_.put(srcPath, remotePath + lineSuffix);
return this;
}
/**
* Sets the paths to files to be suppressed.
*
* The files to be suppressed when generating documentation.
*
* @param suppressedFiles the list of suppressed files
* @return this operation instance
*/
public SourceSet suppressedFiles(Collection
* The files to be suppressed when generating documentation.
*
* @param suppressedFiles one or moe suppressed files
* @return this operation instance
*/
public SourceSet suppressedFiles(String... suppressedFiles) {
suppressedFiles_.addAll(Arrays.asList(suppressedFiles));
return this;
}
}
*
*
* @param perPackageOptions the list of per package options
* @return this operation instance
*/
public SourceSet perPackageOptions(Collection
*
*
* @param perPackageOptions the list of per package options
* @return this operation instance
*/
public SourceSet perPackageOptions(String... perPackageOptions) {
perPackageOptions_.addAll(List.of(perPackageOptions));
return this;
}
/**
* Sets whether to report undocumented declarations.
*