cdktf-local-build
Advanced tools
Comparing version 0.0.27 to 0.0.28
426
API.md
@@ -5,14 +5,10 @@ # API Reference <a name="API Reference" id="api-reference"></a> | ||
### CargoBuild <a name="cdktf-local-build.CargoBuild" id="cdktflocalbuildcargobuild"></a> | ||
### CrossBuild <a name="cdktf-local-build.CrossBuild" id="cdktflocalbuildcrossbuild"></a> | ||
Builds a binary using cargo inside a docker container. | ||
#### Initializers <a name="cdktf-local-build.CrossBuild.Initializer" id="cdktflocalbuildcrossbuildinitializer"></a> | ||
It is built to support https://github.com/awslabs/aws-lambda-rust-runtime | ||
#### Initializers <a name="cdktf-local-build.CargoBuild.Initializer" id="cdktflocalbuildcargobuildinitializer"></a> | ||
```typescript | ||
import { CargoBuild } from 'cdktf-local-build' | ||
import { CrossBuild } from 'cdktf-local-build' | ||
new CargoBuild(scope: Construct, name: string, options: CargoOptions) | ||
new CrossBuild(scope: Construct, name: string, config: CrossOptions) | ||
``` | ||
@@ -22,9 +18,9 @@ | ||
| --- | --- | --- | | ||
| [`scope`](#cdktflocalbuildcargobuildparameterscope)<span title="Required">*</span> | [`constructs.Construct`](#constructs.Construct) | *No description.* | | ||
| [`name`](#cdktflocalbuildcargobuildparametername)<span title="Required">*</span> | `string` | *No description.* | | ||
| [`options`](#cdktflocalbuildcargobuildparameteroptions)<span title="Required">*</span> | [`cdktf-local-build.CargoOptions`](#cdktf-local-build.CargoOptions) | *No description.* | | ||
| [`scope`](#cdktflocalbuildcrossbuildparameterscope)<span title="Required">*</span> | [`constructs.Construct`](#constructs.Construct) | *No description.* | | ||
| [`name`](#cdktflocalbuildcrossbuildparametername)<span title="Required">*</span> | `string` | *No description.* | | ||
| [`config`](#cdktflocalbuildcrossbuildparameterconfig)<span title="Required">*</span> | [`cdktf-local-build.CrossOptions`](#cdktf-local-build.CrossOptions) | *No description.* | | ||
--- | ||
##### `scope`<sup>Required</sup> <a name="cdktf-local-build.CargoBuild.parameter.scope" id="cdktflocalbuildcargobuildparameterscope"></a> | ||
##### `scope`<sup>Required</sup> <a name="cdktf-local-build.CrossBuild.parameter.scope" id="cdktflocalbuildcrossbuildparameterscope"></a> | ||
@@ -35,3 +31,3 @@ - *Type:* [`constructs.Construct`](#constructs.Construct) | ||
##### `name`<sup>Required</sup> <a name="cdktf-local-build.CargoBuild.parameter.name" id="cdktflocalbuildcargobuildparametername"></a> | ||
##### `name`<sup>Required</sup> <a name="cdktf-local-build.CrossBuild.parameter.name" id="cdktflocalbuildcrossbuildparametername"></a> | ||
@@ -42,5 +38,5 @@ - *Type:* `string` | ||
##### `options`<sup>Required</sup> <a name="cdktf-local-build.CargoBuild.parameter.options" id="cdktflocalbuildcargobuildparameteroptions"></a> | ||
##### `config`<sup>Required</sup> <a name="cdktf-local-build.CrossBuild.parameter.config" id="cdktflocalbuildcrossbuildparameterconfig"></a> | ||
- *Type:* [`cdktf-local-build.CargoOptions`](#cdktf-local-build.CargoOptions) | ||
- *Type:* [`cdktf-local-build.CrossOptions`](#cdktf-local-build.CrossOptions) | ||
@@ -55,10 +51,11 @@ --- | ||
| --- | --- | --- | | ||
| [`binary`](#cdktflocalbuildcargobuildpropertybinary)<span title="Required">*</span> | `string` | *No description.* | | ||
| [`binaryPath`](#cdktflocalbuildcrossbuildpropertybinarypath)<span title="Required">*</span> | `string` | *No description.* | | ||
| [`projectName`](#cdktflocalbuildcrossbuildpropertyprojectname)<span title="Required">*</span> | `string` | *No description.* | | ||
--- | ||
##### `binary`<sup>Required</sup> <a name="cdktf-local-build.CargoBuild.property.binary" id="cdktflocalbuildcargobuildpropertybinary"></a> | ||
##### `binaryPath`<sup>Required</sup> <a name="cdktf-local-build.CrossBuild.property.binaryPath" id="cdktflocalbuildcrossbuildpropertybinarypath"></a> | ||
```typescript | ||
public readonly binary: string; | ||
public readonly binaryPath: string; | ||
``` | ||
@@ -70,3 +67,13 @@ | ||
##### `projectName`<sup>Required</sup> <a name="cdktf-local-build.CrossBuild.property.projectName" id="cdktflocalbuildcrossbuildpropertyprojectname"></a> | ||
```typescript | ||
public readonly projectName: string; | ||
``` | ||
- *Type:* `string` | ||
--- | ||
### DockerBuild <a name="cdktf-local-build.DockerBuild" id="cdktflocalbuilddockerbuild"></a> | ||
@@ -112,2 +119,103 @@ | ||
### DockerizedBuild <a name="cdktf-local-build.DockerizedBuild" id="cdktflocalbuilddockerizedbuild"></a> | ||
#### Initializers <a name="cdktf-local-build.DockerizedBuild.Initializer" id="cdktflocalbuilddockerizedbuildinitializer"></a> | ||
```typescript | ||
import { DockerizedBuild } from 'cdktf-local-build' | ||
new DockerizedBuild(scope: Construct, name: string, options: DockerizedBuildOptions) | ||
``` | ||
| **Name** | **Type** | **Description** | | ||
| --- | --- | --- | | ||
| [`scope`](#cdktflocalbuilddockerizedbuildparameterscope)<span title="Required">*</span> | [`constructs.Construct`](#constructs.Construct) | *No description.* | | ||
| [`name`](#cdktflocalbuilddockerizedbuildparametername)<span title="Required">*</span> | `string` | *No description.* | | ||
| [`options`](#cdktflocalbuilddockerizedbuildparameteroptions)<span title="Required">*</span> | [`cdktf-local-build.DockerizedBuildOptions`](#cdktf-local-build.DockerizedBuildOptions) | *No description.* | | ||
--- | ||
##### `scope`<sup>Required</sup> <a name="cdktf-local-build.DockerizedBuild.parameter.scope" id="cdktflocalbuilddockerizedbuildparameterscope"></a> | ||
- *Type:* [`constructs.Construct`](#constructs.Construct) | ||
--- | ||
##### `name`<sup>Required</sup> <a name="cdktf-local-build.DockerizedBuild.parameter.name" id="cdktflocalbuilddockerizedbuildparametername"></a> | ||
- *Type:* `string` | ||
--- | ||
##### `options`<sup>Required</sup> <a name="cdktf-local-build.DockerizedBuild.parameter.options" id="cdktflocalbuilddockerizedbuildparameteroptions"></a> | ||
- *Type:* [`cdktf-local-build.DockerizedBuildOptions`](#cdktf-local-build.DockerizedBuildOptions) | ||
--- | ||
### DockerizedCargoBuild <a name="cdktf-local-build.DockerizedCargoBuild" id="cdktflocalbuilddockerizedcargobuild"></a> | ||
Builds a binary using cargo inside a docker container. | ||
It is built to support https://github.com/awslabs/aws-lambda-rust-runtime | ||
#### Initializers <a name="cdktf-local-build.DockerizedCargoBuild.Initializer" id="cdktflocalbuilddockerizedcargobuildinitializer"></a> | ||
```typescript | ||
import { DockerizedCargoBuild } from 'cdktf-local-build' | ||
new DockerizedCargoBuild(scope: Construct, name: string, options: CargoOptions) | ||
``` | ||
| **Name** | **Type** | **Description** | | ||
| --- | --- | --- | | ||
| [`scope`](#cdktflocalbuilddockerizedcargobuildparameterscope)<span title="Required">*</span> | [`constructs.Construct`](#constructs.Construct) | *No description.* | | ||
| [`name`](#cdktflocalbuilddockerizedcargobuildparametername)<span title="Required">*</span> | `string` | *No description.* | | ||
| [`options`](#cdktflocalbuilddockerizedcargobuildparameteroptions)<span title="Required">*</span> | [`cdktf-local-build.CargoOptions`](#cdktf-local-build.CargoOptions) | *No description.* | | ||
--- | ||
##### `scope`<sup>Required</sup> <a name="cdktf-local-build.DockerizedCargoBuild.parameter.scope" id="cdktflocalbuilddockerizedcargobuildparameterscope"></a> | ||
- *Type:* [`constructs.Construct`](#constructs.Construct) | ||
--- | ||
##### `name`<sup>Required</sup> <a name="cdktf-local-build.DockerizedCargoBuild.parameter.name" id="cdktflocalbuilddockerizedcargobuildparametername"></a> | ||
- *Type:* `string` | ||
--- | ||
##### `options`<sup>Required</sup> <a name="cdktf-local-build.DockerizedCargoBuild.parameter.options" id="cdktflocalbuilddockerizedcargobuildparameteroptions"></a> | ||
- *Type:* [`cdktf-local-build.CargoOptions`](#cdktf-local-build.CargoOptions) | ||
--- | ||
#### Properties <a name="Properties" id="properties"></a> | ||
| **Name** | **Type** | **Description** | | ||
| --- | --- | --- | | ||
| [`binaryPath`](#cdktflocalbuilddockerizedcargobuildpropertybinarypath)<span title="Required">*</span> | `string` | *No description.* | | ||
--- | ||
##### `binaryPath`<sup>Required</sup> <a name="cdktf-local-build.DockerizedCargoBuild.property.binaryPath" id="cdktflocalbuilddockerizedcargobuildpropertybinarypath"></a> | ||
```typescript | ||
public readonly binaryPath: string; | ||
``` | ||
- *Type:* `string` | ||
--- | ||
### NullProvider <a name="cdktf-local-build.NullProvider" id="cdktflocalbuildnullprovider"></a> | ||
@@ -228,9 +336,9 @@ | ||
| [`cwd`](#cdktflocalbuildcargooptionspropertycwd)<span title="Required">*</span> | `string` | The working directory to run the command in. | | ||
| [`projectName`](#cdktflocalbuildcargooptionspropertyprojectname)<span title="Required">*</span> | `string` | *No description.* | | ||
| [`projectName`](#cdktflocalbuildcargooptionspropertyprojectname)<span title="Required">*</span> | `string` | Name value in the Cargo.toml. | | ||
| [`arch`](#cdktflocalbuildcargooptionspropertyarch) | `string` | Architecture of the binary to build. | | ||
| [`copyBeforeRun`](#cdktflocalbuildcargooptionspropertycopybeforerun) | `boolean` | If set to true, the working directory will be copied to an asset directory. | | ||
| [`dependsOn`](#cdktflocalbuildcargooptionspropertydependson) | [`cdktf.ITerraformDependable`](#cdktf.ITerraformDependable)[] | *No description.* | | ||
| [`lifecycle`](#cdktflocalbuildcargooptionspropertylifecycle) | [`cdktf.TerraformResourceLifecycle`](#cdktf.TerraformResourceLifecycle) | *No description.* | | ||
| [`provider`](#cdktflocalbuildcargooptionspropertyprovider) | [`cdktf.TerraformProvider`](#cdktf.TerraformProvider) | *No description.* | | ||
| [`triggers`](#cdktflocalbuildcargooptionspropertytriggers) | {[ key: string ]: `string`} \| [`cdktf.IResolvable`](#cdktf.IResolvable) | *No description.* | | ||
| [`rustVersion`](#cdktflocalbuildcargooptionspropertyrustversion) | `string` | Rust version to compile with. | | ||
| [`triggers`](#cdktflocalbuildcargooptionspropertytriggers) | {[ key: string ]: `string`} | *No description.* | | ||
@@ -249,3 +357,3 @@ --- | ||
Defaults to process.pwd(). If copyBeforeRun is set to true it will copy the working directory to an asset directory and take that as the base to run. | ||
Defaults to process.pwd(). | ||
@@ -262,2 +370,4 @@ --- | ||
Name value in the Cargo.toml. | ||
--- | ||
@@ -278,18 +388,121 @@ | ||
##### `copyBeforeRun`<sup>Optional</sup> <a name="cdktf-local-build.CargoOptions.property.copyBeforeRun" id="cdktflocalbuildcargooptionspropertycopybeforerun"></a> | ||
##### `dependsOn`<sup>Optional</sup> <a name="cdktf-local-build.CargoOptions.property.dependsOn" id="cdktflocalbuildcargooptionspropertydependson"></a> | ||
```typescript | ||
public readonly copyBeforeRun: boolean; | ||
public readonly dependsOn: ITerraformDependable[]; | ||
``` | ||
- *Type:* `boolean` | ||
- *Default:* true | ||
- *Type:* [`cdktf.ITerraformDependable`](#cdktf.ITerraformDependable)[] | ||
If set to true, the working directory will be copied to an asset directory. | ||
--- | ||
##### `lifecycle`<sup>Optional</sup> <a name="cdktf-local-build.CargoOptions.property.lifecycle" id="cdktflocalbuildcargooptionspropertylifecycle"></a> | ||
```typescript | ||
public readonly lifecycle: TerraformResourceLifecycle; | ||
``` | ||
- *Type:* [`cdktf.TerraformResourceLifecycle`](#cdktf.TerraformResourceLifecycle) | ||
--- | ||
##### `dependsOn`<sup>Optional</sup> <a name="cdktf-local-build.CargoOptions.property.dependsOn" id="cdktflocalbuildcargooptionspropertydependson"></a> | ||
##### `provider`<sup>Optional</sup> <a name="cdktf-local-build.CargoOptions.property.provider" id="cdktflocalbuildcargooptionspropertyprovider"></a> | ||
```typescript | ||
public readonly provider: TerraformProvider; | ||
``` | ||
- *Type:* [`cdktf.TerraformProvider`](#cdktf.TerraformProvider) | ||
--- | ||
##### `rustVersion`<sup>Optional</sup> <a name="cdktf-local-build.CargoOptions.property.rustVersion" id="cdktflocalbuildcargooptionspropertyrustversion"></a> | ||
```typescript | ||
public readonly rustVersion: string; | ||
``` | ||
- *Type:* `string` | ||
- *Default:* 1.58 | ||
Rust version to compile with. | ||
--- | ||
##### `triggers`<sup>Optional</sup> <a name="cdktf-local-build.CargoOptions.property.triggers" id="cdktflocalbuildcargooptionspropertytriggers"></a> | ||
```typescript | ||
public readonly triggers: {[ key: string ]: string}; | ||
``` | ||
- *Type:* {[ key: string ]: `string`} | ||
--- | ||
### CrossOptions <a name="cdktf-local-build.CrossOptions" id="cdktflocalbuildcrossoptions"></a> | ||
#### Initializer <a name="[object Object].Initializer" id="object-objectinitializer"></a> | ||
```typescript | ||
import { CrossOptions } from 'cdktf-local-build' | ||
const crossOptions: CrossOptions = { ... } | ||
``` | ||
#### Properties <a name="Properties" id="properties"></a> | ||
| **Name** | **Type** | **Description** | | ||
| --- | --- | --- | | ||
| [`cwd`](#cdktflocalbuildcrossoptionspropertycwd)<span title="Required">*</span> | `string` | The working directory to run the command in. | | ||
| [`projectName`](#cdktflocalbuildcrossoptionspropertyprojectname)<span title="Required">*</span> | `string` | Name value in the Cargo.toml. | | ||
| [`arch`](#cdktflocalbuildcrossoptionspropertyarch) | `string` | Architecture of the binary to build. | | ||
| [`dependsOn`](#cdktflocalbuildcrossoptionspropertydependson) | [`cdktf.ITerraformDependable`](#cdktf.ITerraformDependable)[] | *No description.* | | ||
| [`lifecycle`](#cdktflocalbuildcrossoptionspropertylifecycle) | [`cdktf.TerraformResourceLifecycle`](#cdktf.TerraformResourceLifecycle) | *No description.* | | ||
| [`provider`](#cdktflocalbuildcrossoptionspropertyprovider) | [`cdktf.TerraformProvider`](#cdktf.TerraformProvider) | *No description.* | | ||
| [`triggers`](#cdktflocalbuildcrossoptionspropertytriggers) | {[ key: string ]: `string`} | *No description.* | | ||
--- | ||
##### `cwd`<sup>Required</sup> <a name="cdktf-local-build.CrossOptions.property.cwd" id="cdktflocalbuildcrossoptionspropertycwd"></a> | ||
```typescript | ||
public readonly cwd: string; | ||
``` | ||
- *Type:* `string` | ||
The working directory to run the command in. | ||
Defaults to process.pwd(). | ||
--- | ||
##### `projectName`<sup>Required</sup> <a name="cdktf-local-build.CrossOptions.property.projectName" id="cdktflocalbuildcrossoptionspropertyprojectname"></a> | ||
```typescript | ||
public readonly projectName: string; | ||
``` | ||
- *Type:* `string` | ||
Name value in the Cargo.toml. | ||
--- | ||
##### `arch`<sup>Optional</sup> <a name="cdktf-local-build.CrossOptions.property.arch" id="cdktflocalbuildcrossoptionspropertyarch"></a> | ||
```typescript | ||
public readonly arch: string; | ||
``` | ||
- *Type:* `string` | ||
- *Default:* "x86" | ||
Architecture of the binary to build. | ||
--- | ||
##### `dependsOn`<sup>Optional</sup> <a name="cdktf-local-build.CrossOptions.property.dependsOn" id="cdktflocalbuildcrossoptionspropertydependson"></a> | ||
```typescript | ||
public readonly dependsOn: ITerraformDependable[]; | ||
@@ -302,3 +515,3 @@ ``` | ||
##### `lifecycle`<sup>Optional</sup> <a name="cdktf-local-build.CargoOptions.property.lifecycle" id="cdktflocalbuildcargooptionspropertylifecycle"></a> | ||
##### `lifecycle`<sup>Optional</sup> <a name="cdktf-local-build.CrossOptions.property.lifecycle" id="cdktflocalbuildcrossoptionspropertylifecycle"></a> | ||
@@ -313,3 +526,3 @@ ```typescript | ||
##### `provider`<sup>Optional</sup> <a name="cdktf-local-build.CargoOptions.property.provider" id="cdktflocalbuildcargooptionspropertyprovider"></a> | ||
##### `provider`<sup>Optional</sup> <a name="cdktf-local-build.CrossOptions.property.provider" id="cdktflocalbuildcrossoptionspropertyprovider"></a> | ||
@@ -324,9 +537,9 @@ ```typescript | ||
##### `triggers`<sup>Optional</sup> <a name="cdktf-local-build.CargoOptions.property.triggers" id="cdktflocalbuildcargooptionspropertytriggers"></a> | ||
##### `triggers`<sup>Optional</sup> <a name="cdktf-local-build.CrossOptions.property.triggers" id="cdktflocalbuildcrossoptionspropertytriggers"></a> | ||
```typescript | ||
public readonly triggers: {[ key: string ]: string} | IResolvable; | ||
public readonly triggers: {[ key: string ]: string}; | ||
``` | ||
- *Type:* {[ key: string ]: `string`} | [`cdktf.IResolvable`](#cdktf.IResolvable) | ||
- *Type:* {[ key: string ]: `string`} | ||
@@ -407,2 +620,149 @@ --- | ||
### DockerizedBuildOptions <a name="cdktf-local-build.DockerizedBuildOptions" id="cdktflocalbuilddockerizedbuildoptions"></a> | ||
#### Initializer <a name="[object Object].Initializer" id="object-objectinitializer"></a> | ||
```typescript | ||
import { DockerizedBuildOptions } from 'cdktf-local-build' | ||
const dockerizedBuildOptions: DockerizedBuildOptions = { ... } | ||
``` | ||
#### Properties <a name="Properties" id="properties"></a> | ||
| **Name** | **Type** | **Description** | | ||
| --- | --- | --- | | ||
| [`command`](#cdktflocalbuilddockerizedbuildoptionspropertycommand)<span title="Required">*</span> | `string` | The command to run. | | ||
| [`cwd`](#cdktflocalbuilddockerizedbuildoptionspropertycwd)<span title="Required">*</span> | `string` | The working directory to run the command in. | | ||
| [`copyBeforeRun`](#cdktflocalbuilddockerizedbuildoptionspropertycopybeforerun) | `boolean` | If set to true, the working directory will be copied to an asset directory. | | ||
| [`dependsOn`](#cdktflocalbuilddockerizedbuildoptionspropertydependson) | [`cdktf.ITerraformDependable`](#cdktf.ITerraformDependable)[] | *No description.* | | ||
| [`lifecycle`](#cdktflocalbuilddockerizedbuildoptionspropertylifecycle) | [`cdktf.TerraformResourceLifecycle`](#cdktf.TerraformResourceLifecycle) | *No description.* | | ||
| [`provider`](#cdktflocalbuilddockerizedbuildoptionspropertyprovider) | [`cdktf.TerraformProvider`](#cdktf.TerraformProvider) | *No description.* | | ||
| [`triggers`](#cdktflocalbuilddockerizedbuildoptionspropertytriggers) | {[ key: string ]: `string`} | *No description.* | | ||
| [`image`](#cdktflocalbuilddockerizedbuildoptionspropertyimage)<span title="Required">*</span> | `string` | *No description.* | | ||
| [`imageHomeDirectory`](#cdktflocalbuilddockerizedbuildoptionspropertyimagehomedirectory)<span title="Required">*</span> | `string` | *No description.* | | ||
| [`setUser`](#cdktflocalbuilddockerizedbuildoptionspropertysetuser)<span title="Required">*</span> | `boolean` | *No description.* | | ||
| [`platform`](#cdktflocalbuilddockerizedbuildoptionspropertyplatform) | `string` | *No description.* | | ||
--- | ||
##### `command`<sup>Required</sup> <a name="cdktf-local-build.DockerizedBuildOptions.property.command" id="cdktflocalbuilddockerizedbuildoptionspropertycommand"></a> | ||
```typescript | ||
public readonly command: string; | ||
``` | ||
- *Type:* `string` | ||
The command to run. | ||
--- | ||
##### `cwd`<sup>Required</sup> <a name="cdktf-local-build.DockerizedBuildOptions.property.cwd" id="cdktflocalbuilddockerizedbuildoptionspropertycwd"></a> | ||
```typescript | ||
public readonly cwd: string; | ||
``` | ||
- *Type:* `string` | ||
The working directory to run the command in. | ||
Defaults to process.pwd(). If copyBeforeRun is set to true it will copy the working directory to an asset directory and take that as the base to run. | ||
--- | ||
##### `copyBeforeRun`<sup>Optional</sup> <a name="cdktf-local-build.DockerizedBuildOptions.property.copyBeforeRun" id="cdktflocalbuilddockerizedbuildoptionspropertycopybeforerun"></a> | ||
```typescript | ||
public readonly copyBeforeRun: boolean; | ||
``` | ||
- *Type:* `boolean` | ||
- *Default:* true | ||
If set to true, the working directory will be copied to an asset directory. | ||
--- | ||
##### `dependsOn`<sup>Optional</sup> <a name="cdktf-local-build.DockerizedBuildOptions.property.dependsOn" id="cdktflocalbuilddockerizedbuildoptionspropertydependson"></a> | ||
```typescript | ||
public readonly dependsOn: ITerraformDependable[]; | ||
``` | ||
- *Type:* [`cdktf.ITerraformDependable`](#cdktf.ITerraformDependable)[] | ||
--- | ||
##### `lifecycle`<sup>Optional</sup> <a name="cdktf-local-build.DockerizedBuildOptions.property.lifecycle" id="cdktflocalbuilddockerizedbuildoptionspropertylifecycle"></a> | ||
```typescript | ||
public readonly lifecycle: TerraformResourceLifecycle; | ||
``` | ||
- *Type:* [`cdktf.TerraformResourceLifecycle`](#cdktf.TerraformResourceLifecycle) | ||
--- | ||
##### `provider`<sup>Optional</sup> <a name="cdktf-local-build.DockerizedBuildOptions.property.provider" id="cdktflocalbuilddockerizedbuildoptionspropertyprovider"></a> | ||
```typescript | ||
public readonly provider: TerraformProvider; | ||
``` | ||
- *Type:* [`cdktf.TerraformProvider`](#cdktf.TerraformProvider) | ||
--- | ||
##### `triggers`<sup>Optional</sup> <a name="cdktf-local-build.DockerizedBuildOptions.property.triggers" id="cdktflocalbuilddockerizedbuildoptionspropertytriggers"></a> | ||
```typescript | ||
public readonly triggers: {[ key: string ]: string}; | ||
``` | ||
- *Type:* {[ key: string ]: `string`} | ||
--- | ||
##### `image`<sup>Required</sup> <a name="cdktf-local-build.DockerizedBuildOptions.property.image" id="cdktflocalbuilddockerizedbuildoptionspropertyimage"></a> | ||
```typescript | ||
public readonly image: string; | ||
``` | ||
- *Type:* `string` | ||
--- | ||
##### `imageHomeDirectory`<sup>Required</sup> <a name="cdktf-local-build.DockerizedBuildOptions.property.imageHomeDirectory" id="cdktflocalbuilddockerizedbuildoptionspropertyimagehomedirectory"></a> | ||
```typescript | ||
public readonly imageHomeDirectory: string; | ||
``` | ||
- *Type:* `string` | ||
--- | ||
##### `setUser`<sup>Required</sup> <a name="cdktf-local-build.DockerizedBuildOptions.property.setUser" id="cdktflocalbuilddockerizedbuildoptionspropertysetuser"></a> | ||
```typescript | ||
public readonly setUser: boolean; | ||
``` | ||
- *Type:* `boolean` | ||
--- | ||
##### `platform`<sup>Optional</sup> <a name="cdktf-local-build.DockerizedBuildOptions.property.platform" id="cdktflocalbuilddockerizedbuildoptionspropertyplatform"></a> | ||
```typescript | ||
public readonly platform: string; | ||
``` | ||
- *Type:* `string` | ||
--- | ||
### RegistryAuth <a name="cdktf-local-build.RegistryAuth" id="cdktflocalbuildregistryauth"></a> | ||
@@ -409,0 +769,0 @@ |
### [0.0.27](https://github.com/DanielMSchmidt/cdktf-local-build/compare/v0.0.26...v0.0.27) (2022-02-17) | ||
### [0.0.28](https://github.com/DanielMSchmidt/cdktf-local-build/compare/v0.0.27...v0.0.28) (2022-02-17) | ||
### Features | ||
* implement cargo build ([58b443f](https://github.com/DanielMSchmidt/cdktf-local-build/commit/58b443ff564db41ed58f344e450137d285d24f5f)) | ||
* implement cargo build ([72c11aa](https://github.com/DanielMSchmidt/cdktf-local-build/commit/72c11aaf125bcebd574b3b65973d7c3ad84878a0)) | ||
* implement dockerized build ([a5703f9](https://github.com/DanielMSchmidt/cdktf-local-build/commit/a5703f9253120f1284e8b3cbe4df69b4ab38cad8)) | ||
* use cross build to build for different targets ([fb3ad82](https://github.com/DanielMSchmidt/cdktf-local-build/commit/fb3ad822380f9a18f9698d5a5d737dd50bf3b7f8)) | ||
### Bug Fixes | ||
* use static output id in test ([01315d2](https://github.com/DanielMSchmidt/cdktf-local-build/commit/01315d25979d7cb485a8d7493234575bd3e40b7b)) |
@@ -1,4 +0,5 @@ | ||
import { IResolvable, ITerraformDependable, TerraformProvider, TerraformResourceLifecycle } from "cdktf"; | ||
import { ITerraformDependable, TerraformProvider, TerraformResourceLifecycle } from "cdktf"; | ||
import { LocalExec } from "cdktf-local-exec"; | ||
import { Construct } from "constructs"; | ||
import { DockerizedBuild } from "./docker"; | ||
export interface CargoOptions { | ||
@@ -11,2 +12,5 @@ /** | ||
readonly arch?: "arm" | "x86"; | ||
/** | ||
* Name value in the Cargo.toml | ||
*/ | ||
readonly projectName: string; | ||
@@ -30,3 +34,3 @@ /** | ||
[key: string]: string; | ||
} | IResolvable; | ||
}; | ||
/** | ||
@@ -36,3 +40,2 @@ * The working directory to run the command in. | ||
* Defaults to process.pwd(). | ||
* If copyBeforeRun is set to true it will copy the working directory to an asset directory and take that as the base to run. | ||
* | ||
@@ -43,8 +46,7 @@ * @stability stable | ||
/** | ||
* If set to true, the working directory will be copied to an asset directory. | ||
* Rust version to compile with | ||
* | ||
* @default true | ||
* @stability stable | ||
* @default 1.58 | ||
*/ | ||
readonly copyBeforeRun?: boolean; | ||
readonly rustVersion?: string; | ||
} | ||
@@ -55,5 +57,49 @@ /** | ||
*/ | ||
export declare class CargoBuild extends LocalExec { | ||
export declare class DockerizedCargoBuild extends DockerizedBuild { | ||
constructor(scope: Construct, name: string, options: CargoOptions); | ||
get binary(): string; | ||
get binaryPath(): string; | ||
} | ||
export interface CrossOptions { | ||
/** | ||
* Architecture of the binary to build. | ||
* | ||
* @default "x86" | ||
*/ | ||
readonly arch?: "arm" | "x86"; | ||
/** | ||
* Name value in the Cargo.toml | ||
*/ | ||
readonly projectName: string; | ||
/** | ||
* @stability stable | ||
*/ | ||
readonly dependsOn?: ITerraformDependable[]; | ||
/** | ||
* @stability stable | ||
*/ | ||
readonly provider?: TerraformProvider; | ||
/** | ||
* @stability stable | ||
*/ | ||
readonly lifecycle?: TerraformResourceLifecycle; | ||
/** | ||
* @stability stable | ||
*/ | ||
readonly triggers?: { | ||
[key: string]: string; | ||
}; | ||
/** | ||
* The working directory to run the command in. | ||
* | ||
* Defaults to process.pwd(). | ||
* | ||
* @stability stable | ||
*/ | ||
readonly cwd: string; | ||
} | ||
export declare class CrossBuild extends LocalExec { | ||
private target; | ||
readonly projectName: string; | ||
constructor(scope: Construct, name: string, config: CrossOptions); | ||
get binaryPath(): string; | ||
} |
"use strict"; | ||
var _a; | ||
var _a, _b; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.CargoBuild = void 0; | ||
exports.CrossBuild = exports.DockerizedCargoBuild = void 0; | ||
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); | ||
const fs = require("fs"); | ||
const path_1 = require("path"); | ||
const cdktf_local_exec_1 = require("cdktf-local-exec"); | ||
const toml = require("toml"); | ||
const docker_1 = require("./docker"); | ||
/** | ||
@@ -12,26 +15,59 @@ * Builds a binary using cargo inside a docker container. | ||
*/ | ||
class CargoBuild extends cdktf_local_exec_1.LocalExec { | ||
class DockerizedCargoBuild extends docker_1.DockerizedBuild { | ||
constructor(scope, name, options) { | ||
super(scope, name, options); | ||
throw new Error("Not implemented"); | ||
// TODO: Implement this using docker action | ||
// const platform = options.arch === "arm" ? "linux/arm64" : "linux/x86"; | ||
// const target = | ||
// options.arch === "arm" | ||
// ? "aarch64-unknown-linux-gnu" | ||
// : "x86_64-unknown-linux-gnu"; | ||
// const command = ` | ||
// docker run --platform ${platform} \ | ||
// --rm --user "$(id -u)":"$(id -g)" \ | ||
// -v "${options.cwd}":/usr/src/myapp -w /usr/src/myapp rust:${RUST_VERSION} \ | ||
// cargo build -p lambda_runtime --example basic --release --target ${RUST_TARGET} | ||
// cargo build --release -p ${options.projectName} --target ${target} && cp target/${target}/release/* binary`; | ||
const rustVersion = options.rustVersion || "1.58"; | ||
const image = options.arch === "arm" | ||
? `arm64v8/rust:${rustVersion}-slim` | ||
: `rust:${rustVersion}`; | ||
const platform = options.arch === "arm" ? "linux/arm64" : "linux/x86"; | ||
const target = options.arch === "arm" | ||
? "aarch64-unknown-linux-gnu" | ||
: "x86_64-unknown-linux-gnu"; | ||
super(scope, name, { | ||
cwd: options.cwd, | ||
platform, | ||
command: `cargo build --release --target ${target}`, | ||
image, | ||
imageHomeDirectory: `/usr/src/${options.projectName}`, | ||
setUser: true, | ||
}); | ||
} | ||
get binary() { | ||
get binaryPath() { | ||
return path_1.resolve(this.cwd, "binary"); | ||
} | ||
} | ||
exports.CargoBuild = CargoBuild; | ||
exports.DockerizedCargoBuild = DockerizedCargoBuild; | ||
_a = JSII_RTTI_SYMBOL_1; | ||
CargoBuild[_a] = { fqn: "cdktf-local-build.CargoBuild", version: "0.0.27" }; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZ28uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY2FyZ28udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwrQkFBK0I7QUFPL0IsdURBQTZDO0FBcUQ3Qzs7O0dBR0c7QUFDSCxNQUFhLFVBQVcsU0FBUSw0QkFBUztJQUN2QyxZQUFZLEtBQWdCLEVBQUUsSUFBWSxFQUFFLE9BQXFCO1FBQy9ELEtBQUssQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQWMsQ0FBQyxDQUFDO1FBRW5DLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUVuQywyQ0FBMkM7UUFDM0MsNkVBQTZFO1FBQzdFLHFCQUFxQjtRQUNyQiwrQkFBK0I7UUFDL0Isd0NBQXdDO1FBQ3hDLHdDQUF3QztRQUN4Qyx3QkFBd0I7UUFDeEIsMENBQTBDO1FBQzFDLHdDQUF3QztRQUN4QyxnRkFBZ0Y7UUFDaEYsb0ZBQW9GO1FBRXBGLG1IQUFtSDtJQUNySCxDQUFDO0lBRUQsSUFBVyxNQUFNO1FBQ2YsT0FBTyxjQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNyQyxDQUFDOztBQXZCSCxnQ0F3QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZXNvbHZlIH0gZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7XG4gIElSZXNvbHZhYmxlLFxuICBJVGVycmFmb3JtRGVwZW5kYWJsZSxcbiAgVGVycmFmb3JtUHJvdmlkZXIsXG4gIFRlcnJhZm9ybVJlc291cmNlTGlmZWN5Y2xlLFxufSBmcm9tIFwiY2RrdGZcIjtcbmltcG9ydCB7IExvY2FsRXhlYyB9IGZyb20gXCJjZGt0Zi1sb2NhbC1leGVjXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIENhcmdvT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBBcmNoaXRlY3R1cmUgb2YgdGhlIGJpbmFyeSB0byBidWlsZC5cbiAgICpcbiAgICogQGRlZmF1bHQgXCJ4ODZcIlxuICAgKi9cbiAgcmVhZG9ubHkgYXJjaD86IFwiYXJtXCIgfCBcIng4NlwiO1xuXG4gIHJlYWRvbmx5IHByb2plY3ROYW1lOiBzdHJpbmc7XG5cbiAgLy8gSW5oZXJpdGVkIGZyb20gTG9jYWxFeGVjIHdpdGhvdXQgY29tbWFuZCBvcHRpb25cbiAgLyoqXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBkZXBlbmRzT24/OiBJVGVycmFmb3JtRGVwZW5kYWJsZVtdO1xuICAvKipcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHByb3ZpZGVyPzogVGVycmFmb3JtUHJvdmlkZXI7XG4gIC8qKlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgbGlmZWN5Y2xlPzogVGVycmFmb3JtUmVzb3VyY2VMaWZlY3ljbGU7XG4gIC8qKlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgdHJpZ2dlcnM/OlxuICAgIHwge1xuICAgICAgICBba2V5OiBzdHJpbmddOiBzdHJpbmc7XG4gICAgICB9XG4gICAgfCBJUmVzb2x2YWJsZTtcblxuICAvKipcbiAgICogVGhlIHdvcmtpbmcgZGlyZWN0b3J5IHRvIHJ1biB0aGUgY29tbWFuZCBpbi5cbiAgICpcbiAgICogRGVmYXVsdHMgdG8gcHJvY2Vzcy5wd2QoKS5cbiAgICogSWYgY29weUJlZm9yZVJ1biBpcyBzZXQgdG8gdHJ1ZSBpdCB3aWxsIGNvcHkgdGhlIHdvcmtpbmcgZGlyZWN0b3J5IHRvIGFuIGFzc2V0IGRpcmVjdG9yeSBhbmQgdGFrZSB0aGF0IGFzIHRoZSBiYXNlIHRvIHJ1bi5cbiAgICpcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGN3ZDogc3RyaW5nO1xuICAvKipcbiAgICogSWYgc2V0IHRvIHRydWUsIHRoZSB3b3JraW5nIGRpcmVjdG9yeSB3aWxsIGJlIGNvcGllZCB0byBhbiBhc3NldCBkaXJlY3RvcnkuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGNvcHlCZWZvcmVSdW4/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEJ1aWxkcyBhIGJpbmFyeSB1c2luZyBjYXJnbyBpbnNpZGUgYSBkb2NrZXIgY29udGFpbmVyLlxuICogSXQgaXMgYnVpbHQgdG8gc3VwcG9ydCBodHRwczovL2dpdGh1Yi5jb20vYXdzbGFicy9hd3MtbGFtYmRhLXJ1c3QtcnVudGltZVxuICovXG5leHBvcnQgY2xhc3MgQ2FyZ29CdWlsZCBleHRlbmRzIExvY2FsRXhlYyB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIG5hbWU6IHN0cmluZywgb3B0aW9uczogQ2FyZ29PcHRpb25zKSB7XG4gICAgc3VwZXIoc2NvcGUsIG5hbWUsIG9wdGlvbnMgYXMgYW55KTtcblxuICAgIHRocm93IG5ldyBFcnJvcihcIk5vdCBpbXBsZW1lbnRlZFwiKTtcblxuICAgIC8vIFRPRE86IEltcGxlbWVudCB0aGlzIHVzaW5nIGRvY2tlciBhY3Rpb25cbiAgICAvLyAgICAgY29uc3QgcGxhdGZvcm0gPSBvcHRpb25zLmFyY2ggPT09IFwiYXJtXCIgPyBcImxpbnV4L2FybTY0XCIgOiBcImxpbnV4L3g4NlwiO1xuICAgIC8vICAgICBjb25zdCB0YXJnZXQgPVxuICAgIC8vICAgICAgIG9wdGlvbnMuYXJjaCA9PT0gXCJhcm1cIlxuICAgIC8vICAgICAgICAgPyBcImFhcmNoNjQtdW5rbm93bi1saW51eC1nbnVcIlxuICAgIC8vICAgICAgICAgOiBcIng4Nl82NC11bmtub3duLWxpbnV4LWdudVwiO1xuICAgIC8vICAgICBjb25zdCBjb21tYW5kID0gYFxuICAgIC8vICAgICBkb2NrZXIgcnVuIC0tcGxhdGZvcm0gJHtwbGF0Zm9ybX0gXFxcbiAgICAvLyAgIC0tcm0gLS11c2VyIFwiJChpZCAtdSlcIjpcIiQoaWQgLWcpXCIgXFxcbiAgICAvLyAgIC12IFwiJHtvcHRpb25zLmN3ZH1cIjovdXNyL3NyYy9teWFwcCAtdyAvdXNyL3NyYy9teWFwcCBydXN0OiR7UlVTVF9WRVJTSU9OfSBcXFxuICAgIC8vICAgY2FyZ28gYnVpbGQgLXAgbGFtYmRhX3J1bnRpbWUgLS1leGFtcGxlIGJhc2ljIC0tcmVsZWFzZSAtLXRhcmdldCAke1JVU1RfVEFSR0VUfVxuXG4gICAgLy8gICAgIGNhcmdvIGJ1aWxkIC0tcmVsZWFzZSAtcCAke29wdGlvbnMucHJvamVjdE5hbWV9IC0tdGFyZ2V0ICR7dGFyZ2V0fSAmJiBjcCB0YXJnZXQvJHt0YXJnZXR9L3JlbGVhc2UvKiBiaW5hcnlgO1xuICB9XG5cbiAgcHVibGljIGdldCBiaW5hcnkoKSB7XG4gICAgcmV0dXJuIHJlc29sdmUodGhpcy5jd2QsIFwiYmluYXJ5XCIpO1xuICB9XG59XG4iXX0= | ||
DockerizedCargoBuild[_a] = { fqn: "cdktf-local-build.DockerizedCargoBuild", version: "0.0.28" }; | ||
class CrossBuild extends cdktf_local_exec_1.LocalExec { | ||
constructor(scope, name, config) { | ||
const target = config.arch === "arm" | ||
? "aarch64-unknown-linux-gnu" | ||
: "x86_64-unknown-linux-gnu"; | ||
const tomlPath = path_1.resolve(config.cwd, "Cargo.toml"); | ||
let parsedToml; | ||
try { | ||
parsedToml = toml.parse(fs.readFileSync(tomlPath, "utf8")); | ||
} | ||
catch (e) { | ||
throw new Error("Could not find Cargo.toml in " + config.cwd); | ||
} | ||
super(scope, name, { | ||
command: `cross build --target ${target} --release`, | ||
cwd: config.cwd, | ||
dependsOn: config.dependsOn, | ||
provider: config.provider, | ||
lifecycle: config.lifecycle, | ||
triggers: config.triggers, | ||
}); | ||
this.target = target; | ||
this.projectName = config.projectName || parsedToml.package.name; | ||
} | ||
get binaryPath() { | ||
return path_1.resolve(this.cwd, "target", this.target, "release", this.projectName); | ||
} | ||
} | ||
exports.CrossBuild = CrossBuild; | ||
_b = JSII_RTTI_SYMBOL_1; | ||
CrossBuild[_b] = { fqn: "cdktf-local-build.CrossBuild", version: "0.0.28" }; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZ28uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY2FyZ28udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx5QkFBeUI7QUFDekIsK0JBQStCO0FBTS9CLHVEQUE2QztBQUU3Qyw2QkFBNkI7QUFDN0IscUNBQTJDO0FBb0QzQzs7O0dBR0c7QUFDSCxNQUFhLG9CQUFxQixTQUFRLHdCQUFlO0lBQ3ZELFlBQVksS0FBZ0IsRUFBRSxJQUFZLEVBQUUsT0FBcUI7UUFDL0QsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsSUFBSSxNQUFNLENBQUM7UUFDbEQsTUFBTSxLQUFLLEdBQ1QsT0FBTyxDQUFDLElBQUksS0FBSyxLQUFLO1lBQ3BCLENBQUMsQ0FBQyxnQkFBZ0IsV0FBVyxPQUFPO1lBQ3BDLENBQUMsQ0FBQyxRQUFRLFdBQVcsRUFBRSxDQUFDO1FBQzVCLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUN0RSxNQUFNLE1BQU0sR0FDVixPQUFPLENBQUMsSUFBSSxLQUFLLEtBQUs7WUFDcEIsQ0FBQyxDQUFDLDJCQUEyQjtZQUM3QixDQUFDLENBQUMsMEJBQTBCLENBQUM7UUFDakMsS0FBSyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUU7WUFDakIsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHO1lBQ2hCLFFBQVE7WUFDUixPQUFPLEVBQUUsa0NBQWtDLE1BQU0sRUFBRTtZQUNuRCxLQUFLO1lBQ0wsa0JBQWtCLEVBQUUsWUFBWSxPQUFPLENBQUMsV0FBVyxFQUFFO1lBQ3JELE9BQU8sRUFBRSxJQUFJO1NBQ2QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNuQixPQUFPLGNBQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7O0FBeEJILG9EQXlCQzs7O0FBNkNELE1BQWEsVUFBVyxTQUFRLDRCQUFTO0lBSXZDLFlBQVksS0FBZ0IsRUFBRSxJQUFZLEVBQUUsTUFBb0I7UUFDOUQsTUFBTSxNQUFNLEdBQ1YsTUFBTSxDQUFDLElBQUksS0FBSyxLQUFLO1lBQ25CLENBQUMsQ0FBQywyQkFBMkI7WUFDN0IsQ0FBQyxDQUFDLDBCQUEwQixDQUFDO1FBRWpDLE1BQU0sUUFBUSxHQUFHLGNBQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ25ELElBQUksVUFBeUMsQ0FBQztRQUM5QyxJQUFJO1lBQ0YsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztTQUM1RDtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDL0Q7UUFFRCxLQUFLLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRTtZQUNqQixPQUFPLEVBQUUsd0JBQXdCLE1BQU0sWUFBWTtZQUNuRCxHQUFHLEVBQUUsTUFBTSxDQUFDLEdBQUc7WUFDZixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7WUFDM0IsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO1lBQ3pCLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUztZQUMzQixRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVE7U0FDMUIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO0lBQ25FLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxjQUFPLENBQ1osSUFBSSxDQUFDLEdBQUcsRUFDUixRQUFRLEVBQ1IsSUFBSSxDQUFDLE1BQU0sRUFDWCxTQUFTLEVBQ1QsSUFBSSxDQUFDLFdBQVcsQ0FDakIsQ0FBQztJQUNKLENBQUM7O0FBdENILGdDQXVDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gXCJmc1wiO1xuaW1wb3J0IHsgcmVzb2x2ZSB9IGZyb20gXCJwYXRoXCI7XG5pbXBvcnQge1xuICBJVGVycmFmb3JtRGVwZW5kYWJsZSxcbiAgVGVycmFmb3JtUHJvdmlkZXIsXG4gIFRlcnJhZm9ybVJlc291cmNlTGlmZWN5Y2xlLFxufSBmcm9tIFwiY2RrdGZcIjtcbmltcG9ydCB7IExvY2FsRXhlYyB9IGZyb20gXCJjZGt0Zi1sb2NhbC1leGVjXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0ICogYXMgdG9tbCBmcm9tIFwidG9tbFwiO1xuaW1wb3J0IHsgRG9ja2VyaXplZEJ1aWxkIH0gZnJvbSBcIi4vZG9ja2VyXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FyZ29PcHRpb25zIHtcbiAgLyoqXG4gICAqIEFyY2hpdGVjdHVyZSBvZiB0aGUgYmluYXJ5IHRvIGJ1aWxkLlxuICAgKlxuICAgKiBAZGVmYXVsdCBcIng4NlwiXG4gICAqL1xuICByZWFkb25seSBhcmNoPzogXCJhcm1cIiB8IFwieDg2XCI7XG5cbiAgLyoqXG4gICAqIE5hbWUgdmFsdWUgaW4gdGhlIENhcmdvLnRvbWxcbiAgICovXG4gIHJlYWRvbmx5IHByb2plY3ROYW1lOiBzdHJpbmc7XG5cbiAgLy8gSW5oZXJpdGVkIGZyb20gTG9jYWxFeGVjIHdpdGhvdXQgY29tbWFuZCBvcHRpb25cbiAgLyoqXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBkZXBlbmRzT24/OiBJVGVycmFmb3JtRGVwZW5kYWJsZVtdO1xuICAvKipcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHByb3ZpZGVyPzogVGVycmFmb3JtUHJvdmlkZXI7XG4gIC8qKlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgbGlmZWN5Y2xlPzogVGVycmFmb3JtUmVzb3VyY2VMaWZlY3ljbGU7XG4gIC8qKlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgdHJpZ2dlcnM/OiB7XG4gICAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xuICB9O1xuXG4gIC8qKlxuICAgKiBUaGUgd29ya2luZyBkaXJlY3RvcnkgdG8gcnVuIHRoZSBjb21tYW5kIGluLlxuICAgKlxuICAgKiBEZWZhdWx0cyB0byBwcm9jZXNzLnB3ZCgpLlxuICAgKlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgY3dkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJ1c3QgdmVyc2lvbiB0byBjb21waWxlIHdpdGhcbiAgICpcbiAgICogQGRlZmF1bHQgMS41OFxuICAgKi9cbiAgcmVhZG9ubHkgcnVzdFZlcnNpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQnVpbGRzIGEgYmluYXJ5IHVzaW5nIGNhcmdvIGluc2lkZSBhIGRvY2tlciBjb250YWluZXIuXG4gKiBJdCBpcyBidWlsdCB0byBzdXBwb3J0IGh0dHBzOi8vZ2l0aHViLmNvbS9hd3NsYWJzL2F3cy1sYW1iZGEtcnVzdC1ydW50aW1lXG4gKi9cbmV4cG9ydCBjbGFzcyBEb2NrZXJpemVkQ2FyZ29CdWlsZCBleHRlbmRzIERvY2tlcml6ZWRCdWlsZCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIG5hbWU6IHN0cmluZywgb3B0aW9uczogQ2FyZ29PcHRpb25zKSB7XG4gICAgY29uc3QgcnVzdFZlcnNpb24gPSBvcHRpb25zLnJ1c3RWZXJzaW9uIHx8IFwiMS41OFwiO1xuICAgIGNvbnN0IGltYWdlID1cbiAgICAgIG9wdGlvbnMuYXJjaCA9PT0gXCJhcm1cIlxuICAgICAgICA/IGBhcm02NHY4L3J1c3Q6JHtydXN0VmVyc2lvbn0tc2xpbWBcbiAgICAgICAgOiBgcnVzdDoke3J1c3RWZXJzaW9ufWA7XG4gICAgY29uc3QgcGxhdGZvcm0gPSBvcHRpb25zLmFyY2ggPT09IFwiYXJtXCIgPyBcImxpbnV4L2FybTY0XCIgOiBcImxpbnV4L3g4NlwiO1xuICAgIGNvbnN0IHRhcmdldCA9XG4gICAgICBvcHRpb25zLmFyY2ggPT09IFwiYXJtXCJcbiAgICAgICAgPyBcImFhcmNoNjQtdW5rbm93bi1saW51eC1nbnVcIlxuICAgICAgICA6IFwieDg2XzY0LXVua25vd24tbGludXgtZ251XCI7XG4gICAgc3VwZXIoc2NvcGUsIG5hbWUsIHtcbiAgICAgIGN3ZDogb3B0aW9ucy5jd2QsXG4gICAgICBwbGF0Zm9ybSxcbiAgICAgIGNvbW1hbmQ6IGBjYXJnbyBidWlsZCAtLXJlbGVhc2UgLS10YXJnZXQgJHt0YXJnZXR9YCxcbiAgICAgIGltYWdlLFxuICAgICAgaW1hZ2VIb21lRGlyZWN0b3J5OiBgL3Vzci9zcmMvJHtvcHRpb25zLnByb2plY3ROYW1lfWAsXG4gICAgICBzZXRVc2VyOiB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldCBiaW5hcnlQYXRoKCkge1xuICAgIHJldHVybiByZXNvbHZlKHRoaXMuY3dkLCBcImJpbmFyeVwiKTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyb3NzT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBBcmNoaXRlY3R1cmUgb2YgdGhlIGJpbmFyeSB0byBidWlsZC5cbiAgICpcbiAgICogQGRlZmF1bHQgXCJ4ODZcIlxuICAgKi9cbiAgcmVhZG9ubHkgYXJjaD86IFwiYXJtXCIgfCBcIng4NlwiO1xuXG4gIC8qKlxuICAgKiBOYW1lIHZhbHVlIGluIHRoZSBDYXJnby50b21sXG4gICAqL1xuICByZWFkb25seSBwcm9qZWN0TmFtZTogc3RyaW5nO1xuXG4gIC8vIEluaGVyaXRlZCBmcm9tIExvY2FsRXhlYyB3aXRob3V0IGNvbW1hbmQgb3B0aW9uXG4gIC8qKlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVwZW5kc09uPzogSVRlcnJhZm9ybURlcGVuZGFibGVbXTtcbiAgLyoqXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBwcm92aWRlcj86IFRlcnJhZm9ybVByb3ZpZGVyO1xuICAvKipcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGxpZmVjeWNsZT86IFRlcnJhZm9ybVJlc291cmNlTGlmZWN5Y2xlO1xuICAvKipcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHRyaWdnZXJzPzoge1xuICAgIFtrZXk6IHN0cmluZ106IHN0cmluZztcbiAgfTtcblxuICAvKipcbiAgICogVGhlIHdvcmtpbmcgZGlyZWN0b3J5IHRvIHJ1biB0aGUgY29tbWFuZCBpbi5cbiAgICpcbiAgICogRGVmYXVsdHMgdG8gcHJvY2Vzcy5wd2QoKS5cbiAgICpcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGN3ZDogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgQ3Jvc3NCdWlsZCBleHRlbmRzIExvY2FsRXhlYyB7XG4gIHByaXZhdGUgdGFyZ2V0OiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBwcm9qZWN0TmFtZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIG5hbWU6IHN0cmluZywgY29uZmlnOiBDcm9zc09wdGlvbnMpIHtcbiAgICBjb25zdCB0YXJnZXQgPVxuICAgICAgY29uZmlnLmFyY2ggPT09IFwiYXJtXCJcbiAgICAgICAgPyBcImFhcmNoNjQtdW5rbm93bi1saW51eC1nbnVcIlxuICAgICAgICA6IFwieDg2XzY0LXVua25vd24tbGludXgtZ251XCI7XG5cbiAgICBjb25zdCB0b21sUGF0aCA9IHJlc29sdmUoY29uZmlnLmN3ZCwgXCJDYXJnby50b21sXCIpO1xuICAgIGxldCBwYXJzZWRUb21sOiB7IHBhY2thZ2U6IHsgbmFtZTogc3RyaW5nIH0gfTtcbiAgICB0cnkge1xuICAgICAgcGFyc2VkVG9tbCA9IHRvbWwucGFyc2UoZnMucmVhZEZpbGVTeW5jKHRvbWxQYXRoLCBcInV0ZjhcIikpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkNvdWxkIG5vdCBmaW5kIENhcmdvLnRvbWwgaW4gXCIgKyBjb25maWcuY3dkKTtcbiAgICB9XG5cbiAgICBzdXBlcihzY29wZSwgbmFtZSwge1xuICAgICAgY29tbWFuZDogYGNyb3NzIGJ1aWxkIC0tdGFyZ2V0ICR7dGFyZ2V0fSAtLXJlbGVhc2VgLFxuICAgICAgY3dkOiBjb25maWcuY3dkLFxuICAgICAgZGVwZW5kc09uOiBjb25maWcuZGVwZW5kc09uLFxuICAgICAgcHJvdmlkZXI6IGNvbmZpZy5wcm92aWRlcixcbiAgICAgIGxpZmVjeWNsZTogY29uZmlnLmxpZmVjeWNsZSxcbiAgICAgIHRyaWdnZXJzOiBjb25maWcudHJpZ2dlcnMsXG4gICAgfSk7XG4gICAgdGhpcy50YXJnZXQgPSB0YXJnZXQ7XG4gICAgdGhpcy5wcm9qZWN0TmFtZSA9IGNvbmZpZy5wcm9qZWN0TmFtZSB8fCBwYXJzZWRUb21sLnBhY2thZ2UubmFtZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYmluYXJ5UGF0aCgpIHtcbiAgICByZXR1cm4gcmVzb2x2ZShcbiAgICAgIHRoaXMuY3dkLFxuICAgICAgXCJ0YXJnZXRcIixcbiAgICAgIHRoaXMudGFyZ2V0LFxuICAgICAgXCJyZWxlYXNlXCIsXG4gICAgICB0aGlzLnByb2plY3ROYW1lXG4gICAgKTtcbiAgfVxufVxuIl19 |
@@ -1,2 +0,2 @@ | ||
import { LocalExec } from "cdktf-local-exec"; | ||
import { LocalExec, LocalExecOptions } from "cdktf-local-exec"; | ||
import { Construct } from "constructs"; | ||
@@ -18,1 +18,10 @@ export interface RegistryAuth { | ||
} | ||
export interface DockerizedBuildOptions extends LocalExecOptions { | ||
readonly image: string; | ||
readonly imageHomeDirectory: string; | ||
readonly platform?: string; | ||
readonly setUser: boolean; | ||
} | ||
export declare class DockerizedBuild extends LocalExec { | ||
constructor(scope: Construct, name: string, options: DockerizedBuildOptions); | ||
} |
"use strict"; | ||
var _a; | ||
var _a, _b; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.DockerBuild = void 0; | ||
exports.DockerizedBuild = exports.DockerBuild = void 0; | ||
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); | ||
@@ -26,3 +26,15 @@ const cdktf_local_exec_1 = require("cdktf-local-exec"); | ||
_a = JSII_RTTI_SYMBOL_1; | ||
DockerBuild[_a] = { fqn: "cdktf-local-build.DockerBuild", version: "0.0.27" }; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9ja2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2RvY2tlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHVEQUE2QztBQTJCN0MsTUFBYSxXQUFZLFNBQVEsNEJBQVM7SUFDeEMsWUFDRSxLQUFnQixFQUNoQixJQUFZLEVBQ1osRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFzQjtRQUV4RCxNQUFNLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFFcEIsSUFBSSxJQUFJLEVBQUU7WUFDUixRQUFRLENBQUMsSUFBSSxDQUNYLG1CQUFtQixJQUFJLENBQUMsUUFBUSxPQUFPLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUM3RSxDQUFDO1NBQ0g7UUFFRCxRQUFRLENBQUMsSUFBSSxDQUNYLGdCQUFnQixVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxHQUFHLElBQUksQ0FDbkUsQ0FBQztRQUVGLElBQUksSUFBSSxLQUFLLEtBQUssRUFBRTtZQUNsQixRQUFRLENBQUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUMsQ0FBQztTQUNyQztRQUNELEtBQUssQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFO1lBQ2pCLEdBQUcsRUFBRSxHQUFHO1lBQ1IsT0FBTyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQzlCLGFBQWEsRUFBRSxLQUFLO1NBQ3JCLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBMUJILGtDQTJCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2FsRXhlYyB9IGZyb20gXCJjZGt0Zi1sb2NhbC1leGVjXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2lzdHJ5QXV0aCB7XG4gIHJlYWRvbmx5IHVzZXJOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHBhc3N3b3JkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHByb3h5RW5kcG9pbnQ6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRG9ja2VyQnVpbGRPcHRpb25zIHtcbiAgLy8gV29ya2luZyBkaXJlY3RvcnkgdG8gcnVuIHRoZSBjb21tYW5kIGluLlxuICByZWFkb25seSBjd2Q6IHN0cmluZztcblxuICAvLyBEb2NrZXJmaWxlIHBhdGgsIHJlbGF0aXZlIHRvIHRoZSB3b3JraW5nIGRpcmVjdG9yeS5cbiAgcmVhZG9ubHkgZG9ja2VyZmlsZT86IHN0cmluZztcblxuICAvLyBUaGUgdGFnIHRvIHVzZSBmb3IgdGhlIGltYWdlLlxuICAvLyBlLmcuIFwibXktb3JnL215LWFwcDpsYXRlc3RcIlxuICByZWFkb25seSB0YWc6IHN0cmluZztcblxuICAvLyBJZiB0aGUgaW1hZ2Ugc2hvdWxkIGJlIHB1c2hlZCB0byBhIHJlZ2lzdHJ5LlxuICAvLyBAZGVmYXVsdCB0cnVlXG4gIHJlYWRvbmx5IHB1c2g/OiBib29sZWFuO1xuXG4gIC8vIEF1dGhlbnRpY2F0aW9uIGZvciB0aGUgcmVnaXN0cnkuXG4gIHJlYWRvbmx5IGF1dGg/OiBSZWdpc3RyeUF1dGg7XG59XG5cbmV4cG9ydCBjbGFzcyBEb2NrZXJCdWlsZCBleHRlbmRzIExvY2FsRXhlYyB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIHsgY3dkLCBkb2NrZXJmaWxlLCB0YWcsIHB1c2gsIGF1dGggfTogRG9ja2VyQnVpbGRPcHRpb25zXG4gICkge1xuICAgIGNvbnN0IGNvbW1hbmRzID0gW107XG5cbiAgICBpZiAoYXV0aCkge1xuICAgICAgY29tbWFuZHMucHVzaChcbiAgICAgICAgYGRvY2tlciBsb2dpbiAtdSAke2F1dGgudXNlck5hbWV9IC1wICR7YXV0aC5wYXNzd29yZH0gJHthdXRoLnByb3h5RW5kcG9pbnR9YFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb21tYW5kcy5wdXNoKFxuICAgICAgYGRvY2tlciBidWlsZCAke2RvY2tlcmZpbGUgPyBgLWYgJHtkb2NrZXJmaWxlfWAgOiBcIlwifSAtdCAke3RhZ30gLmBcbiAgICApO1xuXG4gICAgaWYgKHB1c2ggIT09IGZhbHNlKSB7XG4gICAgICBjb21tYW5kcy5wdXNoKGBkb2NrZXIgcHVzaCAke3RhZ31gKTtcbiAgICB9XG4gICAgc3VwZXIoc2NvcGUsIG5hbWUsIHtcbiAgICAgIGN3ZDogY3dkLFxuICAgICAgY29tbWFuZDogY29tbWFuZHMuam9pbihcIiAmJiBcIiksXG4gICAgICBjb3B5QmVmb3JlUnVuOiBmYWxzZSxcbiAgICB9KTtcbiAgfVxufVxuIl19 | ||
DockerBuild[_a] = { fqn: "cdktf-local-build.DockerBuild", version: "0.0.28" }; | ||
// Runs an arbitrary build inside a docker container | ||
class DockerizedBuild extends cdktf_local_exec_1.LocalExec { | ||
constructor(scope, name, options) { | ||
super(scope, name, { | ||
...options, | ||
command: `docker run --rm ${options.platform ? `--platform=${options.platform}` : ""} ${options.setUser ? '--user="$(id -u)":"$(id -g)"' : ""} -v ${options.cwd}:${options.imageHomeDirectory} -w ${options.imageHomeDirectory} ${options.image} ${options.command}`, | ||
}); | ||
} | ||
} | ||
exports.DockerizedBuild = DockerizedBuild; | ||
_b = JSII_RTTI_SYMBOL_1; | ||
DockerizedBuild[_b] = { fqn: "cdktf-local-build.DockerizedBuild", version: "0.0.28" }; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9ja2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2RvY2tlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHVEQUErRDtBQTJCL0QsTUFBYSxXQUFZLFNBQVEsNEJBQVM7SUFDeEMsWUFDRSxLQUFnQixFQUNoQixJQUFZLEVBQ1osRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFzQjtRQUV4RCxNQUFNLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFFcEIsSUFBSSxJQUFJLEVBQUU7WUFDUixRQUFRLENBQUMsSUFBSSxDQUNYLG1CQUFtQixJQUFJLENBQUMsUUFBUSxPQUFPLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUM3RSxDQUFDO1NBQ0g7UUFFRCxRQUFRLENBQUMsSUFBSSxDQUNYLGdCQUFnQixVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxHQUFHLElBQUksQ0FDbkUsQ0FBQztRQUVGLElBQUksSUFBSSxLQUFLLEtBQUssRUFBRTtZQUNsQixRQUFRLENBQUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUMsQ0FBQztTQUNyQztRQUNELEtBQUssQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFO1lBQ2pCLEdBQUcsRUFBRSxHQUFHO1lBQ1IsT0FBTyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQzlCLGFBQWEsRUFBRSxLQUFLO1NBQ3JCLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBMUJILGtDQTJCQzs7O0FBZ0JELG9EQUFvRDtBQUNwRCxNQUFhLGVBQWdCLFNBQVEsNEJBQVM7SUFDNUMsWUFBWSxLQUFnQixFQUFFLElBQVksRUFBRSxPQUErQjtRQUN6RSxLQUFLLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRTtZQUNqQixHQUFHLE9BQU87WUFDVixPQUFPLEVBQUUsbUJBQ1AsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsY0FBYyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQ3hELElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsOEJBQThCLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FDdkQsT0FBTyxDQUFDLEdBQ1YsSUFBSSxPQUFPLENBQUMsa0JBQWtCLE9BQU8sT0FBTyxDQUFDLGtCQUFrQixJQUM3RCxPQUFPLENBQUMsS0FDVixJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUU7U0FDdEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFaSCwwQ0FhQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2FsRXhlYywgTG9jYWxFeGVjT3B0aW9ucyB9IGZyb20gXCJjZGt0Zi1sb2NhbC1leGVjXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2lzdHJ5QXV0aCB7XG4gIHJlYWRvbmx5IHVzZXJOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHBhc3N3b3JkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHByb3h5RW5kcG9pbnQ6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRG9ja2VyQnVpbGRPcHRpb25zIHtcbiAgLy8gV29ya2luZyBkaXJlY3RvcnkgdG8gcnVuIHRoZSBjb21tYW5kIGluLlxuICByZWFkb25seSBjd2Q6IHN0cmluZztcblxuICAvLyBEb2NrZXJmaWxlIHBhdGgsIHJlbGF0aXZlIHRvIHRoZSB3b3JraW5nIGRpcmVjdG9yeS5cbiAgcmVhZG9ubHkgZG9ja2VyZmlsZT86IHN0cmluZztcblxuICAvLyBUaGUgdGFnIHRvIHVzZSBmb3IgdGhlIGltYWdlLlxuICAvLyBlLmcuIFwibXktb3JnL215LWFwcDpsYXRlc3RcIlxuICByZWFkb25seSB0YWc6IHN0cmluZztcblxuICAvLyBJZiB0aGUgaW1hZ2Ugc2hvdWxkIGJlIHB1c2hlZCB0byBhIHJlZ2lzdHJ5LlxuICAvLyBAZGVmYXVsdCB0cnVlXG4gIHJlYWRvbmx5IHB1c2g/OiBib29sZWFuO1xuXG4gIC8vIEF1dGhlbnRpY2F0aW9uIGZvciB0aGUgcmVnaXN0cnkuXG4gIHJlYWRvbmx5IGF1dGg/OiBSZWdpc3RyeUF1dGg7XG59XG5cbmV4cG9ydCBjbGFzcyBEb2NrZXJCdWlsZCBleHRlbmRzIExvY2FsRXhlYyB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIHsgY3dkLCBkb2NrZXJmaWxlLCB0YWcsIHB1c2gsIGF1dGggfTogRG9ja2VyQnVpbGRPcHRpb25zXG4gICkge1xuICAgIGNvbnN0IGNvbW1hbmRzID0gW107XG5cbiAgICBpZiAoYXV0aCkge1xuICAgICAgY29tbWFuZHMucHVzaChcbiAgICAgICAgYGRvY2tlciBsb2dpbiAtdSAke2F1dGgudXNlck5hbWV9IC1wICR7YXV0aC5wYXNzd29yZH0gJHthdXRoLnByb3h5RW5kcG9pbnR9YFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb21tYW5kcy5wdXNoKFxuICAgICAgYGRvY2tlciBidWlsZCAke2RvY2tlcmZpbGUgPyBgLWYgJHtkb2NrZXJmaWxlfWAgOiBcIlwifSAtdCAke3RhZ30gLmBcbiAgICApO1xuXG4gICAgaWYgKHB1c2ggIT09IGZhbHNlKSB7XG4gICAgICBjb21tYW5kcy5wdXNoKGBkb2NrZXIgcHVzaCAke3RhZ31gKTtcbiAgICB9XG4gICAgc3VwZXIoc2NvcGUsIG5hbWUsIHtcbiAgICAgIGN3ZDogY3dkLFxuICAgICAgY29tbWFuZDogY29tbWFuZHMuam9pbihcIiAmJiBcIiksXG4gICAgICBjb3B5QmVmb3JlUnVuOiBmYWxzZSxcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERvY2tlcml6ZWRCdWlsZE9wdGlvbnMgZXh0ZW5kcyBMb2NhbEV4ZWNPcHRpb25zIHtcbiAgLy8gQnVpbGRlciBkb2NrZXIgaW1hZ2UgdXNlZFxuICByZWFkb25seSBpbWFnZTogc3RyaW5nO1xuXG4gIC8vIEhvbWUgZGlyZWN0b3J5IG9mIHRoZSBpbWFnZVxuICByZWFkb25seSBpbWFnZUhvbWVEaXJlY3Rvcnk6IHN0cmluZztcblxuICAvLyBQbGF0Zm9ybSB0byBydW4gdW5kZXJcbiAgcmVhZG9ubHkgcGxhdGZvcm0/OiBzdHJpbmc7XG5cbiAgLy8gU2V0cyB0aGUgdXNlciBhbmQgZ3JvdXAgdG8gdGhlIGhvc3RzIHVzZXIgYW5kIGdyb3VwXG4gIHJlYWRvbmx5IHNldFVzZXI6IGJvb2xlYW47XG59XG5cbi8vIFJ1bnMgYW4gYXJiaXRyYXJ5IGJ1aWxkIGluc2lkZSBhIGRvY2tlciBjb250YWluZXJcbmV4cG9ydCBjbGFzcyBEb2NrZXJpemVkQnVpbGQgZXh0ZW5kcyBMb2NhbEV4ZWMge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBuYW1lOiBzdHJpbmcsIG9wdGlvbnM6IERvY2tlcml6ZWRCdWlsZE9wdGlvbnMpIHtcbiAgICBzdXBlcihzY29wZSwgbmFtZSwge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGNvbW1hbmQ6IGBkb2NrZXIgcnVuIC0tcm0gJHtcbiAgICAgICAgb3B0aW9ucy5wbGF0Zm9ybSA/IGAtLXBsYXRmb3JtPSR7b3B0aW9ucy5wbGF0Zm9ybX1gIDogXCJcIlxuICAgICAgfSAke29wdGlvbnMuc2V0VXNlciA/ICctLXVzZXI9XCIkKGlkIC11KVwiOlwiJChpZCAtZylcIicgOiBcIlwifSAtdiAke1xuICAgICAgICBvcHRpb25zLmN3ZFxuICAgICAgfToke29wdGlvbnMuaW1hZ2VIb21lRGlyZWN0b3J5fSAtdyAke29wdGlvbnMuaW1hZ2VIb21lRGlyZWN0b3J5fSAke1xuICAgICAgICBvcHRpb25zLmltYWdlXG4gICAgICB9ICR7b3B0aW9ucy5jb21tYW5kfWAsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ== |
@@ -74,2 +74,8 @@ { | ||
}, | ||
"dependencies": { | ||
"toml": "^3.0.0" | ||
}, | ||
"bundledDependencies": [ | ||
"toml" | ||
], | ||
"keywords": [ | ||
@@ -81,3 +87,3 @@ "cdk", | ||
"license": "Apache-2.0", | ||
"version": "0.0.27", | ||
"version": "0.0.28", | ||
"jest": { | ||
@@ -84,0 +90,0 @@ "testMatch": [ |
@@ -9,3 +9,3 @@ # CDKTF Local Build Construct | ||
```ts | ||
import { Provider, DockerBuild } from "cdktf-local-build"; | ||
import { Provider, DockerBuild, DockerizedBuild } from "cdktf-local-build"; | ||
@@ -16,3 +16,3 @@ // Local Build extends LocalExec which extends from the null provider, | ||
new DockerBuild(this, "backend-build", { | ||
new DockerBuild(this, "docker-backend", { | ||
cwd: "/path/to/project/backend", | ||
@@ -23,2 +23,11 @@ dockerfile: "Dockerfile.backend", | ||
}); | ||
new DockerizedBuild(this, "my-go-backend", { | ||
cwd: "/path/to/project/backend", | ||
command: "go build -o /tmp/backend", | ||
imageHomeDirectory: "/tmp/backend", | ||
platform: "linux/arm64", | ||
image: "go-builder-image:latest", | ||
setUser: true, | ||
}); | ||
``` | ||
@@ -36,1 +45,25 @@ | ||
- `push`: If true, `docker push <tag>` is executed after the run. | ||
### `DockerizedBuild` | ||
Build an artifact inside a docker image. | ||
#### Options | ||
- `cwd`: The working directory to run the command in. | ||
- `command`: Build command to run int the docker image. | ||
- `image`: The tag to use for the building image. | ||
- `imageHomeDirectory`: The home directory to use inside the image. | ||
- `platform`: The platform to build for (sets docker platform flag). | ||
- `setUser`: If true, the user will be set to the current user inside docker. | ||
### `CrossBuild` | ||
Builds a rust binary using cross (cross runs it inside a docker container). | ||
Please make sure [cross](https://github.com/cross-rs/cross) is installed on the host machine by running `cargo install cross`. | ||
#### Options | ||
- `arch`: The architecture to build for (`arm` or `x86`). | ||
- `projectName`: The name specified in the Cargo.toml. | ||
- `cwd`: The working directory to run the command in. |
@@ -1,1 +0,1 @@ | ||
v0.0.27 | ||
v0.0.28 |
@@ -1,1 +0,1 @@ | ||
0.0.27 | ||
0.0.28 |
Sorry, the diff of this file is not supported yet
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Mixed license
License(Experimental) Package contains multiple licenses.
Found 1 instance in 1 package
240647
41
4505
66
5
1
4
1
+ Addedtoml@^3.0.0