Commit Graph
100 Commits
Author SHA1 Message Date
MaXFeeD e7a7c28636 Implemented Node.js, JDK, NDK, Gradle system-wide installation, fetching declarations and ADB 2026-04-12 15:21:25 +03:00
MaXFeeD 371f7d69b9 Updating to prompt-toolkit#3.0.52 and Python 3.8+ 2026-03-23 13:07:35 +03:00
MaXFeeD 4de56bfdfd Migrating from ModStructure to ProjectStructure (BuildConfigStructure especially) 2026-03-22 20:59:31 +03:00
MaXFeeD 4ccc5f7977 Partially rewriting to ProjectStructure and BuildTarget specifically 2026-03-19 20:49:23 +03:00
MaXFeeD fc26cf27e3 Using ABC as class basis for deprecated meta 2026-03-19 20:47:01 +03:00
MaXFeeD 172a2fde3f Implemented packing java sources, classpath and sources 2026-03-11 20:52:20 +03:00
MaXFeeD e35c97c5dc Added device authorization timeout and hints 2026-03-11 19:35:31 +03:00
MaXFeeD df791c827f Fixed expanding paths with selector 2026-03-11 18:54:29 +03:00
MaXFeeD e4d3d0c377 Launching packages with auto launch 2026-03-11 17:44:51 +03:00
MaXFeeD 74eda5f676 Implementing adb.launcherPackage/Activity [WIP] 2026-03-07 20:45:29 +03:00
MaXFeeD 106a8f54dc Searching for modpacks in specific architecture Horizon, proper error output 2026-03-07 20:21:03 +03:00
MaXFeeD ed0ea4ad8b Properly closing prompt sessions on errors, push directory detection and choice fallback 2026-03-07 19:24:37 +03:00
MaXFeeD 89d1eac13d Readded tasks for system wide installation, IntelliJ configuration fixes 2026-03-07 14:36:00 +03:00
MaXFeeD 4bb97f08f8 Bump 0.1.1, requires python >= 3.8 2026-03-07 14:18:15 +03:00
MaXFeeD 754eb6f274 Fixed Inner Core java folders, improved error handling 2026-01-28 03:40:37 +03:00
MaXFeeD aa45e4060d Future orchestrator --concurrent-test 2025-10-16 01:47:47 +03:00
MaXFeeD 7b3b6208be Added config-variants example
- IsolatedWorkspace will be reused in future updates as GLOBALS.MAKE_CONFIG access strategy.
2025-09-25 20:11:28 +03:00
MaXFeeD 7e6b4727d8 Project availability mistypos, fix defaults 2025-09-25 20:10:10 +03:00
MaXFeeD 5016918a44 Remade dependency graph example to test suite, package venv support 2025-09-24 19:50:38 +03:00
MaXFeeD 147e07b457 Added dependency-graph example 2025-09-22 02:35:43 +03:00
MaXFeeD 4a341e2dca Example (unit test) running support, fixed recursive dependency collection for file configs, project name 2025-09-22 02:35:20 +03:00
MaXFeeD ebf086073e Building scripts from build.config, frozen messages and typo fixes 2025-09-09 23:54:00 +03:00
MaXFeeD 850508ee5c Properly config updates, checking for adb installation, abis is not neccessary anymore 2025-09-09 23:53:05 +03:00
MaXFeeD 7b06579f7d Skipping java compilation when not needed 2025-09-09 23:51:43 +03:00
MaXFeeD c5684ef60c Added that silly raccoon 2025-06-25 20:52:34 +03:00
MaXFeeD f2bd4b41da Added crossplatform ANSI art to icmtoolchain command 2025-06-24 16:30:24 +03:00
MaXFeeD bafd887335 Fixed MakeDataConfig inference order 2025-06-24 11:45:59 +03:00
MaXFeeD 774866e762 Running tasks without opened project, single template selection fixes 2025-06-23 21:19:42 +03:00
MaXFeeD eeed814cfd Properly python 3.8+ support 2025-06-23 02:26:05 +03:00
MaXFeeD 1d460b0980 Installing minimum python version venv by default 2025-06-23 01:46:03 +03:00
MaXFeeD 845f6f5820 Console output standartization: success, attention, failure and frozen
- Another things moved to pretty_answer, pretty_debug, etc.
2025-06-21 20:45:44 +03:00
MaXFeeD a19ab9580f Messages about non-existent user data folders in modpacks 2025-06-21 19:27:56 +03:00
MaXFeeD f2e8715c11 Moving resources in modpacks to assets, probably most convenient way 2025-06-21 18:18:11 +03:00
MaXFeeD 4a1aabc96a Added java_compiler rule to java compilation 2025-06-21 18:13:17 +03:00
MaXFeeD d60a1da949 MakeDataConfig.is_pack replaced with project_type property
- Universal used as fallback only, but probably will receive meaning in future.
- Skipping most stuff when building modpacks from make.json config.
- Added modpack property to MakeConfig.
2025-06-21 15:33:58 +03:00
MaXFeeD 25dd770027 Rewritten different project data types to FlushableMakeProjectData 2025-06-21 15:05:46 +03:00
MaXFeeD 0f46361476 Flushing modpack info, added external_servers.txt 2025-06-21 14:49:20 +03:00
MaXFeeD 8d1e2683c4 Migrating native.configurations to integrated configurations
- RuleSetHolder.bisect_properties to override existing properties, RuleSetHolder.remove_rules to cleanup unattended rules.
2025-06-21 14:19:59 +03:00
MaXFeeD 49e1ace78b RuleSet/RuleSetHolder.contains_rules 2025-06-21 14:02:27 +03:00
MaXFeeD 07b85f9b6f Modpack support: dependencies, resources, mod assets
- Typo and lint fixes somewhere.
2025-06-20 20:55:39 +03:00
MaXFeeD a05fce9bc0 MakeDataConfig implements RuleSetHolder, complete configuration support 2025-06-20 00:30:44 +03:00
MaXFeeD 4a8610207c RuleSetConfig separated from RuleSetHolder 2025-06-17 20:31:23 +03:00
MaXFeeD 3107cc83bb RuleSetHolder + Config prototype overrides 2025-06-15 18:36:18 +03:00
MaXFeeD 50fd351d6a Experimenting with RuleSet, future configuration merger 2025-06-13 20:46:00 +03:00
MaXFeeD 810927cf52 Config.obtain merges default values, nested configs receives fallbacks from parents 2025-06-12 11:52:46 +03:00
MaXFeeD 084b9605dc Renamed project_manager.py to project_graph.py, unsatisfied dependency typo fix 2025-06-09 20:32:54 +03:00
MaXFeeD 89f2013122 Removed holy aboba test 2025-06-09 18:16:29 +03:00
MaXFeeD d540119334 Resolving artifacts in holy aboba test 2025-06-09 17:57:55 +03:00
MaXFeeD 99b1c35c42 Introducing project dependencies
- Autoresolving circular references, unresolved projects will interrupt whole build (basically never happen).
- Projects rebuilds separately, artifacts should be resolved before actual building.
- Sorting graph by most reliable way, for now building one project will interrupt all future tasks.
2025-06-09 17:57:13 +03:00
MaXFeeD 4c563dc73a Revert "Removed aboba ultimate testing stuff"
This reverts commit 2416433a47.
2025-06-09 17:21:44 +03:00
MaXFeeD 551cf7d44f Moving ProjectGraph to project_manager.py 2025-06-09 14:57:52 +03:00
MaXFeeD 2416433a47 Removed aboba ultimate testing stuff 2025-06-09 14:57:10 +03:00
MaXFeeD c778c4a838 Traversing with sorting for most reliable dependencies, unify cross references, dependency management 2025-06-09 14:53:45 +03:00
MaXFeeD c19f020698 Implemented AbobaConfig 2025-06-05 20:51:46 +03:00
MaXFeeD ce20d5e561 Cross reference resolving, removing unused edges, dependence traversing 2025-06-05 20:51:35 +03:00
MaXFeeD fe1139a07b ProjectGraph/Edge, etc.: obtaining and resolving artifacts
- Iterating over dependencies property in make.json config, `project.requiredDependencies` which is true by default and throws error when resolution fails, dependency `required` property and artifact/local path resolving.
- Hashing in config keys and values, artifact result now optional, iterating through dependencies should give artifacts.
2025-06-04 20:59:36 +03:00
MaXFeeD b54533d562 Artifact structure 2025-06-01 21:02:07 +03:00
MaXFeeD f14c6ae2a5 Added --cli-test, derecurse config searching and hotfix dataclasses stuff 2025-06-01 12:13:40 +03:00
MaXFeeD 66882a57ac Reference template 2025-05-26 20:58:16 +03:00
MaXFeeD d28e2d17bb ProjectManager uses Config.obtain 2025-05-25 20:37:42 +03:00
MaXFeeD c835715585 MakeDataConfig registration by criteria (for now make.json and build.config) 2025-05-25 20:07:05 +03:00
MaXFeeD ec458f67da Restructured WorkspaceComposite and whole tsconfig due to ambiguity 2025-05-25 13:01:36 +03:00
MaXFeeD f23f56cb2a Introducing workspace toolchain config, now toolchain stores data in user directory
- Searching for make.json/build.config without `currentProject`, property now being ignored.
- You can provide project via `--project` property in shell, projects can be reselected on-fly like before via selectProject task.
- MakeDataConfig.current_project reserved for project name, possibly it will be reused to logging in future.
- Reserved feature for toolchain workspace. You will love it.
2025-05-22 20:13:31 +03:00
MaXFeeD daa4dc7cd5 Gradle comparable hotfix (probably semver comparison will be added) 2025-05-22 13:02:33 +03:00
MaXFeeD 27534a8294 Resolving existing gradle distributions, aka built-in wrapper 2025-05-21 20:47:43 +03:00
MaXFeeD 8103d1ec6b Improved locking for both tasks and gradle 2025-05-21 17:57:39 +03:00
MaXFeeD c2b3d6af8b Gradle wrapper basics 2025-05-21 00:17:10 +03:00
MaXFeeD 88ba68fb75 Import no longer required, add to workspace (to be changed later) 2025-05-18 20:56:25 +03:00
MaXFeeD 0f25762ad6 Separated toolchain config from temporary/component directories
- Obtaining get_script_directory, to implement various things like built-ins scripts for fakeso.
- Declarations, classpath, etc. can be overriden completely from toolchain built-in one to replace them in workspace.
2025-05-18 14:23:39 +03:00
MaXFeeD 4f945b5267 Using temporary/config directories as fallback for most operations 2025-05-18 11:49:23 +03:00
MaXFeeD e5fcb2fd10 Make sure circular imports never happen 2025-05-18 10:41:05 +03:00
MaXFeeD f473fc34b0 Implemented get_config/temporary_directory + typo fix 2025-05-18 10:40:26 +03:00
MaXFeeD 51c8c54a7d Implemented get_local_share_directory 2025-05-17 20:46:10 +03:00
MaXFeeD 0a34e91758 Ignoring precompiled scripts 2025-05-17 13:09:07 +03:00
MaXFeeD 026e14f2ea Resource directories, java & native from build.config 2025-05-17 11:00:18 +03:00
MaXFeeD c70ea9ec3f Added libraries to build config and default values for scripts 2025-05-15 00:00:44 +03:00
MaXFeeD 0d4034934c Built-in build.config support (added scripts only) 2025-05-14 20:52:56 +03:00
MaXFeeD 3fceeedd53 Rewritten native to to new build tools (difficult one), with multiconfiguration support 2025-05-14 20:23:11 +03:00
MaXFeeD 36128d0e0c Rewritten java to new build tools, defaults support 2025-05-13 21:08:15 +03:00
MaXFeeD 928932b683 Rewritten build tools (except java and native) to support MakeDataConfig 2025-05-13 20:26:27 +03:00
MaXFeeD a3dfa7050b Moved java, native + so and pack graphics to MakeDataConfig 2025-05-13 13:09:41 +03:00
MaXFeeD 4ae3a46b22 Moved MakeDataConfig with accesors to .language 2025-05-10 20:48:05 +03:00
MaXFeeD b564d54c57 Migrating scripts, resources and assets to MakeConfig 2025-05-10 20:44:13 +03:00
MaXFeeD d51cc104a2 Moved project selection to abstraction, at least for now 2025-05-10 17:00:08 +03:00
MaXFeeD e5dfe104cd Presenting AbstractMakeConfig
- Each config provides its own data, different project type support, etc. in one convinient format.
- MakeModData, MakePackData, MakeScriptData, MakeJavaData, MakeNativeData, MakeSharedObjectData, MakeResourceData, MakeAssetData.
2025-05-10 15:12:54 +03:00
MaXFeeD 4ec40c3b7b Added tsconfig-only mode, includes got ignored and not overwrites original tsconfig.json
- Using .toolchain.tsconfig.json otherwise in that case, please add it to your gitignore.
- Parsing includes data via configs, should be improved in future.
2025-05-09 20:45:53 +03:00
MaXFeeD 8edecc8c19 Migrating to FileConfig, ToolchainConfig is no longer exists, GLOBALS.is_project_available 2025-05-09 18:34:06 +03:00
MaXFeeD 4028b8b040 Replaced ToolchainConfig.get_paths with expand_paths 2025-05-09 17:42:02 +03:00
MaXFeeD 4cff548641 Using FileConfig instead of ToolchainConfig, unique_folder_name separation 2025-05-09 17:06:03 +03:00
MaXFeeD 8b50098638 Moved adb resolve to .device 2025-05-09 14:36:06 +03:00
MaXFeeD aaa10f10b4 Config.merge_config(*, exclusive_lists)
- Filtering obtained config lists, instead of wholesome get_filtered_list stuff.
2025-05-09 12:19:25 +03:00
MaXFeeD ecc22ac34a Config.obtain which requires type and optionally constructor
- Config.obtain_config based on Config.obtain without implacing, added Config.obtain_list.
- Config.get_value supports callable as fallback.
- Rewritten some of existing accessors to Config.obtain's.
2025-05-09 11:12:08 +03:00
MaXFeeD eeb6b6297b Rewritten things to Config and FileConfig, lists kept for now 2025-05-06 20:52:12 +03:00
MaXFeeD dee5614140 Added FileConfig.get_path_to_config 2025-05-06 19:08:42 +03:00
MaXFeeD 5a86d22a1c Added Config.obtain_config, FileConfig.read_from_file raises error by default if file is non-existing 2025-05-06 19:06:24 +03:00
MaXFeeD 76960205b6 Config.replace_value to directly change passed values types, FileConfig.get(_relative)_path 2025-05-05 20:59:07 +03:00
MaXFeeD df0988101f Rewritten BaseConfig to Config and FileConfig to replace cringe types 2025-04-28 21:01:12 +03:00
MaXFeeD 98cc1bc7ed Rewritten pinging, pushing and native installation progresses to new toolkit
- Replaced whole GCC download with new queue_download_request, universal way to cache and redownload broken stuff.
2025-04-23 20:35:17 +03:00
MaXFeeD 158f51e7b3 Properly rerun application in InteractiveSession if needed 2025-04-23 18:21:25 +03:00
MaXFeeD f4f52ae041 Added choose_hint to select prompts, component installation, better styling, Y/N multiselection 2025-04-23 14:47:21 +03:00