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" |     cd "$PROJECT_PATH" | ||||||
|     git init |     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 |     # Crear archivo setup.md básico | ||||||
|     cat > "$PROJECT_PATH/docs/setup.md" << EOF |     cat > "$PROJECT_PATH/docs/setup.md" << EOF | ||||||
| # Configuración del Entorno de Desarrollo | # Configuración del Entorno de Desarrollo | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue