Source documentation/it: Difference between revisions

From FreeCAD Documentation
(Created page with "* Effettuare il fork del repository su https://github.com/FreeCAD/SourceDoc * sulla tua macchina: clonare il codice FreeCAD (se non è gia stato fatto), creare una build dir per il documento e clonare il suddetto repository SourceDoc all'interno. Quel SourceDoc verrà aggiornato quando si ricostruisce il documento e si sarà in grado di eseguire il commit ed inviare i risultati in seguito:")
(Created page with "* Vai al tuo fork online e crea una richiesta pull.")
Line 85: Line 85:
git push
git push
}}
}}
* Go to your fork online, and create a pull request.
* Vai al tuo fork online e crea una richiesta pull.


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">

Revision as of 12:30, 22 April 2023

Panoramica

Il codice sorgente di FreeCAD è commentato per consentire la generazione automatica della documentazione di programmazione utilizzando Doxygen, un popolare sistema di documentazione del codice sorgente. Doxygen può documentare entrambe le parti C++ e Python di FreeCAD, ottenendo pagine HTML con collegamenti ipertestuali a ciascuna funzione e classe documentata.

La documentazione è online sul sito web dell'API di FreeCAD. Si prega di notare che questa documentazione potrebbe non essere sempre aggiornata; se c'è bisogno di maggiori dettagli, scaricare l'ultimo codice sorgente di FreeCAD e compilare da sé la documentazione. Se ci sono domande urgenti sul codice, chiedere nella sezione sviluppatori del Forum di FreeCAD.

La compilazione della documentazione dell'API segue gli stessi passaggi generali della compilazione dell'eseguibile di FreeCAD, come indicato nella pagina Compilazione in Linux.

Flusso di lavoro generale per compilare la documentazione di programmazione di FreeCAD. I pacchetti Doxygen e Graphviz devono essere nel sistema, così come il codice sorgente di FreeCAD stesso. CMake configura il sistema in modo che con una singola istruzione make la documentazione per l'intero progetto venga compilata nei vari file HTML con i diagrammi.

Costruire la documentazione del codice sorgente

Documentazione completa

Se si ha installato Doxygen, è molto facile costruire la documentazione. Installare anche Graphviz per poter produrre diagrammi che mostrino le relazioni tra le diverse classi e le librerie nel codice di FreeCAD. Graphviz è utilizzato anche dal grafico delle dipendenze di FreeCAD per mostrare le relazioni tra i diversi oggetti.

sudo apt install doxygen graphviz

Quindi seguire gli stessi passi che si farebbero per compilare FreeCAD, come descritto nella pagina Compilazione in Linux, e riassunti qui di seguito per comodità.

  • Prendere il codice sorgente di FreeCAD e metterlo nella sua directory freecad-source.
  • Creare un'altra directory freecad-build in cui si compilerà FreeCAD e la sua documentazione.
  • Configurare i sorgenti con cmake, assicurandosi di indicare la directory dei sorgenti, e specificare le opzioni richieste per la build.
  • Attivare la creazione della documentazione usando make.
git clone https://github.com/FreeCAD/FreeCAD.git freecad-source
mkdir freecad-build
cd freecad-build
cmake -DBUILD_QT5=ON -DPYTHON_EXECUTABLE=/usr/bin/python3 ../freecad-source

Mentre ci si trova all'interno della directory di build, dare le seguenti istruzioni per creare solo la documentazione.

make -j$(nproc --ignore=2) DevDoc

Come accennato in velocizzare la compilazione, l'opzione -j imposta il numero di core della CPU utilizzati per la compilazione. I file di documentazione risultanti verranno visualizzati nella directory

freecad-build/doc/SourceDocu/html/

Il punto di accesso alla documentazione è il file index.html, che si può aprire con un browser web:

xdg-open freecad-build/doc/SourceDocu/html/index.html

Il target DevDoc genererà una notevole quantità di dati, circa 5 GB di nuovi file, in particolare grazie ai diagrammi creati da Graphviz.

Documentazione sintetica

La documentazione completa utilizza circa 3 GB di spazio su disco. Una versione alternativa e più piccola della documentazione che richiede solo circa 600 MB può essere generata con una destinazione diversa. Questa è la versione visualizzata sul sito web dell'API di FreeCAD.

make -j$(nproc --ignore=2) WebDoc

La documentazione sul sito Web dell'API di FreeCAD viene prodotta automaticamente da https://github.com/FreeCAD/SourceDoc. Chiunque può ricostruirla e inviare una richiesta di pull:

  • Effettuare il fork del repository su https://github.com/FreeCAD/SourceDoc
  • sulla tua macchina: clonare il codice FreeCAD (se non è gia stato fatto), creare una build dir per il documento e clonare il suddetto repository SourceDoc all'interno. Quel SourceDoc verrà aggiornato quando si ricostruisce il documento e si sarà in grado di eseguire il commit ed inviare i risultati in seguito:
git clone https://github.com/FreeCAD/FreeCAD
cd FreeCAD
mkdir build
cd build
mkdir -p doc/SourceDocu/html
cd doc/SourceDocu/html
git clone your-fork-url
cd ../../..
cmake -DBUILD_QT5=ON -DPYTHON_EXECUTABLE=/usr/bin/python3 ..
make WebDoc
cd doc/SourceDocu/html
git commit
git push
  • Vai al tuo fork online e crea una richiesta pull.

In alternativa, la documentazione viene generata di volta in volta ed è accessibile su sourceforge quí

Integrare la documentazione di Coin3D

Sui sistemi Unix, è possibile collegare la documentazione del codice sorgente di Coin3D con quella di FreeCAD. Questo consente una navigazione più agevole e diagrammi di ereditarietà completi per le classi derivate da Coin.

  • Su Debian e sistemi derivati:
- Installare il pacchetto libcoin60-doc
- Decomprimere il file /usr/share/doc/libcoin60-doc/html/coin.tag.gz
- Rigenerare la documentazione del codice sorgente
E si è pronti per navigare offline.
  • Quando non si vuole o non si può installare il pacchetto della documentazione di Coin, vengono generati i collegamenti per accedere alla documentazione online di Coin in doc.coin3D.org se i file di tag doxygen possono essere scaricati al momento della configurazione (wget).

Usare Doxygen

See the Doxygen page for an extensive explanation on how to comment C++ and Python source code so that it can be processed by Doxygen to automatically create the documentation.

Essentially, a comment block, starting with /** or /// for C++, or ## for Python, needs to appear before every class or function definition, so that it is picked up by Doxygen. Many special commands, which start with \ or @, can be used to define parts of the code and format the output. Markdown syntax is also understood within the comment block, which makes it convenient to emphasize certain parts of the documentation.

/**
 * Returns the name of the workbench object.
 */
std::string name() const;

/**
 * Set the name to the workbench object.
 */
void setName(const std::string&);

/// remove the added TaskWatcher
void removeTaskWatcher(void);