@aws/pdk
Version:
All documentation is located at: https://aws.github.io/aws-pdk
77 lines (76 loc) • 2.22 kB
TypeScript
import { Project, Task } from "projen";
import { JavaProject } from "projen/lib/java";
import { PythonProject } from "projen/lib/python";
import { JavaProjectOptions } from "./java-project-options";
import { NxConfigurator, INxProjectCore } from "../../components/nx-configurator";
import { NxWorkspace } from "../../components/nx-workspace";
import { Nx } from "../../nx-types";
/**
* Configuration options for the NxMonorepoJavaProject.
*/
export interface MonorepoJavaOptions extends JavaProjectOptions {
readonly defaultReleaseBranch?: string;
/**
* Whether to disable the generation of default licenses.
*
* @default false
*/
readonly disableDefaultLicenses?: boolean;
}
/**
* This project type will bootstrap a NX based monorepo with support for polygot
* builds, build caching, dependency graph visualization and much more.
*
* @pjid monorepo-java
*/
export declare class MonorepoJavaProject extends JavaProject implements INxProjectCore {
readonly nxConfigurator: NxConfigurator;
private readonly installTask;
/**
* Version of projen used by the monorepo and its subprojects
*/
private readonly projenVersion;
constructor(options: MonorepoJavaOptions);
/**
* @inheritdoc
*/
get nx(): NxWorkspace;
/**
* @inheritdoc
*/
execNxRunManyCommand(options: Nx.RunManyOptions): string;
/**
* @inheritdoc
*/
composeNxRunManyCommand(options: Nx.RunManyOptions): string[];
/**
* @inheritdoc
*/
addNxRunManyTask(name: string, options: Nx.RunManyOptions): Task;
/**
* @inheritdoc
*/
addImplicitDependency(dependent: Project, dependee: string | Project): void;
/**
* @inheritdoc
*/
addJavaDependency(dependent: JavaProject, dependee: JavaProject): void;
/**
* @inheritdoc
*/
addPythonPoetryDependency(dependent: PythonProject, dependee: PythonProject): void;
private addUpgradeDepsTask;
/**
* @inheritdoc
*/
preSynthesize(): void;
/**
* @inheritDoc
*/
synth(): void;
postSynthesize(): void;
/**
* Run the install task which will install nx locally
*/
private installNx;
}