<div class="page"> <div class="cover text-center"> <img class="mx-auto" src=/itb/images/logo_mislata.png alt="logo"> # Preparació de l'entorn <div class="text-end fit-content ms-auto my-3 mt-auto pt-3"> <p><strong>Autor:</strong> Joan Puigcerver Ibáñez</p> <p><strong>Correu electrònic:</strong> j.puigcerveribanez@edu.gva.es</p> <p><strong>Curs:</strong> 2024/2025</p> </div> <div> <p class="fw-bold mb-0">Llicència: BY-NC-SA</p> <p class="d-none d-md-block">(Reconeixement - No Comercial - Compartir Igual)</p> <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/deed.ca" target="_blank"> <img class="mx-auto" src="/itb/images/license.png" alt="Licence"/> </a> </div><!--license--> </div><!--cover--> </div><!--page--> {:toc} # Objectius Configurar l'entorn de desenvolupament en ordinadors amb sistema operatiu Windows o distribucions de Linux basades en Debian, com Ubuntu o Linux Mint. En aquest manual s'instal·larà i es configuraran les següent eines: - [Git](https://git-scm.com/): Enina de control de versions. - [GitHub](https://github.com/): Emmagatzenament en línia de repositoris Git. - [IntelliJ IDEA](https://www.jetbrains.com/idea/): Entorn de desenvolupament integrat. - [WSL](https://learn.microsoft.com/en-us/windows/wsl/install): Susbsistema de Linux per a Windows ## Git Abans que res, cal instal·lar [Git](https://git-scm.com/). Cal descarregar l'instalador des de la web: https://git-scm.com/downloads En Ubuntu es pot instal·lar mitjançant les comandes: ```bash $ sudo apt-get update $ sudo apt-get install git ``` ## GitHub - Si no en tens cap, crea't un compte a [GitHub](https://github.com/). - Proporciona-li el teu usuari al docent del mòdul mitjançant la tasca corresponent en el curs del mòdul. - Espera a ser convidat a l'organització [fpmislata-dam2s-psp](https://github.com/fpmislata-dam2s-psp). - Crea un repositori dins de l'organització: - Propietari: __fpmislata-dam2s-psp__ - Nom del repositori: __CognomNom-PSP__ - Descripció: Respositori de les solucions del mòdul PSP en CIPFP Mislata del estudiant Nom Cognom - Visibilitat: __Privat__ - __NO__ afegir __README__ ni __LICENSE__. ![](/itb/DAM-PSP/UD1/img/entorn/repo.png) Si s'ha creat correctament, haurieu de veure una pàgina com aquesta: ![](/itb/DAM-PSP/UD1/img/entorn/empty_repo.png) ```info Proporciona-li l'adreça HTTPS del teu repositori al docent del mòdul mitjançant la tasca corresponent en el curs del mòdul. ``` ## WSL En aquesta assignatura treballarem els processos des del punt de vista de Linux. El __Windows Subsystem for Linux (WSL)__ és un subsistema que possiblita la integració d'una distribució de Linux en Windows sense necessitat d'una màquina virtual. Per instal·lar-lo cal seguir les instruccions en la documentació: https://learn.microsoft.com/en-us/windows/wsl/install Bàsicament consisteix en executar la comanda des de Powershell amb permisos d'administrador (botó dret, __Run as administrator__): ```bash wsl --install ``` Una vegada instal·lat demana reiniciar l'ordinador. Fes-ho i executar la comanda següent comanda. Aquesta operació iniciarà la instal·lació de la distribució Ubuntu. ```bash wsl --install -d Ubuntu ``` També es recomana la instal·lació de la Windows Terminal des de la Microsoft Store: https://apps.microsoft.com/store/detail/windows-terminal/9N0DX20HK701 ## IntelliJ IDEA Descarrega i instal·la [IntelliJ IDEA](https://www.jetbrains.com/idea/) mitjançant l'instal·lador disponible a https://www.jetbrains.com/idea/download/. Utilitzarem la versió __Community__ de l'IDE. - Inicia IntelliJ. - Crea un nou projecte. - Nom del projecte: __CognomNom-PSP__ (el mateix que el repostiri de GitHub) - Seleccionar __JDK__: Oracle OpenJDK 19. - Si no en tens cap instal·lat, donar-li a l'opció __Download JDK...__ - Utilitzar el build system __Maven__. - No utilitzar cap plantilla. ![](/itb/DAM-PSP/UD1/img/entorn/idea_project.png) Una vegada creat, tindreu un projecte buit creat. ![](/itb/DAM-PSP/UD1/img/entorn/idea_creat.png) - Comprova que el programa _Main.java_ que ve per defecte s'executa. - Una vegada comprovat, esborra el paquet __org.example__ que s'ha creat per defecte. - Crea el fitxer <strong>README.md</strong> a l'arrel del projecte amb el contingut: ```md # CognomNom-PSP Respositori de les solucions del mòdul PSP en CIPFP Mislata del estudiant Nom Cognom ``` - Crea el package __ud1.examples__ dins del directori __src/main/java__. - Còpia l'example [RunProcess](01_programacio_processos.html#runprocess) en el paquet __ud1.examples__ i executa'l. Comprova que funciona. ![](/itb/DAM-PSP/UD1/img/entorn/idea_run_result.png) ## Integració IntelliJ + GitHub - Copiar el contingut de [.gitignore](https://raw.githubusercontent.com/github/gitignore/master/Global/JetBrains.gitignore) en un fitxer anomenat __.gitignore__ en l'arrel del teu repositori. - Afegir les línies: ``` # Maven log/ target/ ``` ![](/itb/DAM-PSP/UD1/img/entorn/idea_gitignore.png) - Activar la versió de control: __VCS > Enable Version Control Integration__ i seleccionar __Git__ - Afegir el repositori de Github: __Git > Manage Remotes...__ i donar-li al __+__ - Name: __origin__ - URL: __L'enllaç del teu projecte de GitHub__. Podeu triar connectar-vos mitjançant HTTPS o SSH. Jo vos recomane SSH. ![](/itb/DAM-PSP/UD1/img/entorn/git_remotes.png) ### Integració amb HTTPS - Vos demanarà iniciar sessió, feu-ho mitjançant Use Token... - Doneu-li a __Generate...__ - Se vos obrirà una pàgina de GitHub per generar el PAT token. - Poseu la expiració: No expiration - Genereu el token - Copieu (i guardeu-vos) el token i introduiu-lo a IntelliJ. ### Integració amb SSH - Cal crear una clau SSH. - Linux/Mac: __ssh-keygen__ - Windows: En el programa __Git GUI > Help > Show SSH Key... > Generate key__ - Copiar la clau generada al teu perfil de GitHub: __Profile > Settings > SHS and GPG Keys > New SSH Key__ ### Commit inicial - Realitzar un commit inicial: __Git > Commit...__ - Seleccionar tots els fitxers - Missatge: Initial commit - Botó: __Commit__ ![](/itb/DAM-PSP/UD1/img/entorn/git_initial_commit.png) - Pujar el projecte a GitHub: __Git > Push...__ Us hauria de sortir en verd els fitxers que aneu a pujar. ![](/itb/DAM-PSP/UD1/img/entorn/git_push.png) - Verifiqueu que s'ha pujat a GitHub: ![](/itb/DAM-PSP/UD1/img/entorn/github_push.png) ## Treballar amb Git Una vegada configurat l'espai de treball, ja es pot utiliztar per afegir noves classes i sincronitzar-les en diferents espais de treball mitjançant Git. Tot el codi estarà dins de la carpeta __src__. Quan es vulga sincronitzar el codi de IntelliJ IDEA a Github caldrà: - Realitzar un pull per incorporar els canvis que hagen pogut haver i no crear conflictes: __Git > Pull...__ - Realitzar un commit amb els canvis: __Git > Commit...__ - Missatge del commit __significatiu__ - Realitzar un push: __Git > Push__ - Comprovar que s'ha actualitzat correctament en GitHub.