Commit Graph
84 Commits
Author SHA1 Message Date
javier e27d72cdc2 Integrated the TerminalService service as well as the InitGitInFolderTask and RenderFilesTask tasks in the CreatedCommand command in the executable target. 2025-02-08 12:57:35 +01:00
javier 94e6070091 Implemented the RenderFilesTask task in the library target. 2025-02-08 12:55:31 +01:00
javier 5f5f902773 Implemented the InitGitInFolderTask task in the library target. 2025-02-08 12:21:42 +01:00
javier 2698e1e29c Removed the RunProcessTask task from the library target. 2025-02-08 12:20:53 +01:00
javier 07e8012faf Implemented the TerminalService service for the library target 2025-02-08 10:34:30 +01:00
javier 33ae67fc58 Implemented the "createFile(at: with: )" function for the FileService service in the library target. 2025-02-07 21:50:50 +01:00
javier 3dcb110de1 Fixed the names for some of the cases for the Template enumeration in the library target. 2025-02-05 01:22:27 +01:00
javier af73e6d1a2 Removed the "app", "appTests", and "package" cases from the File enumeration in the library target. 2025-02-05 00:16:09 +01:00
javier 91762b18cd Implemented the Template enumeration in the library target. 2025-02-05 00:00:22 +01:00
javier 87dc069917 Defined the Package, App, and AppTests mustache templates in the library target. 2025-02-04 23:49:56 +01:00
javier 7b1cb9ae2a Implemented the Project model in the library target. 2025-02-04 23:24:35 +01:00
javier a515747c21 Implemented the TemplateService service in the library target. 2025-02-04 21:57:47 +01:00
javier 1de9738e6e Defined the "render(_: on: )" function for the TemplateServicing protocol in the library target. 2025-02-04 20:58:14 +01:00
javier 17734dadee Merge branch 'main' into feature/arguments-templating 2025-01-28 01:09:53 +01:00
javierandjavier 9be8fa4a31 Basic project creation (#3)
This PR contains the work done to create a new *Hummingbird* project with very basic configuration from the _colibri_ executable, just like the project you could create with the [Hummingbird template](https://github.com/hummingbird-project/template) project in Github.

Reviewed-on: #3
Co-authored-by: Javier Cicchelli <javier@rock-n-code.com>
Co-committed-by: Javier Cicchelli <javier@rock-n-code.com>
2025-01-28 00:07:24 +00:00
javierandjavier b8c354e614 Root folder creation (#2)
This PR contains the work done to create the root folder of a new project when executing the _colibri_ executable. In addition, some other work has been done:

* added the `ArgumentParser` package dependency to the package;
* implemented the `FileService` service in the _library_ target;
* implemented the `CreateRootFolderTask` task in the _library_ target;
* removed some unnecessary comments and boilerplate code;

Reviewed-on: #2
Co-authored-by: Javier Cicchelli <javier@rock-n-code.com>
Co-committed-by: Javier Cicchelli <javier@rock-n-code.com>
2025-01-27 23:54:50 +00:00
javierandjavier d0d47d280d Package target setup (#1)
This PR contains the work done to setup the *executable*, *library*, and *test* targets for the Swift package. In addition, some boilerplate code has been removed.

Reviewed-on: #1
Co-authored-by: Javier Cicchelli <javier@rock-n-code.com>
Co-committed-by: Javier Cicchelli <javier@rock-n-code.com>
2025-01-27 23:38:34 +00:00
javier bc765705a8 Defined the "render(_: on: )" function for the TemplateServicing protocol in the library target. 2025-01-25 00:27:47 +01:00
javier 8bc446ca68 Added the "resourcePath" property to the Bundleable protocol in the library target. 2025-01-24 23:52:30 +01:00
javier 7dfddb8d4c Added the Swift Mustache package dependency to the Package file, and attached its product to the library target. 2025-01-19 01:27:06 +01:00
javier 36f1b8fe5c Implemented some tests for the RunProcessTaskTests case tests in the tests target. 2025-01-18 23:21:35 +01:00
javier c7a1258273 Integrated the InitGitInFolderTask task into the CreateCommand command in the executable target. 2025-01-18 20:36:05 +01:00
javier 1fcbc38253 Implemented the InitGitInFolderTask task in the library target. 2025-01-18 20:33:26 +01:00
javier 7081f7b755 Implemented the RunProcessTask task in the library target. 2025-01-18 20:05:37 +01:00
javier 245529f88f Implemented the Processable protocol in the library target and conformed the Process object to it. 2025-01-18 20:04:24 +01:00
javier 02fb6b9345 Implemented the "availableData" property for the Pipe+Properties extension in the library target and also, implemented its "append()" function that appends its data concurrently. 2025-01-18 20:03:11 +01:00
javier d3283c912f Renamed the BundleServicing protocol in the library target as Bundleable. 2025-01-18 19:52:40 +01:00
javier c08dbe5602 Added some more cases to the File enumeration in the library target. 2025-01-18 16:04:03 +01:00
javier 0b69973537 Moved the files under the "Resources/Files" folder in the library target to the "Resources/Files/Sources" folder. 2025-01-18 12:41:09 +01:00
javier 3f8651ca52 Implemented the "allCasesWithRoot" static property for the Folder enumeration in the library target. 2025-01-18 12:31:13 +01:00
javier 6fe45db4f1 Implemented the "folder" property for the File enumeration in the library target. 2025-01-18 12:19:29 +01:00
javier 5f958c6f4c Added the "root" case to the Folder enumeration. 2025-01-18 12:14:42 +01:00
javier 29dad1d688 Added the "dockerFile" case to the File enumeration in the library target. 2025-01-18 12:07:57 +01:00
javier f558465b62 Renamed the ResourceFile enumeration in the library target as File and also, implemented its "filePath" and "resourcePath" properties. 2025-01-18 11:51:36 +01:00
javier 720ad687fb Implemented the "path" property for the Folder enumeration in the library target. 2025-01-18 11:40:25 +01:00
javier 504b3be447 Fixed the package resource file in the library target. 2025-01-18 04:46:59 +01:00
javier 4d55fadfb8 Improved the Package file from the project. 2025-01-18 04:45:58 +01:00
javier 026251ad6d Improved the implementation for the CreateFolderTask task in the library target. 2025-01-18 04:25:01 +01:00
javier 9ee7592902 Refactored some test cases in the tests target. 2025-01-18 04:03:07 +01:00
javier 1094bbb6c8 Restructured the folder structure in the library and test targets. 2025-01-18 03:50:18 +01:00
javier 1466bff250 Implemented the CopyFilesTask task in the library module. 2025-01-18 03:06:39 +01:00
javier 647c5bd32a Defined the ResourceFile enumeration in the library target and also, implemented its "fileName" computed property. 2025-01-18 02:03:55 +01:00
javier b8d5bea7ae Implemented the "copyFile(from: to: )" function for the FileService service in the library target. 2025-01-18 01:07:52 +01:00
javier af4958a5e8 Conformed the Bundle representation of the Foundation framework to the BundleServicing protocol in the library target. 2025-01-18 00:19:59 +01:00
javier 5a3654a68f Implemented the BundleServicing protocol in the library target. 2025-01-18 00:18:11 +01:00
javier 6720464026 Renamed the project file assets in the library target. 2025-01-18 00:15:42 +01:00
javier 640683063e Restructured the folder structure of the test target. 2025-01-17 23:23:10 +01:00
javier 04bd2a1160 Restructured the folder structure of the library target. 2025-01-17 23:21:25 +01:00
javier 6955d816ef Restructured the folder structure of the executable target. 2025-01-17 23:19:01 +01:00
javier 94e28a324b Moved the project files from the executable target to the library target. 2025-01-17 23:17:20 +01:00
javier 02299f1cc2 Integrated the CopyFilesTask task into the "run()" function for the CreateCommand command in the executable target. 2025-01-16 01:46:42 +01:00
javier fbb5d2d2a4 Improved upon the implementation of the "callAsFunction(at: )" function for the CreateFoldersTask task in the library target. 2025-01-16 01:45:41 +01:00
javier 72230c5337 Implemented the CopyFilesTask task in the library target. 2025-01-16 01:37:32 +01:00
javier 95698a2824 Added some resource files to the executable target. 2025-01-16 00:36:56 +01:00
javier 7cd1777735 Moved the source files under the "CLI" folder in the executable target. 2025-01-16 00:31:53 +01:00
javier 489cf3d780 Implemented the "copyItem(from: to: )" function for the FileService service in the library target. 2025-01-14 23:52:33 +01:00
javier 26fde119ef Improved the naming of the functions for the FileServicing protocol in the library target. 2025-01-13 23:29:24 +01:00
javier df556f83ab Added the CreateFoldersTasks task into the "run()" function for the CreateCommand command in the app target. 2025-01-13 00:36:56 +01:00
javier d065425c69 Implemented the CreateFoldersTask task in the library target. 2025-01-13 00:35:38 +01:00
javier 2852f4b1bf Improved the FileServiceMock mock in the tests target to support multiple actions. 2025-01-13 00:32:16 +01:00
javier 12151deea0 Implemented the "actions" property for the FileServiceSpy spy in the tests target to support tracking multiple actions. 2025-01-12 23:28:20 +01:00
javier a1ad391baa Implemented the "init(at: )" initialiser, the "pathString" computed property, and the "appendingPath(_: )" function for the URL+Extensions extension in the library target. 2025-01-12 21:29:24 +01:00
javier 3a447b4f71 Renamed the Create file in the executable target as CreateCommand. 2025-01-12 03:15:35 +01:00
javier afa7686407 Moved the Create.Options model to its own file in the executable target. 2025-01-12 03:13:42 +01:00
javier 1f738fe644 Created the CreateProjectTask task in the library target. 2025-01-12 03:11:03 +01:00
javier cbd3789ca7 Implemented the creation of a root folder within the Create command in the executable target. 2025-01-12 03:05:57 +01:00
javier 6bf9c30ad1 Improved the CreatedRootFolderTask task in the library target to throw error in case the function receives an empty name. 2025-01-12 02:16:30 +01:00
javier db1df0ec62 Created the basis of the Create command in the executable target. 2025-01-12 01:42:43 +01:00
javier 15d1e22f1c Defined the minimum platform requirements for the Package file. 2025-01-12 01:33:52 +01:00
javier af1703e6c1 Implemented the CreatedRootFolderTask task in the Library target. 2025-01-11 18:40:09 +01:00
javier 3f98d08a00 Written test cases for the FileServicing conformance using relevant mock and spy in the Tests target. 2025-01-11 11:33:19 +01:00
javier a7be1ec0b0 Implemented the FileServiceMock mock in the Tests target. 2025-01-11 11:28:27 +01:00
javier 4b900818ec Implemented the FileServiceSpy spy in the Tests target. 2025-01-11 11:27:39 +01:00
javier 1d080cce45 Implemented the "createFolder(at: )" function for the FileService service in the module target. 2025-01-11 05:08:06 +01:00
javier 58151a4e5a Implemented the "delete(at: )" function for the FileService service in the module target. 2025-01-11 04:44:02 +01:00
javier 7d0ad3461a Implemented the "exists(at: )" function for the FileService service in the module target. 2025-01-11 04:42:39 +01:00
javier 739fe0c8de Implemented the "init(at: )" initialiser function for the URL+Inits extension in the Library target. 2025-01-11 03:19:59 +01:00
javier 2128c0cde2 Removed boilerplate files from the Library and Tests targets. 2025-01-11 01:35:51 +01:00
javier 6938b358e1 Implemented the "currentFolder" property for the FileService service in the Library target. 2025-01-11 01:28:11 +01:00
javier ecbec1f4c8 Created the library and test targets as well as the executable and library products for the Package file. 2025-01-11 00:32:05 +01:00
javier 3e8e321c73 Created the Colibri command. 2025-01-09 09:56:47 +01:00
javier 98dca62dca Added the ArgumentParser package dependency to the package, and plugged it in into the executable target. 2025-01-09 09:24:55 +01:00
javier a3420423d6 Removed unnecessary comments from the Package file. 2025-01-07 01:41:10 +01:00
javier b2c911d165 Initial Commit 2025-01-07 01:33:46 +01:00