spadix-cli 0.7.4__py3-none-any.whl → 0.7.6__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
spadix_cli/__init__.py CHANGED
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env python3
2
2
  # Copyright 2019-2023 SafeAI, Inc.
3
+ # Copyright (C) 2025 Pronto.AI
3
4
  #
4
5
  # Licensed under the Apache License, Version 2.0 (the "License");
5
6
  # you may not use this file except in compliance with the License.
@@ -26,11 +27,12 @@ from sys import stderr
26
27
 
27
28
  from lark import Lark, Transformer, v_args
28
29
 
29
- __version__ = '0.7.4'
30
+ __version__ = '0.7.6'
30
31
 
31
32
  ###############################################################################
32
33
  USAGE = """
33
- Copyright (C) 2019--2023 SafeAI, by Serge Nikulin
34
+ Copyright (C) 2019-2024 SafeAI, Inc.
35
+ Copyright (C) 2025 Pronto.AI
34
36
  spadix version {version} is a friendly wrapper for colcon (collective construction build manager)
35
37
 
36
38
  Usage:
@@ -38,10 +40,11 @@ spadix [Global options] [command] [command options] ...
38
40
 
39
41
  [Global options]
40
42
  --version : Print spadix\' version and exit`
41
- --no-console : Don't use the default console mode: `--event-handlers console_direct+`
43
+ --no-console : Don't use the default console mode: `--event-handlers console_cohesion+`
42
44
  --no-root-check : Don't check that spadix being started from the root of a git project
43
45
  --dry-run : Don't run `colcon` command, instead print the command line and exit
44
46
  --ninja : Use Ninja during the build. Ignored if it's not a build
47
+ --non-ninja : Do not use Ninja (overrides default on non-Windows)
45
48
 
46
49
  Commands:
47
50
  clean :Clean all packages (`rm -rf log install build`)
@@ -246,7 +249,7 @@ class command_line_parser:
246
249
  self.dry_run = False
247
250
  self.is_test = False
248
251
  self.is_parallel_overridden = False
249
- self.use_ninja = False
252
+ self.use_ninja = not is_windows()
250
253
 
251
254
  ###########################################################################
252
255
  # Extract global options form the provided arguments
@@ -266,6 +269,8 @@ class command_line_parser:
266
269
  self.dry_run = True
267
270
  elif arg == '--ninja':
268
271
  self.use_ninja = True
272
+ elif arg == '--non-ninja':
273
+ self.use_ninja = False
269
274
  else:
270
275
  self.cmd_line.append(arg)
271
276
  else:
@@ -277,7 +282,7 @@ class command_line_parser:
277
282
  self.cmd_line.append('--merge-install')
278
283
  if not self.no_console:
279
284
  self.cmd_line.append('--event-handlers')
280
- self.cmd_line.append('console_direct+')
285
+ self.cmd_line.append('console_cohesion+')
281
286
 
282
287
  ###########################################################################
283
288
  def parse_package_list(self, list_string):
@@ -313,6 +318,7 @@ class command_line_parser:
313
318
  if self.use_ninja:
314
319
  cmake_args.append(" -GNinja")
315
320
 
321
+ user_set_cmake_build_type = False
316
322
  is_debug = False
317
323
  if is_windows():
318
324
  is_debug = True
@@ -331,6 +337,11 @@ class command_line_parser:
331
337
  elif arg == '--cmake-args':
332
338
  expect_cmake_args = True
333
339
  continue
340
+ elif arg.startswith('-D'):
341
+ cmake_args.append(' ' + arg)
342
+ if 'CMAKE_BUILD_TYPE' in arg:
343
+ user_set_cmake_build_type = True
344
+ continue
334
345
  elif arg == '--build-base':
335
346
  self.cmd_line.append(arg)
336
347
  expect_BUILD_BASE = True
@@ -528,10 +539,12 @@ class command_line_parser:
528
539
  self.cmd_line.append(arg)
529
540
 
530
541
  if self.is_build:
531
- if is_debug:
532
- cmake_args.append(' -DCMAKE_BUILD_TYPE=Debug')
533
- else:
534
- cmake_args.append(' -DCMAKE_BUILD_TYPE=Release')
542
+ if not user_set_cmake_build_type and not any(
543
+ 'CMAKE_BUILD_TYPE' in a for a in cmake_args):
544
+ if is_debug:
545
+ cmake_args.append(' -DCMAKE_BUILD_TYPE=Debug')
546
+ else:
547
+ cmake_args.append(' -DCMAKE_BUILD_TYPE=RelWithDebInfo')
535
548
 
536
549
  if len(cmake_args) > 1:
537
550
  self.cmd_line.extend(cmake_args)
spadix_cli/__main__.py CHANGED
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env python3
2
2
  # Copyright 2019-2023 SafeAI, Inc.
3
+ # Copyright (C) 2025 Pronto.AI
3
4
  #
4
5
  # Licensed under the Apache License, Version 2.0 (the "License");
5
6
  # you may not use this file except in compliance with the License.
@@ -1,26 +1,41 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: spadix-cli
3
- Version: 0.7.4
4
- Summary: SAF friendly wrapper for colcon
5
- Home-page: https://safeai.ai
3
+ Version: 0.7.6
4
+ Summary: A friendly wrapper for colcon
5
+ Home-page: https://pronto.ai
6
6
  Author: Serge Nikulin
7
- Author-email: serge@safeai.ai
7
+ Author-email: serge.nikulin@pronto.ai
8
8
  Maintainer: Serge Nikulin
9
- Maintainer-email: serge@safeai.ai
10
- Project-URL: Bug Tracker, https://gitlab.safeai.ai/production/spadix-cli
9
+ Maintainer-email: serge.nikulin@pronto.ai
10
+ Project-URL: Bug Tracker, https://github.com/Pronto-ai/spadix
11
11
  Keywords: spadix-cli
12
12
  Classifier: Programming Language :: Python :: 3
13
13
  Classifier: License :: OSI Approved :: MIT License
14
14
  Classifier: Operating System :: OS Independent
15
- Requires-Python: >=3.6
15
+ Requires-Python: >=3.8
16
16
  Description-Content-Type: text/markdown
17
17
  License-File: LICENSE
18
18
  Requires-Dist: setuptools
19
- Requires-Dist: lark
19
+ Dynamic: author
20
+ Dynamic: author-email
21
+ Dynamic: classifier
22
+ Dynamic: description
23
+ Dynamic: description-content-type
24
+ Dynamic: home-page
25
+ Dynamic: keywords
26
+ Dynamic: license-file
27
+ Dynamic: maintainer
28
+ Dynamic: maintainer-email
29
+ Dynamic: project-url
30
+ Dynamic: requires-dist
31
+ Dynamic: requires-python
32
+ Dynamic: summary
20
33
 
21
34
  # Spadix, a friendly wrapper for `colcon`
22
35
 
23
- Copyright (C) 2021 SafeAI
36
+ Copyright (C) 2021-2024 SafeAI
37
+
38
+ Copyright (C) 2025 Pronto.AI
24
39
 
25
40
  ## Why?
26
41
 
@@ -50,9 +65,11 @@ Usage:
50
65
  spadix [Global options] [command] [command options] ...
51
66
 
52
67
  [Global options]
53
- --no-merge : Don't use --merge-install option for colcon
54
- --no-console : Don't use the default console mode: `--event-handlers console_direct+`
55
- --no-root-check : Don't check that spadix being started from the root of a git project
68
+ --no-merge : Do not use --merge-install option for colcon
69
+ --no-console : Do not use the default console mode: `--event-handlers console_cohesion+`
70
+ --no-root-check : Do not check that spadix being started from the root of a git project
71
+ --ninja : Use Ninja for building when available
72
+ --non-ninja : Do not use Ninja for building, even if it is available
56
73
 
57
74
  Commands:
58
75
  clean :Clean all projects (essentially executes `rm -rf log install build`)
@@ -0,0 +1,8 @@
1
+ spadix_cli/__init__.py,sha256=duX95POquKI0o8ZScCQ0dIbhM1ixPPK_MdpO-8lKX18,24699
2
+ spadix_cli/__main__.py,sha256=7uY4Swdt6Tv6oFGnYjpa15qrtmwhSt4d6y-UqNefM2U,759
3
+ spadix_cli-0.7.6.dist-info/licenses/LICENSE,sha256=AU8-aFax2NopH_n1ja1fXDdqCOJWpuASgSgOIm5Z55w,1083
4
+ spadix_cli-0.7.6.dist-info/METADATA,sha256=DkMfMIYahq6OabhcWtx3gWhtX9RiUBFcVKLEL42uis0,3138
5
+ spadix_cli-0.7.6.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
6
+ spadix_cli-0.7.6.dist-info/entry_points.txt,sha256=oUDP6DnZCF5Ynkmodv1uKAoWK_uFmly093arRd7H3f0,52
7
+ spadix_cli-0.7.6.dist-info/top_level.txt,sha256=2nIIYCRacGMBV3v38jf8tNUxx52VlCJSoklnyuF2H5A,11
8
+ spadix_cli-0.7.6.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.3.2)
2
+ Generator: setuptools (80.10.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,4 +1,5 @@
1
- Copyright (c) 2021 SafeAI
1
+ Copyright (C) 2021-2024 SafeAI
2
+ Copyright (C) 2025 Pronto.AI
2
3
 
3
4
  Permission is hereby granted, free of charge, to any person obtaining a copy
4
5
  of this software and associated documentation files (the "Software"), to deal
@@ -1,8 +0,0 @@
1
- spadix_cli/__init__.py,sha256=9HpFTG4LtBSh0nFCWO37mgYg2GACJ731HuQz7AdG1NI,24059
2
- spadix_cli/__main__.py,sha256=rPu64Cx0WavfzKIa5PAHEfBhOL37eaSYC3NGC7b-Lxc,728
3
- spadix_cli-0.7.4.dist-info/LICENSE,sha256=Mibvrd1h1r-JGmJDpdKRxcyy_QQXVYvC3IkOd_MEHKE,1049
4
- spadix_cli-0.7.4.dist-info/METADATA,sha256=CTCPrJtaZjfov4HieG8UvnX8yfgYpbEbI6Ko7diDilc,2675
5
- spadix_cli-0.7.4.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
6
- spadix_cli-0.7.4.dist-info/entry_points.txt,sha256=oUDP6DnZCF5Ynkmodv1uKAoWK_uFmly093arRd7H3f0,52
7
- spadix_cli-0.7.4.dist-info/top_level.txt,sha256=2nIIYCRacGMBV3v38jf8tNUxx52VlCJSoklnyuF2H5A,11
8
- spadix_cli-0.7.4.dist-info/RECORD,,