{"id":17016302,"url":"https://github.com/rdvdev2/advocat","last_synced_at":"2025-04-05T20:13:52.126Z","repository":{"id":43739372,"uuid":"432220701","full_name":"rdvdev2/advocat","owner":"rdvdev2","description":"Per a facilitar la feina amb el jutge","archived":false,"fork":false,"pushed_at":"2022-09-12T12:26:24.000Z","size":115,"stargazers_count":1,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-12T12:06:07.388Z","etag":null,"topics":["cpp","fib","jutge","ninja","pro1","pro1-fib","upc"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rdvdev2.png","metadata":{"files":{"readme":"README.MD","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-11-26T15:18:41.000Z","updated_at":"2022-10-10T22:26:07.000Z","dependencies_parsed_at":"2022-08-22T14:10:29.000Z","dependency_job_id":null,"html_url":"https://github.com/rdvdev2/advocat","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rdvdev2%2Fadvocat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rdvdev2%2Fadvocat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rdvdev2%2Fadvocat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rdvdev2%2Fadvocat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rdvdev2","download_url":"https://codeload.github.com/rdvdev2/advocat/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247393572,"owners_count":20931813,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","fib","jutge","ninja","pro1","pro1-fib","upc"],"created_at":"2024-10-14T06:32:47.949Z","updated_at":"2025-04-05T20:13:52.095Z","avatar_url":"https://github.com/rdvdev2.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Advocat\nNo presentis res al [jutge](https://jutge.org) sense abans consultar al teu advocat!\n\n## Que fa l'advocat?\nAquest programa és capaç de compilar els problemes del jutge i provar-los automàticament. Els tests es descarregaràn de\nforma automàtica i es comprovaran. Si el problema demana un procediment en comptes d'un programa, es descarregarà el\nprocediment `main()` utilitzat pel jutge per a avaluar el programa, evitant que hagis d'escriure tu mateix aquest\nmètode que el jutge no avaluarà.\n\n## Requisits\n- g++\n- curl\n- rust (build)\n- cargo (build)\n\n## Instruccions d'ús\nGuarda el teu treball com a `main.cc` a una carpeta anomenada com la ID del problema del jutge\n(p.ex. `P90615_ca/main.cc`). Executa `advocat` al directori i el programa automàticament complilarà i provarà el teu\nprograma. Tingues en compte que si la ID del problema comença amb 'X' el problema és privat i no és possible descarregar\nels arxius sense iniciar sessió. Pots iniciar sessió al jutge a través de l'advocat modificant l'arxiu de configuració\n`~/.config/advocat/config.ini` per incloure els següents paràmetres:\n``` ini\n[auth]\nemail = EL_TEU_CORREU\npassword = LA_TEVA_CONTRASENYA\n```\n\n## Instruccions d'instal·lació / actualització\nPer a instal·lar o actualitzar el programa:\n``` shell\ncargo install advocat\n```\nSi mai has instal·lat programes mitjançant `cargo install`, afegeix la ruta d'instal·lació al path:\n``` shell\n# Al final del teu .bashrc / .zshrc\nexport PATH=$PATH:$HOME/.cargo/bin\n```\nSi tornes a obrir la terminal o recarregues el fitxer `.bashrc` / `.zshrc` el programa ja estarà disponible.\n\n## Com afegir tests a un problema\nAlguns problemes al jutge no tenen tests públics, o potser vols afegir al teu joc de proves un test privat que ha fallat\no altres casos inventats per tu. En aquests casos, l'advocat pot llegir els tests que guardis a la mateixa carpeta que\nel teu `main.cc` i a les seves subcarpetes. Cada test consta de dos arxius, amb el mateix nom i diferent extensió:\n- `NOM_TEST.inp`: Conté l'entrada del programa\n- `NOM_TEST.cor`: Conté la sortida correcta del programa per a l'entrada corresponent\n\nÉs important vigilar les línies en blanc al final de l'arxiu `.cor`, ja que si hi ha una línia en blanc al final de\nl'arxiu el test només es considerarà correcte si el programa també produeix una línia en blanc. En el cas d'escriure\ntests per a un problema de procediment (sense `main()`) es recomana comprovar l'arxiu \n`~/.cache/advocat/ID_PROBLEMA/main.cc` per saber com es llegirà l'entrada.\n\n## Llicències del codi font\nLes plantilles de la carpeta `templates/`, així com els procediments per a compilar els programes són adaptats del\nrepositori [jutge-org/jutge-driver-std](https://github.com/jutge-org/jutge-driver-std).\n\n## TODO\nTot i que l'advocat és un programa funcional, encara hi ha algunes característiques pendents d'implementar:\n- Compatibilitat amb altres compiladors (actualment s'utilitza el `p1++`)\n- Compatibilitat amb altres llenguatges (actualment només es processen programes en C++)\n- Execució dels tests en paral·lel\n- Traducció al català i el castellà (actualment el programa és en anglès)\n- Interacció directa amb el jutge:\n  - Descàrrega d'enunciats\n  - Publicació de resolucions i mostra del veredicte\n  - Navegació de llistes\n  - Descàrrega de solucions prèvies\n- Càlcul de mètriques (ccn, cl, diff...)\n- Paràmetres per modificar el comportament del programa (eliminar la cache, no descarregar arxius, utilitzar arxius\ndiferents de main.cc)\n- Més opcions de configuració (similars als paràmetres)\n\nAquesta llista no està en ordre de prioritat, i qualsevol contribució és benvinguda.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frdvdev2%2Fadvocat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frdvdev2%2Fadvocat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frdvdev2%2Fadvocat/lists"}