New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

cdktf-local-build

Package Overview
Dependencies
Maintainers
1
Versions
112
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cdktf-local-build - npm Package Compare versions

Comparing version 0.0.27 to 0.0.28

node_modules/toml/.jshintrc

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;
}

78

lib/cargo.js
"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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc