-
Notifications
You must be signed in to change notification settings - Fork 0
Makefile ⚒️
Per automatizzare alcuni comandi utili per lo sviluppo di questa libreria è stato scritto un Makefile. Di seguito troverai i principali comandi implementati e una breve descrizione al loro utilizzo.
Se sei in dubbio prova con:
make
questo stamperà il menu con tutti i possibili comandi.
social-network-link-prediction Makefile guide.
Install commands:
make install : Install library in the system.
make install-dev : Create dev environment (virtualenv) and
install dev requirements.
make install-doc : Insitall requirement to generate documentation.
Needs the environment installed (run make install-dev)
make install-test : Install requirements for the testing.
Needs the environment installed (run make install-dev)
Clean commands:
make clean-env : Removes all environment files.
make clean-build : Remove all build files.
make clean-docstrings : Remove all docstrings (.patch) files.
make clean-docs : Remove all documentation files.
make clean : Runs all clean commands.
Auto-generation commands:
code:
make code-format : Format all python files (using yapf).
make code-check : Checks for warnings and errors. (using pylama linter).
make code : Runs -format and -check.
documentation:
make docstrings : Generate docstring for all python files (need to manually apply patches).
make docs : Generate documentation from python docstrings.
make build : Runs the build project process
make tests : Runs the unit tests
Publish commands:
make publish-release : Publish the library into the Pypi's release repo
make publish-testing : Publish the library into the Pypi's testing repo
uso: make check
Controlla che i requirements (contenuti nella variabile REQUIREMENTS
) siano soddisfatti.
Utile per capire se alcuni comandi di installazione potranno o no avere successo.
uso: make install
Installa al libreria partendo dalla cartella attuale. La libreria viene installata all'interno del sistema e NON nell'ambiente virtuale.
uso: make install-dev
Installa l'ambiente virtuale per lo sviluppo e tutte le dipendenze necessarie.
Questo comando è necessario per poter anche installare i successivi -test
e -doc
.
Viene eseguito prima il target check
e solo se ha successo viene avviata l'installazione.
uso: make install-doc
Installa all'interno dell'ambiente di sviluppo (deve essere stato installato precedentemente con make install-dev
) le dipendenze necessarie per generare la documentazione del codice.
uso: make install-test
Installa all'interno dell'ambiente di sviluppo (deve essere stato installato precedentemente con make install-dev
) le dipendenze necessarie per eseguire i test automatici del codice.
uso: make clean-docs
Rimuove tutti i file generati durante la creazione della documentazione.
uso: make clean-build
Rimuove tutti i file generati durante la fase di building della libreria.
uso: make clean-env
Rimuove l'ambiente di sviluppo con tutte le dipendenze installate.
uso: make clean-docstrings
Rimuove tutti i file generati durante la fase di creazione delle docstrings all'interno del codice.
uso: make clean
Esegue tutti i target di pulizia.
uso: make check
uso: make check -e CODE_IGNORE_LEVEL=["W"/"E"/"W,E"]
ignora solo i warning, solo gli errori, sia i warning che gli errori
Controlla (tramite pylama
) la presenza di warnings o errori (possono essere ignorati).
Se sono presenti torna un errore.
uso: make code-format
In automatico formatta tutto il codice (utilizzando yapf
).
uso: make code
Esegue nell'ordine i target code-format
e code-check
.
Utile se si vuole formattare il codice e controllare comunque la presenza di warnings o errors.
uso: make docstrings
uso: make docstrings -e DOCSTRINGS_FORMAT=["numpydoc"/"google"/"javadoc"/"reST"]
specifica quale tipo di stile utilizzare per le docstrings.
Inserisce automaticamente le docstrings alle funzioni che non le hanno (tramite pyment
).
Bisogna prestare un attimo di attenzione quando si utilizza questo comando: i file non vengono automaticamente modificati, ma vengono creati dei file .patch
che serviranno per applicare le varie modifiche. Se si esegue l'applicazione delle patch e nuovamente il target, per via di un problema di pyment, le nuove docstrings verranno corrotte. Quindi è molto importante applicare le patch SOLO ai file che sappiamo non avere docstrings altrimenti si rischia di corrompere quelle già esistenti.
Per applicare una patch utilizzare il comando:
git apply filename.py.patch
uso: make docs
uso: make docs -e DOCS_FORMAT=[""/"--html"/"--pdf"]
specifica in che formato produrre la documentazione. Se lasciato vuoto sarà in Markdown.
uso: make docs -e DOCS_LATEX=True/False
specifica se attivare o meno il rendering delle formule in LaTex.
Genera automaticamente la documentazione partendo dalle docstrings presenti nei file python.
uso: make build
Genera la build della libreria per poi essere pubblicata su Pypi.
uso: make publish-release
Pubblica la build della libreria all'interno della repo di release di Pypi.
uso: make publish-testing
Pubblica la build della libreria all'interno della repo di testing di Pypi.