Skip to content

Commit ab708ca

Browse files
Merge pull request #17 from sumitparakh/sumit/issues/16
fix: detect cmd option and run python executable accordingly
2 parents ac06374 + af35a8d commit ab708ca

File tree

6 files changed

+22
-8
lines changed

6 files changed

+22
-8
lines changed

packages/nx-python/src/builders/build/builder.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import {
66
import { Observable, from } from 'rxjs';
77
import { map } from 'rxjs/operators';
88
import { BuildBuilderSchema } from './schema';
9-
import { runPythonCommand } from '../../utils/py-utils'
9+
import { getCliOptions, runPythonCommand } from '../../utils/py-utils'
1010

1111
export function runBuilder(
1212
options: BuildBuilderSchema,
@@ -17,7 +17,7 @@ export function runBuilder(
1717
const mainFile = `${options.main}`
1818
const output = `${options.outputPath}`
1919
//Compile files using the native py_compile module
20-
return runPythonCommand(context, 'build', [mainFile])
20+
return runPythonCommand(context, 'build', [mainFile], getCliOptions(options))
2121
})
2222
);
2323
}

packages/nx-python/src/builders/lint/builder.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { BuilderContext, BuilderOutput, createBuilder } from '@angular-devkit/ar
22
import { from, Observable } from 'rxjs'
33
import { map } from 'rxjs/operators'
44
import { LintBuilderSchema } from './schema'
5-
import { runPythonCommand } from '../../utils/py-utils'
5+
import { getCliOptions, runPythonCommand } from '../../utils/py-utils'
66

77
export function runBuilder(options: LintBuilderSchema, context: BuilderContext): Observable<BuilderOutput> {
88
return from(context.getProjectMetadata(context?.target?.project)).pipe(
@@ -12,7 +12,7 @@ export function runBuilder(options: LintBuilderSchema, context: BuilderContext):
1212
const sources = `${root}/src/*.py`
1313

1414
// Executing linting using the flake8 module
15-
return runPythonCommand(context, 'lint', [sources])
15+
return runPythonCommand(context, 'lint', [sources], getCliOptions(options))
1616
}),
1717
)
1818
}

packages/nx-python/src/builders/serve/builder.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@ import { BuilderContext, BuilderOutput, createBuilder } from '@angular-devkit/ar
22
import { from, Observable } from 'rxjs'
33
import { map } from 'rxjs/operators'
44
import { ServeBuilderSchema } from './schema'
5-
import { runPythonCommand } from '../../utils/py-utils'
5+
import { getCliOptions, runPythonCommand } from '../../utils/py-utils'
66

77
export function runBuilder(options: ServeBuilderSchema, context: BuilderContext): Observable<BuilderOutput> {
88
return from(context.getProjectMetadata(context?.target?.project)).pipe(
99
map(() => {
1010
const mainFile = `${options.main}`
1111

12-
return runPythonCommand(context, 'serve', [mainFile])
12+
return runPythonCommand(context, 'serve', [mainFile], getCliOptions(options))
1313
}),
1414
)
1515
}

packages/nx-python/src/builders/serve/schema.d.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,6 @@ import { JsonObject } from '@angular-devkit/core'
33
export interface ServeBuilderSchema extends JsonObject {
44
main?: string
55
outputPath?: string
6+
cwd?: string
7+
cmd?: string
68
}

packages/nx-python/src/builders/test/builder.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { BuilderContext, BuilderOutput, createBuilder } from '@angular-devkit/ar
22
import { from, Observable } from 'rxjs'
33
import { map } from 'rxjs/operators'
44
import { TestBuilderSchema } from './schema'
5-
import { runPythonCommand } from '../../utils/py-utils'
5+
import { getCliOptions, runPythonCommand } from '../../utils/py-utils'
66

77
export function runBuilder(options: TestBuilderSchema, context: BuilderContext): Observable<BuilderOutput> {
88
return from(context.getProjectMetadata(context?.target?.project)).pipe(
@@ -11,7 +11,7 @@ export function runBuilder(options: TestBuilderSchema, context: BuilderContext):
1111
const root = project.root
1212
const sources = `${root}/src/*test*.py`
1313

14-
return runPythonCommand(context, 'test', [sources])
14+
return runPythonCommand(context, 'test', [sources], getCliOptions(options))
1515
}),
1616
)
1717
}

packages/nx-python/src/utils/py-utils.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { BuilderContext } from '@angular-devkit/architect'
22
import { execSync } from 'child_process'
3+
import { ServeBuilderSchema } from '../builders/serve/schema'
34

45
export function runPythonCommand(
56
context: BuilderContext,
@@ -35,4 +36,15 @@ export function runPythonCommand(
3536
context.logger.error(`Failed to execute command: ${execute}`, e)
3637
return { success: false }
3738
}
39+
}
40+
41+
export function getCliOptions(options: ServeBuilderSchema): ServeBuilderSchema {
42+
const _options: ServeBuilderSchema = {};
43+
if(options.cmd) {
44+
_options.cmd = options.cmd;
45+
}
46+
if(options.cwd) {
47+
_options.cwd = options.cwd;
48+
}
49+
return _options;
3850
}

0 commit comments

Comments
 (0)