Compare commits
	
		
			No commits in common. "f29bcb7940708e6820d8eb939b642e1b3c8e342b" and "988bf503c78da776bf9a13a6487a370886bb7aa0" have entirely different histories.
		
	
	
		
			f29bcb7940
			...
			988bf503c7
		
	
		
					 19 changed files with 978 additions and 917 deletions
				
			
		|  | @ -1,43 +0,0 @@ | |||
| # Ansible gitignore | ||||
| 
 | ||||
| # Ansible roles downloaded from Galaxy | ||||
| roles/* | ||||
| !roles/requirements.yml | ||||
| 
 | ||||
| # Ansible vault password file | ||||
| .vault_pass | ||||
| 
 | ||||
| # Inventory files with sensitive data | ||||
| inventory/group_vars/*/vault.yml | ||||
| inventory/host_vars/*/vault.yml | ||||
| 
 | ||||
| # Retry files | ||||
| *.retry | ||||
| 
 | ||||
| # Log files | ||||
| *.log | ||||
| 
 | ||||
| # Runtime files | ||||
| *.pid | ||||
| 
 | ||||
| # Python artifacts | ||||
| __pycache__/ | ||||
| *.py[cod] | ||||
| *$py.class | ||||
| *.so | ||||
| .Python | ||||
| env/ | ||||
| build/ | ||||
| develop-eggs/ | ||||
| dist/ | ||||
| downloads/ | ||||
| eggs/ | ||||
| .eggs/ | ||||
| lib/ | ||||
| lib64/ | ||||
| parts/ | ||||
| sdist/ | ||||
| var/ | ||||
| *.egg-info/ | ||||
| .installed.cfg | ||||
| *.egg | ||||
|  | @ -1,76 +0,0 @@ | |||
| # C gitignore | ||||
| 
 | ||||
| # Prerequisites | ||||
| *.d | ||||
| 
 | ||||
| # Object files | ||||
| *.o | ||||
| *.ko | ||||
| *.obj | ||||
| *.elf | ||||
| 
 | ||||
| # Linker output | ||||
| *.ilk | ||||
| *.map | ||||
| *.exp | ||||
| 
 | ||||
| # Precompiled Headers | ||||
| *.gch | ||||
| *.pch | ||||
| 
 | ||||
| # Libraries | ||||
| *.lib | ||||
| *.a | ||||
| *.la | ||||
| *.lo | ||||
| 
 | ||||
| # Shared objects (inc. Windows DLLs) | ||||
| *.dll | ||||
| *.so | ||||
| *.so.* | ||||
| *.dylib | ||||
| 
 | ||||
| # Executables | ||||
| *.exe | ||||
| *.out | ||||
| *.app | ||||
| *.i*86 | ||||
| *.x86_64 | ||||
| *.hex | ||||
| 
 | ||||
| # Debug files | ||||
| *.dSYM/ | ||||
| *.su | ||||
| *.idb | ||||
| *.pdb | ||||
| 
 | ||||
| # Kernel Module Compile Results | ||||
| *.mod* | ||||
| *.cmd | ||||
| .tmp_versions/ | ||||
| modules.order | ||||
| Module.symvers | ||||
| Mkfile.old | ||||
| dkms.conf | ||||
| 
 | ||||
| # CMake build | ||||
| build/ | ||||
| CMakeFiles/ | ||||
| CMakeCache.txt | ||||
| cmake_install.cmake | ||||
| Makefile | ||||
| *.cmake | ||||
| 
 | ||||
| # IDE specific files | ||||
| .vscode/ | ||||
| .idea/ | ||||
| *.swp | ||||
| *.swo | ||||
| *~ | ||||
| 
 | ||||
| # Logs | ||||
| *.log | ||||
| 
 | ||||
| # Test binary | ||||
| test_* | ||||
| !test_*.c | ||||
|  | @ -1,52 +0,0 @@ | |||
| # COBOL gitignore | ||||
| 
 | ||||
| # Objetos compilados | ||||
| *.o | ||||
| *.so | ||||
| *.dll | ||||
| *.exe | ||||
| *.out | ||||
| *.obj | ||||
| 
 | ||||
| # Archivos intermedios | ||||
| *.int | ||||
| *.gnt | ||||
| *.idy | ||||
| *.lst | ||||
| *.i | ||||
| *.x | ||||
| *.d | ||||
| *.lis | ||||
| 
 | ||||
| # Archivos de respaldo | ||||
| *~ | ||||
| *.bak | ||||
| *.back | ||||
| *.backup | ||||
| 
 | ||||
| # Logs y archivos temporales | ||||
| *.log | ||||
| *.tmp | ||||
| temp/ | ||||
| tmp/ | ||||
| 
 | ||||
| # Archivos específicos de IDE | ||||
| .vscode/ | ||||
| .idea/ | ||||
| *.sublime-project | ||||
| *.sublime-workspace | ||||
| 
 | ||||
| # Directorios de compilación  | ||||
| build/ | ||||
| bin/ | ||||
| obj/ | ||||
| 
 | ||||
| # Archivos de configuración local | ||||
| *.env | ||||
| .env | ||||
| local_settings.txt | ||||
| 
 | ||||
| # Archivos de datos de prueba | ||||
| *.dat | ||||
| *.idx | ||||
| *.testdata | ||||
|  | @ -1,96 +0,0 @@ | |||
| # C++ gitignore | ||||
| 
 | ||||
| # Prerequisites | ||||
| *.d | ||||
| 
 | ||||
| # Compiled Object files | ||||
| *.slo | ||||
| *.lo | ||||
| *.o | ||||
| *.obj | ||||
| 
 | ||||
| # Precompiled Headers | ||||
| *.gch | ||||
| *.pch | ||||
| 
 | ||||
| # Compiled Dynamic libraries | ||||
| *.so | ||||
| *.dylib | ||||
| *.dll | ||||
| 
 | ||||
| # Fortran module files | ||||
| *.mod | ||||
| *.smod | ||||
| 
 | ||||
| # Compiled Static libraries | ||||
| *.lai | ||||
| *.la | ||||
| *.a | ||||
| *.lib | ||||
| 
 | ||||
| # Executables | ||||
| *.exe | ||||
| *.out | ||||
| *.app | ||||
| 
 | ||||
| # Build directories | ||||
| build/ | ||||
| debug/ | ||||
| release/ | ||||
| bin/ | ||||
| obj/ | ||||
| 
 | ||||
| # CMake artifacts | ||||
| CMakeFiles/ | ||||
| CMakeCache.txt | ||||
| cmake_install.cmake | ||||
| compile_commands.json | ||||
| CTestTestfile.cmake | ||||
| Makefile | ||||
| *.cmake | ||||
| 
 | ||||
| # IDE specific files | ||||
| .vscode/ | ||||
| .idea/ | ||||
| *.sublime-workspace | ||||
| *.sublime-project | ||||
| *.swp | ||||
| *.swo | ||||
| *~ | ||||
| .vs/ | ||||
| *.ncb | ||||
| *.suo | ||||
| *.sdf | ||||
| *.opensdf | ||||
| *.user | ||||
| *.filters | ||||
| ipch/ | ||||
| 
 | ||||
| # Editor specific | ||||
| *.bak | ||||
| *.tmp | ||||
| 
 | ||||
| # Qt | ||||
| moc_*.cpp | ||||
| qrc_*.cpp | ||||
| ui_*.h | ||||
| object_script.* | ||||
| *.pro.user | ||||
| *.pro.user.* | ||||
| *.qbs.user | ||||
| *.qbs.user.* | ||||
| *.moc | ||||
| 
 | ||||
| # Doxygen | ||||
| html/ | ||||
| latex/ | ||||
| docs/ | ||||
| 
 | ||||
| # Logs | ||||
| *.log | ||||
| 
 | ||||
| # Dependencies | ||||
| conan.lock | ||||
| conanbuildinfo.* | ||||
| conaninfo.* | ||||
| graph_info.json | ||||
|  | @ -1,114 +0,0 @@ | |||
| # C# gitignore | ||||
| 
 | ||||
| # User-specific files | ||||
| *.suo | ||||
| *.user | ||||
| *.userosscache | ||||
| *.sln.docstates | ||||
| *.userprefs | ||||
| 
 | ||||
| # Build results | ||||
| [Dd]ebug/ | ||||
| [Dd]ebugPublic/ | ||||
| [Rr]elease/ | ||||
| [Rr]eleases/ | ||||
| x64/ | ||||
| x86/ | ||||
| bld/ | ||||
| [Bb]in/ | ||||
| [Oo]bj/ | ||||
| [Ll]og/ | ||||
| 
 | ||||
| # Visual Studio files | ||||
| .vs/ | ||||
| *_i.c | ||||
| *_p.c | ||||
| *_i.h | ||||
| *.ilk | ||||
| *.meta | ||||
| *.obj | ||||
| *.pch | ||||
| *.pdb | ||||
| *.pgc | ||||
| *.pgd | ||||
| *.rsp | ||||
| *.sbr | ||||
| *.tlb | ||||
| *.tli | ||||
| *.tlh | ||||
| *.tmp | ||||
| *.tmp_proj | ||||
| *.log | ||||
| *.vspscc | ||||
| *.vssscc | ||||
| .builds | ||||
| *.pidb | ||||
| *.svclog | ||||
| *.scc | ||||
| *.psess | ||||
| *.vsp | ||||
| *.vspx | ||||
| *.sap | ||||
| 
 | ||||
| # NuGet Packages | ||||
| *.nupkg | ||||
| # The packages folder can be ignored because of Package Restore | ||||
| **/packages/* | ||||
| # except build/, which is used as an MSBuild target. | ||||
| !**/packages/build/ | ||||
| # NuGet v3's project.json files produces more ignorable files | ||||
| *.nuget.props | ||||
| *.nuget.targets | ||||
| 
 | ||||
| # MSTest test Results | ||||
| [Tt]est[Rr]esult*/ | ||||
| [Bb]uild[Ll]og.* | ||||
| 
 | ||||
| # NUNIT | ||||
| *.VisualState.xml | ||||
| TestResult.xml | ||||
| 
 | ||||
| # Build Results of an ATL Project | ||||
| [Dd]ebugPS/ | ||||
| [Rr]eleasePS/ | ||||
| dlldata.c | ||||
| 
 | ||||
| # .NET Core | ||||
| project.lock.json | ||||
| project.fragment.lock.json | ||||
| artifacts/ | ||||
| **/Properties/launchSettings.json | ||||
| 
 | ||||
| # Visual Studio code coverage results | ||||
| *.coverage | ||||
| *.coveragexml | ||||
| 
 | ||||
| # ReSharper | ||||
| _ReSharper*/ | ||||
| *.[Rr]e[Ss]harper | ||||
| *.DotSettings.user | ||||
| 
 | ||||
| # JustCode | ||||
| .JustCode | ||||
| 
 | ||||
| # TeamCity | ||||
| _TeamCity* | ||||
| 
 | ||||
| # DotCover | ||||
| *.dotCover | ||||
| 
 | ||||
| # NCrunch | ||||
| _NCrunch_* | ||||
| .*crunch*.local.xml | ||||
| nCrunchTemp_* | ||||
| 
 | ||||
| # Logs | ||||
| *.log | ||||
| *.logs | ||||
| 
 | ||||
| # Rider | ||||
| .idea/ | ||||
| *.sln.iml | ||||
| 
 | ||||
| # User-specific files | ||||
| *.rsuser | ||||
|  | @ -1,77 +0,0 @@ | |||
| # Node.js gitignore | ||||
| 
 | ||||
| # Dependencias | ||||
| node_modules/ | ||||
| jspm_packages/ | ||||
| 
 | ||||
| # Logs | ||||
| logs | ||||
| *.log | ||||
| npm-debug.log* | ||||
| yarn-debug.log* | ||||
| yarn-error.log* | ||||
| lerna-debug.log* | ||||
| .pnpm-debug.log* | ||||
| 
 | ||||
| # Archivos de diagnóstico | ||||
| report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json | ||||
| 
 | ||||
| # Datos en tiempo de ejecución | ||||
| pids | ||||
| *.pid | ||||
| *.seed | ||||
| *.pid.lock | ||||
| 
 | ||||
| # Directorio para bibliotecas instrumentadas generadas por jscoverage/JSCover | ||||
| lib-cov | ||||
| 
 | ||||
| # Directorio de cobertura utilizado por herramientas como istanbul | ||||
| coverage | ||||
| *.lcov | ||||
| 
 | ||||
| # nyc test coverage | ||||
| .nyc_output | ||||
| 
 | ||||
| # Almacenamiento intermedio de TypeScript | ||||
| *.tsbuildinfo | ||||
| 
 | ||||
| # Directorios opcionales de npm | ||||
| .npm | ||||
| .node_repl_history | ||||
| 
 | ||||
| # Salida de 'npm pack' | ||||
| *.tgz | ||||
| 
 | ||||
| # dotenv environment variable files | ||||
| .env | ||||
| .env.development.local | ||||
| .env.test.local | ||||
| .env.production.local | ||||
| .env.local | ||||
| 
 | ||||
| # Cache y build | ||||
| .cache/ | ||||
| dist/ | ||||
| build/ | ||||
| .next/ | ||||
| out/ | ||||
| .nuxt/ | ||||
| .output/ | ||||
| .vuepress/dist | ||||
| 
 | ||||
| # Directorios específicos del sistema | ||||
| .DS_Store | ||||
| Thumbs.db | ||||
| 
 | ||||
| # yarn v2 | ||||
| .yarn/cache | ||||
| .yarn/unplugged | ||||
| .yarn/build-state.yml | ||||
| .yarn/install-state.gz | ||||
| .pnp.* | ||||
| 
 | ||||
| # Archivos de bloqueo | ||||
| package-lock.json | ||||
| yarn.lock | ||||
| # Mantener en el repositorio | ||||
| !.yarn.lock | ||||
|  | @ -1,63 +0,0 @@ | |||
| # Odoo gitignore | ||||
| 
 | ||||
| # Data directory - No hacer seguimiento de la carpeta data y su contenido | ||||
| data/ | ||||
| /data/ | ||||
| 
 | ||||
| # Bytecode | ||||
| *.py[cod] | ||||
| __pycache__/ | ||||
| 
 | ||||
| # Archivos generados por Odoo | ||||
| *.pot | ||||
| *.pyc | ||||
| *.pyo | ||||
| *.mo | ||||
| *.egg-info | ||||
| *.egg | ||||
| 
 | ||||
| # Directorios generados por Odoo | ||||
| .eggs/ | ||||
| eggs/ | ||||
| develop-eggs/ | ||||
| node_modules/ | ||||
| /venv/ | ||||
| /.venv/ | ||||
| 
 | ||||
| # Logs y bases de datos de prueba | ||||
| filestore/ | ||||
| logs/ | ||||
| *.log | ||||
| *.sql | ||||
| *.sqlite | ||||
| *.rdb | ||||
| 
 | ||||
| # IDE y configuración de entorno | ||||
| .idea/ | ||||
| .vscode/ | ||||
| .DS_Store | ||||
| .env | ||||
| .env* | ||||
| !.env.example | ||||
| 
 | ||||
| # Configuración local | ||||
| odoo.conf | ||||
| .odoorc | ||||
| .odoorpc | ||||
| 
 | ||||
| # Archivos temporales | ||||
| *.swp | ||||
| *.tmp | ||||
| *~ | ||||
| *.bak | ||||
| 
 | ||||
| # Archivos de sesión | ||||
| .directory | ||||
| .Trash-* | ||||
| 
 | ||||
| # Archivos de virtualenv | ||||
| bin/ | ||||
| include/ | ||||
| lib/ | ||||
| share/ | ||||
| pip-selfcheck.json | ||||
							
								
								
									
										1
									
								
								bin/config/odoo.repo.1
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								bin/config/odoo.repo.1
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1 @@ | |||
| git@git.rosero.one:mrosero/devs_odoo.git | ||||
							
								
								
									
										1
									
								
								bin/config/odoo.repo.2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								bin/config/odoo.repo.2
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1 @@ | |||
| https://git.rosero.one/mrosero/devs_odoo.git | ||||
|  | @ -1,94 +0,0 @@ | |||
| # Archivo .gitignore genérico para diversos proyectos | ||||
| 
 | ||||
| # Archivos temporales | ||||
| *.tmp | ||||
| *.temp | ||||
| *.swp | ||||
| *.swo | ||||
| *~ | ||||
| ._* | ||||
| *# | ||||
| 
 | ||||
| # Archivos de log | ||||
| *.log | ||||
| log/ | ||||
| logs/ | ||||
| 
 | ||||
| # Archivos de entorno | ||||
| .env | ||||
| .env.* | ||||
| !.env.example | ||||
| 
 | ||||
| # Archivos de caché | ||||
| .cache/ | ||||
| cache/ | ||||
| .cached/ | ||||
| .sass-cache/ | ||||
| .eslintcache | ||||
| .npm | ||||
| .yarn/cache | ||||
| 
 | ||||
| # Dependencias | ||||
| node_modules/ | ||||
| vendor/ | ||||
| bower_components/ | ||||
| jspm_packages/ | ||||
| .pnp/ | ||||
| .pnp.js | ||||
| 
 | ||||
| # Archivos de construcción | ||||
| dist/ | ||||
| build/ | ||||
| out/ | ||||
| output/ | ||||
| target/ | ||||
| bin/ | ||||
| obj/ | ||||
| 
 | ||||
| # Archivos de IDE | ||||
| .idea/ | ||||
| .vscode/ | ||||
| *.sublime-project | ||||
| *.sublime-workspace | ||||
| .project | ||||
| .settings/ | ||||
| .classpath | ||||
| .DS_Store | ||||
| .directory | ||||
| Thumbs.db | ||||
| .vs/ | ||||
| 
 | ||||
| # Archivos de cobertura y testing | ||||
| coverage/ | ||||
| .coverage | ||||
| htmlcov/ | ||||
| test-results/ | ||||
| .pytest_cache/ | ||||
| .nyc_output/ | ||||
| .phpunit.result.cache | ||||
| junit.xml | ||||
| *.lcov | ||||
| 
 | ||||
| # Documentación generada | ||||
| docs/_build/ | ||||
| docs/generated/ | ||||
| api-docs/ | ||||
| jsdoc/ | ||||
| apidoc/ | ||||
| 
 | ||||
| # Archivos de configuración local y datos | ||||
| *.sqlite | ||||
| *.sqlite3 | ||||
| *.db | ||||
| *.sql | ||||
| *.dat | ||||
| *.bak | ||||
| config/local.json | ||||
| config/local.yaml | ||||
| config/local.yml | ||||
| local.conf | ||||
| 
 | ||||
| # Sistema específico | ||||
| .DS_Store | ||||
| Thumbs.db | ||||
| desktop.ini | ||||
|  | @ -1,85 +0,0 @@ | |||
| # PHP gitignore | ||||
| 
 | ||||
| # Composer | ||||
| /vendor/ | ||||
| composer.phar | ||||
| /composer.lock | ||||
| 
 | ||||
| # Archivos de configuración sensibles | ||||
| .env | ||||
| .env.backup | ||||
| .phpunit.result.cache | ||||
| phpunit.xml | ||||
| 
 | ||||
| # Archivos de caché | ||||
| *.cache | ||||
| 
 | ||||
| # Archivos de logs | ||||
| *.log | ||||
| logs/ | ||||
| error_log | ||||
| access_log | ||||
| 
 | ||||
| # Archivos y directorios específicos de frameworks | ||||
| /bootstrap/cache/ | ||||
| /storage/ | ||||
| /public/storage | ||||
| /public/hot | ||||
| 
 | ||||
| # Laravel Mix | ||||
| /node_modules/ | ||||
| /public/css/ | ||||
| /public/js/ | ||||
| /public/mix-manifest.json | ||||
| 
 | ||||
| # Symfony | ||||
| /bin/* | ||||
| /var/ | ||||
| /vendor/ | ||||
| /.env.local | ||||
| /.env.local.php | ||||
| /.env.*.local | ||||
| /config/secrets/prod/prod.decrypt.private.php | ||||
| /public/bundles/ | ||||
| 
 | ||||
| # PHPUnit | ||||
| /.phpunit.cache | ||||
| .phpunit.result.cache | ||||
| /phpunit.xml | ||||
| 
 | ||||
| # Directorios específicos del sistema | ||||
| .DS_Store | ||||
| Thumbs.db | ||||
| 
 | ||||
| # IDE y editores | ||||
| /.idea/ | ||||
| /.vscode/ | ||||
| /.vagrant/ | ||||
| .project | ||||
| .settings/ | ||||
| *.swp | ||||
| *.swo | ||||
| *~ | ||||
| .vs/ | ||||
| *.sublime-project | ||||
| *.sublime-workspace | ||||
| *.code-workspace | ||||
| 
 | ||||
| # Archivos específicos de WordPress | ||||
| /wp-config.php | ||||
| /wp-content/uploads/ | ||||
| /wp-content/cache/ | ||||
| /wp-content/backup-db/ | ||||
| /wp-content/upgrade/ | ||||
| /wp-content/updraft/ | ||||
| /wp-content/advanced-cache.php | ||||
| /wp-content/wp-cache-config.php | ||||
| /wp-content/debug.log | ||||
| 
 | ||||
| # Archivos de sistema | ||||
| *.com | ||||
| *.class | ||||
| *.dll | ||||
| *.exe | ||||
| *.o | ||||
| *.so | ||||
|  | @ -1,83 +0,0 @@ | |||
| # Python gitignore | ||||
| 
 | ||||
| # Bytecode | ||||
| __pycache__/ | ||||
| *.py[cod] | ||||
| *$py.class | ||||
| 
 | ||||
| # Distribución y empaquetado | ||||
| .Python | ||||
| build/ | ||||
| develop-eggs/ | ||||
| dist/ | ||||
| downloads/ | ||||
| eggs/ | ||||
| .eggs/ | ||||
| lib/ | ||||
| lib64/ | ||||
| parts/ | ||||
| sdist/ | ||||
| var/ | ||||
| wheels/ | ||||
| share/python-wheels/ | ||||
| *.egg-info/ | ||||
| .installed.cfg | ||||
| *.egg | ||||
| MANIFEST | ||||
| 
 | ||||
| # Unit test / coverage reports | ||||
| htmlcov/ | ||||
| .tox/ | ||||
| .nox/ | ||||
| .coverage | ||||
| .coverage.* | ||||
| .cache | ||||
| nosetests.xml | ||||
| coverage.xml | ||||
| *.cover | ||||
| *.py,cover | ||||
| .hypothesis/ | ||||
| .pytest_cache/ | ||||
| cover/ | ||||
| 
 | ||||
| # Documentación | ||||
| docs/_build/ | ||||
| docs/api/ | ||||
| docs/generated/ | ||||
| 
 | ||||
| # Ambientes virtuales | ||||
| .env | ||||
| .venv | ||||
| env/ | ||||
| venv/ | ||||
| ENV/ | ||||
| env.bak/ | ||||
| venv.bak/ | ||||
| 
 | ||||
| # Archivos de configuración y datos locales | ||||
| .spyderproject | ||||
| .spyproject | ||||
| .ropeproject | ||||
| local_settings.py | ||||
| db.sqlite3 | ||||
| db.sqlite3-journal | ||||
| instance/ | ||||
| .webassets-cache | ||||
| .ipynb_checkpoints | ||||
| profile_default/ | ||||
| ipython_config.py | ||||
| 
 | ||||
| # Mypy | ||||
| .mypy_cache/ | ||||
| .dmypy.json | ||||
| dmypy.json | ||||
| 
 | ||||
| # Entornos IDE | ||||
| .idea/ | ||||
| .vscode/ | ||||
| *.swp | ||||
| *.swo | ||||
| *~ | ||||
| 
 | ||||
| # Logs | ||||
| *.log | ||||
|  | @ -1,11 +0,0 @@ | |||
| #!/usr/bin/env python3 | ||||
| # -*- coding: utf-8 -*- | ||||
| """ | ||||
| Programa:[program filename]  | ||||
| Descripción: [short program description] | ||||
| Autor: [git user fullname <git user email>]  | ||||
| Creación: [Created Date] | ||||
| Actualización: [updated] | ||||
| Versión: [from version file] | ||||
| Licencia:  AGPL | ||||
| """ | ||||
|  | @ -1 +0,0 @@ | |||
| 0.4 | ||||
|  | @ -1,61 +0,0 @@ | |||
| # Rust gitignore | ||||
| 
 | ||||
| # Generated by Cargo | ||||
| /target/ | ||||
| Cargo.lock | ||||
| 
 | ||||
| # Remove Cargo.lock from gitignore if creating an executable, leave it for libraries | ||||
| # More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html | ||||
| 
 | ||||
| # These are backup files generated by rustfmt | ||||
| **/*.rs.bk | ||||
| 
 | ||||
| # MSVC Windows builds of rustc generate these, which store debugging information | ||||
| *.pdb | ||||
| 
 | ||||
| # IDE specific files | ||||
| .idea/ | ||||
| .vscode/ | ||||
| *.swp | ||||
| *.swo | ||||
| 
 | ||||
| # Generated documentation | ||||
| /doc/ | ||||
| /target/doc/ | ||||
| 
 | ||||
| # Coverage reports | ||||
| coverage/ | ||||
| *.profraw | ||||
| 
 | ||||
| # Logs | ||||
| *.log | ||||
| 
 | ||||
| # Environment variables | ||||
| .env | ||||
| .env.* | ||||
| !.env.example | ||||
| 
 | ||||
| # Compiled files | ||||
| *.rlib | ||||
| *.rmeta | ||||
| *.a | ||||
| *.so | ||||
| *.dylib | ||||
| *.dll | ||||
| 
 | ||||
| # Debug symbols | ||||
| *.dSYM/ | ||||
| 
 | ||||
| # Test binaries | ||||
| tests/test_*/ | ||||
| 
 | ||||
| # Optional: remove all test binaries in debug folder | ||||
| target/debug/deps/* | ||||
| !target/debug/deps/*.d | ||||
| 
 | ||||
| # Profiling data | ||||
| *.prof | ||||
| 
 | ||||
| # OS specific | ||||
| .DS_Store | ||||
| Thumbs.db | ||||
|  | @ -1,56 +0,0 @@ | |||
| # ESP32/Arduino gitignore | ||||
| 
 | ||||
| # Platformio | ||||
| .pio | ||||
| .pioenvs | ||||
| .piolibdeps | ||||
| .clang_complete | ||||
| .gcc-flags.json | ||||
| .vscode/.browse.c_cpp.db* | ||||
| .vscode/c_cpp_properties.json | ||||
| .vscode/launch.json | ||||
| .vscode/ipch | ||||
| 
 | ||||
| # Archivos Arduino específicos | ||||
| .build/ | ||||
| /build/ | ||||
| .arduino15/ | ||||
| ArduinoOutput/ | ||||
| 
 | ||||
| # IDE específicos | ||||
| .vscode/ | ||||
| .idea/ | ||||
| *.iml | ||||
| *.iws | ||||
| *.ipr | ||||
| .DS_Store | ||||
| .directory | ||||
| 
 | ||||
| # Archivos binarios y de compilación | ||||
| *.bin | ||||
| *.elf | ||||
| *.hex | ||||
| *.map | ||||
| *.d | ||||
| *.o | ||||
| *.a | ||||
| *.mk | ||||
| *.gch | ||||
| 
 | ||||
| # Archivos de configuración privados | ||||
| **/wifi_credentials.h | ||||
| **/credentials.h | ||||
| secrets.h | ||||
| wifi_config.h | ||||
| 
 | ||||
| # Logs | ||||
| *.log | ||||
| debug.txt | ||||
| serial.txt | ||||
| 
 | ||||
| # Archivos temporales | ||||
| *~ | ||||
| ~* | ||||
| ._* | ||||
| *.bak | ||||
| *.swp | ||||
							
								
								
									
										169
									
								
								bin/odoo_set.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										169
									
								
								bin/odoo_set.sh
									
									
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,169 @@ | |||
| #\!/bin/bash | ||||
| # | ||||
| # odoo_set.sh | ||||
| # Modified: 2025/03/12 15:00:00 | ||||
| # Derechos de Autor (C) [2025] [Mauro Rosero P. <mauro@rosero.one> (mauro.rosero@gmail.com)] | ||||
| # | ||||
| # Este programa es software libre: usted puede redistribuirlo y/o modificarlo | ||||
| # bajo los términos de la Licencia Pública Affero General de GNU tal como | ||||
| # lo publica la Free Software Foundation, ya sea la versión 3 de la licencia, | ||||
| # o (a su elección) cualquier versión posterior. | ||||
| # | ||||
| # Este programa se distribuye con la esperanza de que sea útil, | ||||
| # pero SIN NINGUNA GARANTÍA; sin siquiera la garantía implícita de | ||||
| # COMERCIABILIDAD o IDONEIDAD PARA UN PROPÓSITO PARTICULAR. Consulte la | ||||
| # Licencia Pública Affero General de GNU para obtener más detalles. | ||||
| # | ||||
| # Debería haber recibido una copia de la Licencia Pública Affero General | ||||
| # junto con este programa. Si no la recibió, consulte <https://www.gnu.org/licenses/>. | ||||
| 
 | ||||
| # Script para crear proyectos Odoo | ||||
| # Uso: | ||||
| #   ./odoo_set.sh | ||||
| 
 | ||||
| DEVSPATH=devs | ||||
| BIN_HOME=$HOME/$DEVSPATH | ||||
| BIN_MESG=bin/msg | ||||
| BIN_LIBS=bin/lib | ||||
| BIN_CFGS=bin/config | ||||
| VERSION=1.0.0 | ||||
| 
 | ||||
| # CHECK SHELL LANGUAGE | ||||
| BIN_LANG=${LANG:0:2} | ||||
| 
 | ||||
| # LOAD BASE BASH LIBRARY | ||||
| source $BIN_HOME/$BIN_LIBS/base.lib | ||||
| 
 | ||||
| # LOAD CONSOLE BASH LIBRARY | ||||
| source $BIN_HOME/$BIN_LIBS/console.lib | ||||
| 
 | ||||
| # LOAD ODOO BASH LIBRARY | ||||
| source $BIN_HOME/$BIN_LIBS/odoo.lib | ||||
| 
 | ||||
| # Load head messages | ||||
| load_messages $BIN_HOME $BIN_MESG $BIN_LANG "head" | ||||
| 
 | ||||
| # Load odoo messages | ||||
| load_messages $BIN_HOME $BIN_MESG $BIN_LANG "odoo" | ||||
| 
 | ||||
| ########### MAIN PROGRAM ########### | ||||
| 
 | ||||
| # Set program title | ||||
| title="$head_000 $odmsg_000" | ||||
| apps_title="${odmsg_102}" | ||||
| 
 | ||||
| # Check if dialog is not installed, exited\! | ||||
| command_installed "dialog" | ||||
| if [ $? -ne 0 ] | ||||
| then | ||||
|   display_devstools_header "${odmsg_000}" | ||||
|   echo "${head_001}" | ||||
|   exit 200 | ||||
| fi | ||||
| 
 | ||||
| # Check if os is valid\! | ||||
| get_osname | ||||
| if [ "${os_name}" == "${head_unknow}" ] | ||||
| then | ||||
|   dialog_error_box "${head_error}" "${head_os_error}" | ||||
|   exit 3 | ||||
| fi | ||||
| 
 | ||||
| # Obtener el nombre de carpeta de proyectos desde projects.dat | ||||
| if [ -f "$BIN_HOME/$BIN_CFGS/projects.dat" ]; then | ||||
|   PROJECTS_FOLDER=$(cat "$BIN_HOME/$BIN_CFGS/projects.dat" | head -n 1) | ||||
| else | ||||
|   dialog_error_box "${head_error}" "${odmsg_112}" | ||||
|   exit 4 | ||||
| fi | ||||
| 
 | ||||
| # Solicitar nombre del proyecto Odoo | ||||
| clear | ||||
| dialog_input_box "${odmsg_105}" "${odmsg_106}" "" | ||||
| 
 | ||||
| if [ $? -ne 0 ]; then | ||||
|   dialog_error_box "${head_error}" "${head_op_error}" | ||||
|   exit 1 | ||||
| fi | ||||
| 
 | ||||
| # Validar que el nombre no esté vacío | ||||
| if [ -z "$value" ]; then | ||||
|   dialog_error_box "${head_error}" "${odmsg_107}" | ||||
|   exit 2 | ||||
| fi | ||||
| 
 | ||||
| PROJECT_NAME="$value" | ||||
| 
 | ||||
| # Solicitar descripción del proyecto Odoo | ||||
| clear | ||||
| dialog_input_box "${odmsg_117}" "" "" | ||||
| 
 | ||||
| if [ $? -ne 0 ]; then | ||||
|   dialog_error_box "${head_error}" "${head_op_error}" | ||||
|   exit 1 | ||||
| fi | ||||
| 
 | ||||
| PROJECT_DESCRIPTION="$value" | ||||
| # Si no se proporciona descripción, usar un texto predeterminado | ||||
| if [ -z "$PROJECT_DESCRIPTION" ]; then | ||||
|   PROJECT_DESCRIPTION="Este es un proyecto Odoo para gestionar procesos de negocio." | ||||
| fi | ||||
| 
 | ||||
| # Inicializar la variable result | ||||
| result=0 | ||||
| TEMP_FILE="/tmp/odoo_set_result.$$" | ||||
| 
 | ||||
| # Mostrar progreso de creación | ||||
| ( | ||||
|   echo 0; sleep 1 | ||||
|   echo 20; echo "# ${odmsg_111}" | ||||
|    | ||||
|   # Crear el proyecto Odoo | ||||
|   odoo_create_project "$PROJECT_NAME" "$PROJECTS_FOLDER" "$PROJECT_DESCRIPTION" | ||||
|   result=$? | ||||
|    | ||||
|   # Guardar el resultado en un archivo temporal para recuperarlo después | ||||
|   echo $result > "$TEMP_FILE" | ||||
|    | ||||
|   echo 80;  | ||||
|   # Mensaje basado en el resultado | ||||
|   if [ $result -eq 0 ]; then | ||||
|     echo "# ${odmsg_115}" | ||||
|   elif [ $result -eq 1 ]; then | ||||
|     echo "# ${odmsg_110}" | ||||
|   else | ||||
|     echo "# ${odmsg_109}" | ||||
|   fi | ||||
|   sleep 1 | ||||
|    | ||||
|   # Finalizar | ||||
|   echo 100 | ||||
|   sleep 1 | ||||
| ) | dialog --backtitle "${title}" --title "${apps_title}" --gauge "" 10 70 0 | ||||
| 
 | ||||
| # Recuperar el resultado | ||||
| result=0 # Valor predeterminado en caso de error | ||||
| if [ -f "$TEMP_FILE" ]; then | ||||
|   result=$(cat "$TEMP_FILE") | ||||
|   rm -f "$TEMP_FILE" | ||||
| fi | ||||
| 
 | ||||
| case $result in | ||||
|   0) | ||||
|     # Mostrar mensaje de éxito con caja de diálogo ampliada para mejor visibilidad | ||||
|     # Bypassing dialog_error_box para tener más control sobre el tamaño | ||||
|     title_text="${head_info} - ${apps_title}" | ||||
|     message_text="${odmsg_108} $HOME/$DEVSPATH/$PROJECTS_FOLDER/$PROJECT_NAME\n\n${odmsg_116}" | ||||
|     dialog --backtitle "${title}" --title "${title_text}" --msgbox "\n${message_text}" 12 80 | ||||
|     ;; | ||||
|   1) | ||||
|     dialog_error_box "${head_warning}" "${odmsg_110}" | ||||
|     ;; | ||||
|   2|3) | ||||
|     dialog_error_box "${head_error}" "${odmsg_109}" | ||||
|     ;; | ||||
| esac | ||||
| 
 | ||||
| # End Main Program | ||||
| clear | ||||
| exit 0 | ||||
							
								
								
									
										807
									
								
								bin/project_create.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										807
									
								
								bin/project_create.sh
									
									
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,807 @@ | |||
| #!/bin/bash | ||||
| # | ||||
| # Script: project_create.sh | ||||
| # Description: Crea una carpeta de proyecto con la estructura requerida | ||||
| # Modified: 2025-03-12 20:26:07 | ||||
| # Derechos de Autor (C) [2025] [Mauro Rosero P. <mauro@rosero.one>] | ||||
| # | ||||
| # Este programa es software libre: usted puede redistribuirlo y/o modificarlo | ||||
| # bajo los términos de la Licencia Pública Affero General de GNU tal como | ||||
| # lo publica la Free Software Foundation, ya sea la versión 3 de la licencia, | ||||
| # o (a su elección) cualquier versión posterior. | ||||
| # | ||||
| # Este programa se distribuye con la esperanza de que sea útil, | ||||
| # pero SIN NINGUNA GARANTÍA; sin siquiera la garantía implícita de | ||||
| # COMERCIABILIDAD o IDONEIDAD PARA UN PROPÓSITO PARTICULAR. Consulte la | ||||
| # Licencia Pública Affero General de GNU para obtener más detalles. | ||||
| # | ||||
| # Debería haber recibido una copia de la Licencia Pública Affero General | ||||
| # junto con este programa. Si no la recibió, consulte <https://www.gnu.org/licenses/>. | ||||
| 
 | ||||
| # Directorios base | ||||
| SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" | ||||
| BASE_DIR="$(dirname "$SCRIPT_DIR")" | ||||
| CONFIG_DIR="$SCRIPT_DIR/config" | ||||
| LIB_DIR="$SCRIPT_DIR/lib" | ||||
| MSG_DIR="$SCRIPT_DIR/msg" | ||||
| 
 | ||||
| # Cargar libraries | ||||
| source "$LIB_DIR/base.lib" | ||||
| source "$LIB_DIR/console.lib" | ||||
| source "$MSG_DIR/head.es" | ||||
| 
 | ||||
| # Variables globales | ||||
| title="${head_000} ${head_002}" | ||||
| apps_title="${proj_001}" | ||||
| PROJECT_FOLDER="" | ||||
| PROJECT_NAME="" | ||||
| PROJECT_PATH="" | ||||
| PROJECT_TYPE="" | ||||
| PROJECT_DESCRIPTION="" | ||||
| PROJECT_LICENSE="" | ||||
| PROJECT_LICENSE_TEXT="" | ||||
| VALID_TYPES=("ansible" "odoo" "sp32home" "nodejs" "python" "cobol" "php" "c" "cpp" "csharp" "rust" "otros") | ||||
| 
 | ||||
| # Estructura de datos para licencias: nombre, badge, texto corto | ||||
| declare -A LICENSE_BADGES | ||||
| LICENSE_BADGES["AGPL-3.0"]="https://img.shields.io/badge/License-AGPL--3.0-blue.svg" | ||||
| LICENSE_BADGES["GPL-3.0"]="https://img.shields.io/badge/License-GPL--3.0-blue.svg" | ||||
| LICENSE_BADGES["LGPL-3.0"]="https://img.shields.io/badge/License-LGPL--3.0-blue.svg" | ||||
| LICENSE_BADGES["MIT"]="https://img.shields.io/badge/License-MIT-yellow.svg" | ||||
| LICENSE_BADGES["Apache-2.0"]="https://img.shields.io/badge/License-Apache_2.0-blue.svg" | ||||
| LICENSE_BADGES["BSD-3-Clause"]="https://img.shields.io/badge/License-BSD_3--Clause-blue.svg" | ||||
| LICENSE_BADGES["BSD-2-Clause"]="https://img.shields.io/badge/License-BSD_2--Clause-orange.svg" | ||||
| LICENSE_BADGES["CC-BY-4.0"]="https://img.shields.io/badge/License-CC_BY_4.0-lightgrey.svg" | ||||
| LICENSE_BADGES["CC-BY-SA-4.0"]="https://img.shields.io/badge/License-CC_BY--SA_4.0-lightgrey.svg" | ||||
| LICENSE_BADGES["CC0-1.0"]="https://img.shields.io/badge/License-CC0_1.0-lightgrey.svg" | ||||
| LICENSE_BADGES["EPL-2.0"]="https://img.shields.io/badge/License-EPL_2.0-red.svg" | ||||
| LICENSE_BADGES["MPL-2.0"]="https://img.shields.io/badge/License-MPL_2.0-brightgreen.svg" | ||||
| LICENSE_BADGES["Unlicense"]="https://img.shields.io/badge/license-Unlicense-blue.svg" | ||||
| LICENSE_BADGES["OPL-1.0"]="https://img.shields.io/badge/License-OPL--1.0-orange.svg" | ||||
| LICENSE_BADGES["OEEL-1.0"]="https://img.shields.io/badge/License-OEEL--1.0-red.svg" | ||||
| LICENSE_BADGES["CC-BY-NC-4.0"]="https://img.shields.io/badge/License-CC_BY--NC_4.0-lightgrey.svg" | ||||
| LICENSE_BADGES["CC-BY-NC-SA-4.0"]="https://img.shields.io/badge/License-CC_BY--NC--SA_4.0-lightgrey.svg" | ||||
| LICENSE_BADGES["CC-BY-ND-4.0"]="https://img.shields.io/badge/License-CC_BY--ND_4.0-lightgrey.svg" | ||||
| LICENSE_BADGES["CC-BY-NC-ND-4.0"]="https://img.shields.io/badge/License-CC_BY--NC--ND_4.0-lightgrey.svg" | ||||
| LICENSE_BADGES["Copyright"]="https://img.shields.io/badge/License-Copyright-darkred.svg" | ||||
| LICENSE_BADGES["Proprietary"]="https://img.shields.io/badge/License-Proprietary-darkblue.svg" | ||||
| 
 | ||||
| declare -A LICENSE_TEXTS | ||||
| LICENSE_TEXTS["AGPL-3.0"]="Este proyecto está licenciado bajo la Licencia Pública General Affero de GNU (AGPL-3.0)." | ||||
| LICENSE_TEXTS["GPL-3.0"]="Este proyecto está licenciado bajo la Licencia Pública General de GNU (GPL-3.0)." | ||||
| LICENSE_TEXTS["LGPL-3.0"]="Este proyecto está licenciado bajo la Licencia Pública General Menor de GNU (LGPL-3.0)." | ||||
| LICENSE_TEXTS["MIT"]="Este proyecto está licenciado bajo la Licencia MIT." | ||||
| LICENSE_TEXTS["Apache-2.0"]="Este proyecto está licenciado bajo la Licencia Apache 2.0." | ||||
| LICENSE_TEXTS["BSD-3-Clause"]="Este proyecto está licenciado bajo la Licencia BSD de 3 cláusulas." | ||||
| LICENSE_TEXTS["BSD-2-Clause"]="Este proyecto está licenciado bajo la Licencia BSD de 2 cláusulas." | ||||
| LICENSE_TEXTS["CC-BY-4.0"]="Este proyecto está licenciado bajo Creative Commons Attribution 4.0 International." | ||||
| LICENSE_TEXTS["CC-BY-SA-4.0"]="Este proyecto está licenciado bajo Creative Commons Attribution-ShareAlike 4.0 International." | ||||
| LICENSE_TEXTS["CC0-1.0"]="Este proyecto está dedicado al dominio público bajo Creative Commons Zero v1.0 Universal." | ||||
| LICENSE_TEXTS["EPL-2.0"]="Este proyecto está licenciado bajo la Licencia Pública Eclipse 2.0." | ||||
| LICENSE_TEXTS["MPL-2.0"]="Este proyecto está licenciado bajo la Licencia Pública de Mozilla 2.0." | ||||
| LICENSE_TEXTS["Unlicense"]="Este proyecto está en el dominio público bajo The Unlicense." | ||||
| LICENSE_TEXTS["OPL-1.0"]="Este proyecto está licenciado bajo la Licencia Pública de Odoo (OPL-1.0)." | ||||
| LICENSE_TEXTS["OEEL-1.0"]="Este proyecto está licenciado bajo la Licencia de Empresa de Odoo (OEEL-1.0)." | ||||
| LICENSE_TEXTS["CC-BY-NC-4.0"]="Este proyecto está licenciado bajo Creative Commons Attribution-NonCommercial 4.0 International." | ||||
| LICENSE_TEXTS["CC-BY-NC-SA-4.0"]="Este proyecto está licenciado bajo Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International." | ||||
| LICENSE_TEXTS["CC-BY-ND-4.0"]="Este proyecto está licenciado bajo Creative Commons Attribution-NoDerivatives 4.0 International." | ||||
| LICENSE_TEXTS["CC-BY-NC-ND-4.0"]="Este proyecto está licenciado bajo Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International." | ||||
| LICENSE_TEXTS["Copyright"]="Este proyecto está protegido por derechos de autor (Copyright). Todos los derechos reservados." | ||||
| LICENSE_TEXTS["Proprietary"]="Este proyecto está bajo licencia propietaria. Todos los derechos reservados." | ||||
| 
 | ||||
| # Verifica que dialog esté instalado | ||||
| if ! command -v dialog &> /dev/null; then | ||||
|     echo "${head_001}" | ||||
|     exit 1 | ||||
| fi | ||||
| 
 | ||||
| # Función para obtener la carpeta de proyectos desde projects.dat | ||||
| function get_projects_folder() { | ||||
|     if [ -f "$CONFIG_DIR/projects.dat" ]; then | ||||
|         PROJECTS_DIR_NAME=$(head -n 1 "$CONFIG_DIR/projects.dat") | ||||
|     else | ||||
|         PROJECTS_DIR_NAME="proyectos" | ||||
|         echo "$PROJECTS_DIR_NAME" > "$CONFIG_DIR/projects.dat" | ||||
|     fi | ||||
|      | ||||
|     # La carpeta de proyectos siempre está dentro de devs (BASE_DIR) | ||||
|     PROJECT_FOLDER="$BASE_DIR/$PROJECTS_DIR_NAME" | ||||
|      | ||||
|     # Verificar si la carpeta base de proyectos existe, si no, crearla | ||||
|     if [ ! -d "$PROJECT_FOLDER" ]; then | ||||
|         mkdir -p "$PROJECT_FOLDER" | ||||
|     fi | ||||
| } | ||||
| 
 | ||||
| # Función para solicitar el nombre del proyecto | ||||
| function request_project_name() { | ||||
|     dialog_input_box "${proj_002}" "${proj_003}" "" | ||||
|      | ||||
|     if [ $codex -ne 0 ]; then | ||||
|         echo "${head_canceled}" | ||||
|         exit 1 | ||||
|     fi | ||||
|      | ||||
|     PROJECT_NAME="$value" | ||||
|      | ||||
|     # Validar que el nombre no esté vacío | ||||
|     if [ -z "$PROJECT_NAME" ]; then | ||||
|         dialog_error_box "$head_error" "${proj_004}" | ||||
|         request_project_name | ||||
|         return | ||||
|     fi | ||||
|      | ||||
|     # Validar que el nombre sea válido para una carpeta | ||||
|     if [[ "$PROJECT_NAME" =~ [^a-zA-Z0-9_-] ]]; then | ||||
|         dialog_error_box "$head_error" "${proj_005}" | ||||
|         request_project_name | ||||
|         return | ||||
|     fi | ||||
|      | ||||
|     PROJECT_PATH="$PROJECT_FOLDER/$PROJECT_NAME" | ||||
|      | ||||
|     # Verificar si el proyecto ya existe | ||||
|     if [ -d "$PROJECT_PATH" ]; then | ||||
|         # Crear mensaje personalizado con el nombre del proyecto | ||||
|         proyecto_existe_msg="El proyecto '$PROJECT_NAME' ya existe. ¿Desea seleccionar otro nombre?" | ||||
|         dialog_yesno "$proyecto_existe_msg" | ||||
|          | ||||
|         if [ $? -eq 0 ]; then | ||||
|             request_project_name | ||||
|         else | ||||
|             echo "${proj_007}" | ||||
|             exit 1 | ||||
|         fi | ||||
|     fi | ||||
| } | ||||
| 
 | ||||
| # Función para solicitar el tipo de proyecto | ||||
| function request_project_type() { | ||||
|     # Construir las opciones para el diálogo | ||||
|     OPTIONS="" | ||||
|     for i in "${!VALID_TYPES[@]}"; do | ||||
|         if [ "${VALID_TYPES[$i]}" == "otros" ]; then | ||||
|             # Seleccionar "otros" como opción por defecto | ||||
|             OPTIONS="$OPTIONS ${VALID_TYPES[$i]} ${VALID_TYPES[$i]} on" | ||||
|         else | ||||
|             OPTIONS="$OPTIONS ${VALID_TYPES[$i]} ${VALID_TYPES[$i]} off" | ||||
|         fi | ||||
|     done | ||||
|      | ||||
|     dialog_input_radio "${proj_008}" "${proj_009}" "$OPTIONS" 22 22 70 | ||||
|      | ||||
|     if [ $codex -ne 0 ]; then | ||||
|         echo "${head_canceled}" | ||||
|         exit 1 | ||||
|     fi | ||||
|      | ||||
|     PROJECT_TYPE="$value" | ||||
|      | ||||
|     # Validar que el tipo seleccionado sea válido | ||||
|     VALID_TYPE=0 | ||||
|     for t in "${VALID_TYPES[@]}"; do | ||||
|         if [ "$t" == "$PROJECT_TYPE" ]; then | ||||
|             VALID_TYPE=1 | ||||
|             break | ||||
|         fi | ||||
|     done | ||||
|      | ||||
|     if [ $VALID_TYPE -eq 0 ]; then | ||||
|         dialog_error_box "$head_error" "${proj_010}" | ||||
|         request_project_type | ||||
|     fi | ||||
| } | ||||
| 
 | ||||
| # Función para solicitar la licencia del proyecto | ||||
| function request_project_license() { | ||||
|     # Construir las opciones para el diálogo | ||||
|     OPTIONS="" | ||||
|      | ||||
|     # Obtenemos todas las claves del array asociativo | ||||
|     license_keys=("${!LICENSE_BADGES[@]}") | ||||
|      | ||||
|     # Ordenamos las claves alfabéticamente | ||||
|     IFS=$'\n' sorted_keys=($(sort <<<"${license_keys[*]}")) | ||||
|     unset IFS | ||||
|      | ||||
|     # Filtramos las licencias específicas de Odoo si el proyecto no es de tipo odoo | ||||
|     filtered_keys=() | ||||
|     for license in "${sorted_keys[@]}"; do | ||||
|         # Si es licencia de Odoo (OPL o OEEL) y el proyecto no es de tipo odoo, la omitimos | ||||
|         if [[ "$license" == "OPL-1.0" || "$license" == "OEEL-1.0" ]]; then | ||||
|             if [[ "$PROJECT_TYPE" == "odoo" ]]; then | ||||
|                 filtered_keys+=("$license") | ||||
|             fi | ||||
|         else | ||||
|             filtered_keys+=("$license") | ||||
|         fi | ||||
|     done | ||||
|      | ||||
|     # Establecemos AGPL-3.0 como seleccionada por defecto (es la licencia predeterminada del proyecto) | ||||
|     # Para proyectos Odoo, usar OPL-1.0 como predeterminada | ||||
|     default_license="AGPL-3.0" | ||||
|     if [[ "$PROJECT_TYPE" == "odoo" ]]; then | ||||
|         default_license="OPL-1.0" | ||||
|     fi | ||||
|      | ||||
|     for license in "${filtered_keys[@]}"; do | ||||
|         if [ "$license" == "$default_license" ]; then | ||||
|             OPTIONS="$OPTIONS $license \"$license\" on" | ||||
|         else | ||||
|             OPTIONS="$OPTIONS $license \"$license\" off" | ||||
|         fi | ||||
|     done | ||||
|      | ||||
|     # Reducimos el tamaño del diálogo para que muestre menos opciones a la vez | ||||
|     dialog_input_radio "${proj_014}" "${proj_015}" "$OPTIONS" 22 22 70 | ||||
|      | ||||
|     if [ $codex -ne 0 ]; then | ||||
|         echo "${head_canceled}" | ||||
|         exit 1 | ||||
|     fi | ||||
|      | ||||
|     PROJECT_LICENSE="$value" | ||||
|     PROJECT_LICENSE_TEXT="${LICENSE_TEXTS[$PROJECT_LICENSE]}" | ||||
|      | ||||
|     # Si por alguna razón no se encuentra la licencia, usamos la predeterminada según el tipo de proyecto | ||||
|     if [ -z "$PROJECT_LICENSE_TEXT" ]; then | ||||
|         if [[ "$PROJECT_TYPE" == "odoo" ]]; then | ||||
|             PROJECT_LICENSE="OPL-1.0" | ||||
|         else | ||||
|             PROJECT_LICENSE="AGPL-3.0" | ||||
|         fi | ||||
|         PROJECT_LICENSE_TEXT="${LICENSE_TEXTS[$PROJECT_LICENSE]}" | ||||
|     fi | ||||
| } | ||||
| 
 | ||||
| # Función para solicitar la descripción del proyecto | ||||
| function request_project_description() { | ||||
|     # Aumentar número de filas y columnas para mostrar más líneas en el diálogo | ||||
|     # Parámetros: mensaje, ayuda, valor_defecto, filas, ancho | ||||
|     # La altura predeterminada es CROWS=8, aumentamos a 12 para mostrar las 3 líneas | ||||
|     dialog_input_box "${proj_012}" "${proj_013}" "" 12 80 | ||||
|      | ||||
|     if [ $codex -ne 0 ]; then | ||||
|         echo "${head_canceled}" | ||||
|         exit 1 | ||||
|     fi | ||||
|      | ||||
|     PROJECT_DESCRIPTION="$value" | ||||
|      | ||||
|     # Usar una descripción por defecto si está vacía | ||||
|     if [ -z "$PROJECT_DESCRIPTION" ]; then | ||||
|         PROJECT_DESCRIPTION="Proyecto de tipo $PROJECT_TYPE creado con MRDevs Tools." | ||||
|     fi | ||||
| } | ||||
| 
 | ||||
| # Función para crear la estructura del proyecto | ||||
| function create_project_structure() { | ||||
|     # Crear la carpeta del proyecto | ||||
|     mkdir -p "$PROJECT_PATH" | ||||
|      | ||||
|     # Crear estructura básica común a todos los proyectos | ||||
|     mkdir -p "$PROJECT_PATH/docs" | ||||
|     mkdir -p "$PROJECT_PATH/src" | ||||
|      | ||||
|     # Inicializar repositorio git | ||||
|     cd "$PROJECT_PATH" | ||||
|     git init | ||||
|      | ||||
|     # Crear archivo setup.md básico | ||||
|     cat > "$PROJECT_PATH/docs/setup.md" << EOF | ||||
| # Configuración del Entorno de Desarrollo | ||||
| 
 | ||||
| Este documento describe los pasos necesarios para configurar el entorno de desarrollo para el proyecto $PROJECT_NAME. | ||||
| 
 | ||||
| ## Requisitos Previos | ||||
| 
 | ||||
| - [Requisito 1] | ||||
| - [Requisito 2] | ||||
| - [Requisito 3] | ||||
| 
 | ||||
| ## Instalación | ||||
| 
 | ||||
| 1. Clone el repositorio: | ||||
|    \`\`\`bash | ||||
|    git clone [URL-del-repositorio] | ||||
|    cd $PROJECT_NAME | ||||
|    \`\`\` | ||||
| 
 | ||||
| 2. Configure el entorno según el tipo de proyecto ($PROJECT_TYPE). | ||||
| 
 | ||||
| 3. [Pasos adicionales específicos del proyecto] | ||||
| 
 | ||||
| ## Configuración | ||||
| 
 | ||||
| [Instrucciones de configuración específicas] | ||||
| 
 | ||||
| ## Pruebas | ||||
| 
 | ||||
| [Instrucciones para ejecutar pruebas] | ||||
| 
 | ||||
| ## Solución de Problemas | ||||
| 
 | ||||
| [Problemas comunes y soluciones] | ||||
| 
 | ||||
| --- | ||||
| 
 | ||||
| > Nota: Este es un documento de configuración inicial que debe ser completado con la información específica del proyecto. | ||||
| EOF | ||||
|      | ||||
|     # Obtener fecha actual | ||||
|     CURRENT_DATE=$(date +%Y-%m-%d) | ||||
|      | ||||
|     # Crear archivo README.md mejorado | ||||
|     cat > "$PROJECT_PATH/README.md" << EOF | ||||
| # $PROJECT_NAME | ||||
| 
 | ||||
|  | ||||
|  | ||||
| 
 | ||||
| ## 📋 Descripción | ||||
| 
 | ||||
| $PROJECT_DESCRIPTION | ||||
| 
 | ||||
| ## 🔧 Tecnologías | ||||
| 
 | ||||
| \`\`\` | ||||
| Tipo de Proyecto: $PROJECT_TYPE | ||||
| Fecha de Creación: $CURRENT_DATE | ||||
| \`\`\` | ||||
| 
 | ||||
| ## 📁 Estructura | ||||
| 
 | ||||
| \`\`\` | ||||
| $PROJECT_NAME/ | ||||
| ├── docs/               # Documentación del proyecto | ||||
| ├── src/                # Código fuente | ||||
| EOF | ||||
| 
 | ||||
|     # Añadir estructura específica según el tipo de proyecto | ||||
|     case "$PROJECT_TYPE" in | ||||
|         "ansible") | ||||
|             cat >> "$PROJECT_PATH/README.md" << EOF | ||||
| ├── inventories/        # Inventarios de Ansible | ||||
| ├── roles/              # Roles de Ansible | ||||
| └── playbooks/          # Playbooks de Ansible | ||||
| \`\`\` | ||||
| 
 | ||||
| ## 🚀 Uso | ||||
| 
 | ||||
| 1. Actualice el inventario en \`inventories/\` | ||||
| 2. Configure los roles necesarios en \`roles/\` | ||||
| 3. Ejecute los playbooks mediante \`ansible-playbook playbooks/nombre-playbook.yml\` | ||||
| EOF | ||||
|             ;; | ||||
|         "odoo") | ||||
|             cat >> "$PROJECT_PATH/README.md" << EOF | ||||
| ├── addons/             # Módulos personalizados de Odoo | ||||
| ├── data/               # Archivos de datos | ||||
| ├── scripts/            # Scripts de utilidad | ||||
| └── build/              # Configuración de construcción | ||||
| \`\`\` | ||||
| 
 | ||||
| ## 🚀 Uso | ||||
| 
 | ||||
| 1. Configure el entorno en la carpeta \`build/\` | ||||
| 2. Ejecute \`scripts/start.sh\` para iniciar el entorno Odoo | ||||
| 3. Acceda a la aplicación en http://localhost:8069 | ||||
| EOF | ||||
|             ;; | ||||
|         "sp32home") | ||||
|             cat >> "$PROJECT_PATH/README.md" << EOF | ||||
| ├── hardware/           # Diseños y esquemas de hardware | ||||
| ├── firmware/           # Código firmware ESP32 | ||||
| ├── libraries/          # Bibliotecas personalizadas | ||||
| └── build/              # Archivos de construcción | ||||
| \`\`\` | ||||
| 
 | ||||
| ## 🚀 Uso | ||||
| 
 | ||||
| 1. Revise los esquemas en \`hardware/\` | ||||
| 2. Compile el firmware usando PlatformIO o Arduino IDE | ||||
| 3. Cargue el firmware en su dispositivo ESP32 | ||||
| EOF | ||||
|             ;; | ||||
|         "nodejs") | ||||
|             cat >> "$PROJECT_PATH/README.md" << EOF | ||||
| ├── src/ | ||||
| │   ├── controllers/    # Controladores de la aplicación | ||||
| │   ├── models/         # Modelos de datos | ||||
| │   └── routes/         # Definición de rutas | ||||
| ├── public/             # Archivos estáticos | ||||
| └── tests/              # Pruebas unitarias y de integración | ||||
| \`\`\` | ||||
| 
 | ||||
| ## 🚀 Uso | ||||
| 
 | ||||
| 1. Instale las dependencias: \`npm install\` | ||||
| 2. Configure las variables de entorno en \`.env\` | ||||
| 3. Ejecute la aplicación: \`npm start\` | ||||
| EOF | ||||
|             ;; | ||||
|         "python") | ||||
|             cat >> "$PROJECT_PATH/README.md" << EOF | ||||
| ├── src/ | ||||
| │   └── $PROJECT_NAME/  # Código fuente del paquete | ||||
| └── tests/              # Pruebas unitarias | ||||
| \`\`\` | ||||
| 
 | ||||
| ## 🚀 Uso | ||||
| 
 | ||||
| 1. Cree un entorno virtual: \`python -m venv .venv\` | ||||
| 2. Active el entorno virtual: \`source .venv/bin/activate\` | ||||
| 3. Instale las dependencias: \`pip install -r requirements.txt\` | ||||
| 4. Instale el paquete en modo desarrollo: \`pip install -e .\` | ||||
| EOF | ||||
|             ;; | ||||
|         "php") | ||||
|             cat >> "$PROJECT_PATH/README.md" << EOF | ||||
| ├── src/                # Código fuente PHP | ||||
| ├── public/             # Archivos públicos y punto de entrada | ||||
| ├── assets/             # Recursos estáticos (CSS, JS, imágenes) | ||||
| ├── templates/          # Plantillas | ||||
| └── vendor/             # Dependencias (gestionadas por Composer) | ||||
| \`\`\` | ||||
| 
 | ||||
| ## 🚀 Uso | ||||
| 
 | ||||
| 1. Instale las dependencias: \`composer install\` | ||||
| 2. Configure el servidor web para apuntar a la carpeta \`public/\` | ||||
| 3. Visite la aplicación en su navegador | ||||
| EOF | ||||
|             ;; | ||||
|         "c") | ||||
|             cat >> "$PROJECT_PATH/README.md" << EOF | ||||
| ├── include/            # Archivos de cabecera (.h) | ||||
| ├── src/                # Archivos fuente (.c) | ||||
| ├── lib/                # Bibliotecas  | ||||
| ├── tests/              # Pruebas unitarias | ||||
| └── build/              # Archivos de compilación | ||||
| \`\`\` | ||||
| 
 | ||||
| ## 🚀 Uso | ||||
| 
 | ||||
| 1. Configure el proyecto: \`mkdir build && cd build && cmake ..\` | ||||
| 2. Compile el proyecto: \`make\` | ||||
| 3. Ejecute las pruebas: \`make test\` | ||||
| 4. Ejecute la aplicación: \`./bin/$PROJECT_NAME\` | ||||
| EOF | ||||
|             ;; | ||||
|         "cpp") | ||||
|             cat >> "$PROJECT_PATH/README.md" << EOF | ||||
| ├── include/            # Archivos de cabecera (.hpp) | ||||
| ├── src/                # Archivos fuente (.cpp) | ||||
| ├── lib/                # Bibliotecas  | ||||
| ├── tests/              # Pruebas unitarias | ||||
| └── build/              # Archivos de compilación | ||||
| \`\`\` | ||||
| 
 | ||||
| ## 🚀 Uso | ||||
| 
 | ||||
| 1. Configure el proyecto: \`mkdir build && cd build && cmake ..\` | ||||
| 2. Compile el proyecto: \`make\` | ||||
| 3. Ejecute las pruebas: \`make test\` | ||||
| 4. Ejecute la aplicación: \`./bin/$PROJECT_NAME\` | ||||
| EOF | ||||
|             ;; | ||||
|         "csharp") | ||||
|             cat >> "$PROJECT_PATH/README.md" << EOF | ||||
| ├── src/                # Código fuente C# | ||||
| ├── Tests/              # Pruebas unitarias | ||||
| ├── Models/             # Modelos de datos | ||||
| ├── Controllers/        # Controladores (si es una aplicación web) | ||||
| └── Properties/         # Configuraciones y propiedades | ||||
| \`\`\` | ||||
| 
 | ||||
| ## 🚀 Uso | ||||
| 
 | ||||
| 1. Restaure las dependencias: \`dotnet restore\` | ||||
| 2. Compile el proyecto: \`dotnet build\` | ||||
| 3. Ejecute las pruebas: \`dotnet test\` | ||||
| 4. Ejecute la aplicación: \`dotnet run\` | ||||
| EOF | ||||
|             ;; | ||||
|         "rust") | ||||
|             cat >> "$PROJECT_PATH/README.md" << EOF | ||||
| ├── src/                # Código fuente Rust | ||||
| ├── tests/              # Pruebas | ||||
| ├── examples/           # Ejemplos de uso | ||||
| └── target/             # Directorio de compilación (generado) | ||||
| \`\`\` | ||||
| 
 | ||||
| ## 🚀 Uso | ||||
| 
 | ||||
| 1. Compile el proyecto: \`cargo build\` | ||||
| 2. Ejecute las pruebas: \`cargo test\` | ||||
| 3. Ejecute la aplicación: \`cargo run\` | ||||
| 4. Compile para producción: \`cargo build --release\` | ||||
| EOF | ||||
|             ;; | ||||
|         "cobol") | ||||
|             cat >> "$PROJECT_PATH/README.md" << EOF | ||||
| ├── src/ | ||||
| │   ├── main/           # Programas principales | ||||
| │   └── copy/           # Libros de copybook | ||||
| └── build/              # Archivos de compilación | ||||
| \`\`\` | ||||
| 
 | ||||
| ## 🚀 Uso | ||||
| 
 | ||||
| 1. Configure el entorno COBOL según su implementación (GnuCOBOL, MicroFocus, etc.) | ||||
| 2. Compile los programas usando la configuración en \`build/\` | ||||
| 3. Ejecute los programas compilados | ||||
| EOF | ||||
|             ;; | ||||
|         "otros") | ||||
|             cat >> "$PROJECT_PATH/README.md" << EOF | ||||
| \`\`\` | ||||
| 
 | ||||
| ## 🚀 Uso | ||||
| 
 | ||||
| Consulte la documentación específica en la carpeta \`docs/\` para instrucciones de configuración y uso. | ||||
| EOF | ||||
|             ;; | ||||
|     esac | ||||
| 
 | ||||
|     # Añadir secciones comunes al final | ||||
|     cat >> "$PROJECT_PATH/README.md" << EOF | ||||
| 
 | ||||
| ## 🔍 Prerrequisitos | ||||
| 
 | ||||
| > Por definir según las necesidades específicas del proyecto | ||||
| 
 | ||||
| ## ⚙️ Configuración | ||||
| 
 | ||||
| Para configurar el entorno de desarrollo, siga las instrucciones en [docs/setup.md](docs/setup.md). | ||||
| 
 | ||||
| ## 📄 Licencia | ||||
| 
 | ||||
| $PROJECT_LICENSE_TEXT | ||||
| Ver el archivo [LICENSE](LICENSE) para más detalles. | ||||
| 
 | ||||
| ## 👥 Autores | ||||
| 
 | ||||
| - **$(git config user.name)** - Desarrollador Principal - [$(git config user.email)](mailto:$(git config user.email)) | ||||
| 
 | ||||
| --- | ||||
| 
 | ||||
| Generado con MRDevs Tools © $(date +%Y) | ||||
| EOF | ||||
|      | ||||
|     # Crear estructura específica según el tipo de proyecto | ||||
|     case "$PROJECT_TYPE" in | ||||
|         "ansible") | ||||
|             mkdir -p "$PROJECT_PATH/inventories" | ||||
|             mkdir -p "$PROJECT_PATH/roles" | ||||
|             mkdir -p "$PROJECT_PATH/playbooks" | ||||
|             touch "$PROJECT_PATH/ansible.cfg" | ||||
|             ;; | ||||
|         "odoo") | ||||
|             mkdir -p "$PROJECT_PATH/addons" | ||||
|             mkdir -p "$PROJECT_PATH/data" | ||||
|             mkdir -p "$PROJECT_PATH/scripts" | ||||
|             mkdir -p "$PROJECT_PATH/build" | ||||
|             touch "$PROJECT_PATH/.typset" | ||||
|             ;; | ||||
|         "sp32home") | ||||
|             mkdir -p "$PROJECT_PATH/hardware" | ||||
|             mkdir -p "$PROJECT_PATH/firmware" | ||||
|             mkdir -p "$PROJECT_PATH/libraries" | ||||
|             mkdir -p "$PROJECT_PATH/build" | ||||
|             ;; | ||||
|         "nodejs") | ||||
|             mkdir -p "$PROJECT_PATH/src/controllers" | ||||
|             mkdir -p "$PROJECT_PATH/src/models" | ||||
|             mkdir -p "$PROJECT_PATH/src/routes" | ||||
|             mkdir -p "$PROJECT_PATH/public" | ||||
|             mkdir -p "$PROJECT_PATH/tests" | ||||
|             touch "$PROJECT_PATH/package.json" | ||||
|             ;; | ||||
|         "python") | ||||
|             mkdir -p "$PROJECT_PATH/src/$PROJECT_NAME" | ||||
|             mkdir -p "$PROJECT_PATH/tests" | ||||
|             touch "$PROJECT_PATH/setup.py" | ||||
|             touch "$PROJECT_PATH/requirements.txt" | ||||
|             # Crear un __init__.py básico | ||||
|             touch "$PROJECT_PATH/src/$PROJECT_NAME/__init__.py" | ||||
|             ;; | ||||
|         "php") | ||||
|             mkdir -p "$PROJECT_PATH/src" | ||||
|             mkdir -p "$PROJECT_PATH/public" | ||||
|             mkdir -p "$PROJECT_PATH/assets/css" | ||||
|             mkdir -p "$PROJECT_PATH/assets/js" | ||||
|             mkdir -p "$PROJECT_PATH/assets/img" | ||||
|             mkdir -p "$PROJECT_PATH/templates" | ||||
|             mkdir -p "$PROJECT_PATH/vendor" | ||||
|             # Crear un archivo index.php básico | ||||
|             echo '<?php\n// Punto de entrada de la aplicación\nrequire_once __DIR__ . "/../vendor/autoload.php";\n' > "$PROJECT_PATH/public/index.php" | ||||
|             # Crear composer.json básico | ||||
|             cat > "$PROJECT_PATH/composer.json" << EOF | ||||
| { | ||||
|     "name": "rosero-one/$PROJECT_NAME", | ||||
|     "description": "Proyecto PHP $PROJECT_NAME", | ||||
|     "type": "project", | ||||
|     "require": { | ||||
|         "php": ">=7.4" | ||||
|     }, | ||||
|     "autoload": { | ||||
|         "psr-4": { | ||||
|             "App\\\\": "src/" | ||||
|         } | ||||
|     } | ||||
| } | ||||
| EOF | ||||
|             ;; | ||||
|         "c") | ||||
|             mkdir -p "$PROJECT_PATH/include" | ||||
|             mkdir -p "$PROJECT_PATH/src" | ||||
|             mkdir -p "$PROJECT_PATH/lib" | ||||
|             mkdir -p "$PROJECT_PATH/tests" | ||||
|             mkdir -p "$PROJECT_PATH/build" | ||||
|             # Crear un archivo CMakeLists.txt básico | ||||
|             cat > "$PROJECT_PATH/CMakeLists.txt" << EOF | ||||
| cmake_minimum_required(VERSION 3.10) | ||||
| project($PROJECT_NAME C) | ||||
| 
 | ||||
| set(CMAKE_C_STANDARD 11) | ||||
| set(CMAKE_C_STANDARD_REQUIRED ON) | ||||
| 
 | ||||
| include_directories(include) | ||||
| 
 | ||||
| file(GLOB SOURCES "src/*.c") | ||||
| add_executable(\${PROJECT_NAME} \${SOURCES}) | ||||
| EOF | ||||
|             # Crear un archivo main.c básico | ||||
|             cat > "$PROJECT_PATH/src/main.c" << EOF | ||||
| #include <stdio.h> | ||||
| 
 | ||||
| int main(int argc, char *argv[]) { | ||||
|     printf("Hola desde $PROJECT_NAME!\n"); | ||||
|     return 0; | ||||
| } | ||||
| EOF | ||||
|             ;; | ||||
|         "cpp") | ||||
|             mkdir -p "$PROJECT_PATH/include" | ||||
|             mkdir -p "$PROJECT_PATH/src" | ||||
|             mkdir -p "$PROJECT_PATH/lib" | ||||
|             mkdir -p "$PROJECT_PATH/tests" | ||||
|             mkdir -p "$PROJECT_PATH/build" | ||||
|             # Crear un archivo CMakeLists.txt básico | ||||
|             cat > "$PROJECT_PATH/CMakeLists.txt" << EOF | ||||
| cmake_minimum_required(VERSION 3.10) | ||||
| project($PROJECT_NAME CXX) | ||||
| 
 | ||||
| set(CMAKE_CXX_STANDARD 17) | ||||
| set(CMAKE_CXX_STANDARD_REQUIRED ON) | ||||
| 
 | ||||
| include_directories(include) | ||||
| 
 | ||||
| file(GLOB SOURCES "src/*.cpp") | ||||
| add_executable(\${PROJECT_NAME} \${SOURCES}) | ||||
| EOF | ||||
|             # Crear un archivo main.cpp básico | ||||
|             cat > "$PROJECT_PATH/src/main.cpp" << EOF | ||||
| #include <iostream> | ||||
| 
 | ||||
| int main(int argc, char *argv[]) { | ||||
|     std::cout << "Hola desde $PROJECT_NAME!" << std::endl; | ||||
|     return 0; | ||||
| } | ||||
| EOF | ||||
|             ;; | ||||
|         "csharp") | ||||
|             mkdir -p "$PROJECT_PATH/src" | ||||
|             mkdir -p "$PROJECT_PATH/Tests" | ||||
|             mkdir -p "$PROJECT_PATH/Models" | ||||
|             mkdir -p "$PROJECT_PATH/Controllers" | ||||
|             mkdir -p "$PROJECT_PATH/Properties" | ||||
|             # Crear un archivo de proyecto .csproj básico | ||||
|             cat > "$PROJECT_PATH/$PROJECT_NAME.csproj" << EOF | ||||
| <Project Sdk="Microsoft.NET.Sdk"> | ||||
| 
 | ||||
|   <PropertyGroup> | ||||
|     <OutputType>Exe</OutputType> | ||||
|     <TargetFramework>net6.0</TargetFramework> | ||||
|     <ImplicitUsings>enable</ImplicitUsings> | ||||
|     <Nullable>enable</Nullable> | ||||
|   </PropertyGroup> | ||||
| 
 | ||||
| </Project> | ||||
| EOF | ||||
|             # Crear un archivo Program.cs básico | ||||
|             cat > "$PROJECT_PATH/src/Program.cs" << EOF | ||||
| namespace $PROJECT_NAME; | ||||
| 
 | ||||
| public class Program | ||||
| { | ||||
|     public static void Main(string[] args) | ||||
|     { | ||||
|         Console.WriteLine("Hola desde $PROJECT_NAME!"); | ||||
|     } | ||||
| } | ||||
| EOF | ||||
|             ;; | ||||
|         "rust") | ||||
|             mkdir -p "$PROJECT_PATH/src" | ||||
|             mkdir -p "$PROJECT_PATH/tests" | ||||
|             mkdir -p "$PROJECT_PATH/examples" | ||||
|             # Crear un archivo Cargo.toml básico | ||||
|             cat > "$PROJECT_PATH/Cargo.toml" << EOF | ||||
| [package] | ||||
| name = "$PROJECT_NAME" | ||||
| version = "0.1.0" | ||||
| edition = "2021" | ||||
| 
 | ||||
| [dependencies] | ||||
| EOF | ||||
|             # Crear un archivo main.rs básico | ||||
|             cat > "$PROJECT_PATH/src/main.rs" << EOF | ||||
| fn main() { | ||||
|     println!("Hola desde $PROJECT_NAME!"); | ||||
| } | ||||
| EOF | ||||
|             # Crear un archivo lib.rs básico | ||||
|             cat > "$PROJECT_PATH/src/lib.rs" << EOF | ||||
| // Biblioteca principal para $PROJECT_NAME | ||||
| 
 | ||||
| #[cfg(test)] | ||||
| mod tests { | ||||
|     #[test] | ||||
|     fn it_works() { | ||||
|         assert_eq!(2 + 2, 4); | ||||
|     } | ||||
| } | ||||
| EOF | ||||
|             ;; | ||||
|         "cobol") | ||||
|             mkdir -p "$PROJECT_PATH/src/main" | ||||
|             mkdir -p "$PROJECT_PATH/src/copy" | ||||
|             mkdir -p "$PROJECT_PATH/build" | ||||
|             ;; | ||||
|         "otros") | ||||
|             # Estructura mínima, ya creada anteriormente | ||||
|             ;; | ||||
|     esac | ||||
|      | ||||
|     # Crear archivo de configuración para indicar el tipo de proyecto | ||||
|     echo "$PROJECT_TYPE" > "$PROJECT_PATH/.protype" | ||||
|      | ||||
|     # Guardar información de la licencia en un archivo | ||||
|     echo "$PROJECT_LICENSE" > "$PROJECT_PATH/.license" | ||||
|      | ||||
|     # Hacer commit inicial del proyecto | ||||
|     cd "$PROJECT_PATH" | ||||
|     git add . | ||||
|     git commit -m "[INIT] Proyecto $PROJECT_NAME" | ||||
|      | ||||
|     # Mostrar mensaje de éxito | ||||
|     dialog_error_box "$head_info" "${proj_011}\n$PROJECT_PATH" | ||||
| } | ||||
| 
 | ||||
| # Función principal | ||||
| function main() { | ||||
|     clear | ||||
|      | ||||
|     # Obtener la carpeta de proyectos | ||||
|     get_projects_folder | ||||
|      | ||||
|     # Solicitar nombre del proyecto | ||||
|     request_project_name | ||||
|      | ||||
|     # Solicitar tipo de proyecto | ||||
|     request_project_type | ||||
|      | ||||
|     # Solicitar licencia del proyecto | ||||
|     request_project_license | ||||
|      | ||||
|     # Solicitar descripción del proyecto | ||||
|     request_project_description | ||||
|      | ||||
|     # Crear estructura del proyecto | ||||
|     create_project_structure | ||||
| } | ||||
| 
 | ||||
| # Ejecutar función principal | ||||
| main | ||||
|  | @ -335,11 +335,6 @@ function create_project_structure() { | |||
|     cd "$PROJECT_PATH" | ||||
|     git init | ||||
|      | ||||
|     # Copiar archivo .gitignore específico para el tipo de proyecto | ||||
|     if [ -f "$CONFIG_DIR/${PROJECT_TYPE}.gitignore" ]; then | ||||
|         cp "$CONFIG_DIR/${PROJECT_TYPE}.gitignore" "$PROJECT_PATH/.gitignore" | ||||
|     fi | ||||
|      | ||||
|     # Crear archivo setup.md básico | ||||
|     cat > "$PROJECT_PATH/docs/setup.md" << EOF | ||||
| # Configuración del Entorno de Desarrollo | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue