Add list sub command.
This commit is contained in:
		
							parent
							
								
									01840c7312
								
							
						
					
					
						commit
						45a5ca6592
					
				
					 1 changed files with 18 additions and 7 deletions
				
			
		| 
						 | 
					@ -1,12 +1,12 @@
 | 
				
			||||||
import importlib
 | 
					import importlib
 | 
				
			||||||
import shutil
 | 
					import shutil
 | 
				
			||||||
import sys
 | 
					import sys
 | 
				
			||||||
import random
 | 
					 | 
				
			||||||
from types import ModuleType
 | 
					from types import ModuleType
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import osdk.build as build
 | 
					import osdk.build as build
 | 
				
			||||||
import osdk.utils as utils
 | 
					import osdk.utils as utils
 | 
				
			||||||
import osdk.targets as targets
 | 
					import osdk.targets as targets
 | 
				
			||||||
 | 
					import osdk.manifests as manifests
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
CMDS = {}
 | 
					CMDS = {}
 | 
				
			||||||
| 
						 | 
					@ -52,6 +52,19 @@ def buildCmd(opts: dict, args: list[str]) -> None:
 | 
				
			||||||
            build.buildOne(targetName, component)
 | 
					            build.buildOne(targetName, component)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def listCmd(opts: dict, args: list[str]) -> None:
 | 
				
			||||||
 | 
					    targetName = opts.get('target', 'host-clang')
 | 
				
			||||||
 | 
					    target = targets.load(targetName)
 | 
				
			||||||
 | 
					    components = manifests.loadAll("src", target)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    print(f"Available components for target '{targetName}':")
 | 
				
			||||||
 | 
					    componentsNames = list(components.keys())
 | 
				
			||||||
 | 
					    componentsNames.sort()
 | 
				
			||||||
 | 
					    for component in componentsNames:
 | 
				
			||||||
 | 
					        print("  " + component)
 | 
				
			||||||
 | 
					    print("")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def cleanCmd(opts: dict, args: list[str]) -> None:
 | 
					def cleanCmd(opts: dict, args: list[str]) -> None:
 | 
				
			||||||
    shutil.rmtree(".build", ignore_errors=True)
 | 
					    shutil.rmtree(".build", ignore_errors=True)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -61,12 +74,6 @@ def nukeCmd(opts: dict, args: list[str]) -> None:
 | 
				
			||||||
    shutil.rmtree(".cache", ignore_errors=True)
 | 
					    shutil.rmtree(".cache", ignore_errors=True)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def idCmd(opts: dict, args: list[str]) -> None:
 | 
					 | 
				
			||||||
    i = hex(random.randint(0, 2**64))
 | 
					 | 
				
			||||||
    print("64bit: " + i)
 | 
					 | 
				
			||||||
    print("32bit: " + i[:10])
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
def helpCmd(opts: dict, args: list[str]) -> None:
 | 
					def helpCmd(opts: dict, args: list[str]) -> None:
 | 
				
			||||||
    print(f"Usage: osdk <command> [options...] [<args...>]")
 | 
					    print(f"Usage: osdk <command> [options...] [<args...>]")
 | 
				
			||||||
    print("")
 | 
					    print("")
 | 
				
			||||||
| 
						 | 
					@ -104,6 +111,10 @@ CMDS = {
 | 
				
			||||||
        "func": buildCmd,
 | 
					        "func": buildCmd,
 | 
				
			||||||
        "desc": "Build one or more components",
 | 
					        "desc": "Build one or more components",
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "list": {
 | 
				
			||||||
 | 
					        "func": listCmd,
 | 
				
			||||||
 | 
					        "desc": "List available components",
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "clean": {
 | 
					    "clean": {
 | 
				
			||||||
        "func": cleanCmd,
 | 
					        "func": cleanCmd,
 | 
				
			||||||
        "desc": "Clean the build directory",
 | 
					        "desc": "Clean the build directory",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue