Coder Social home page Coder Social logo

zhuhaijun753 / cgadoxygen Goto Github PK

View Code? Open in Web Editor NEW

This project forked from 1434cga/cgadoxygen

0.0 0.0 0.0 18.71 MB

Doxygen PERLMOD to Markdown converter(v0.9) to support ASPICE (Automotive SPICE)

License: GNU General Public License v3.0

Perl 19.89% Shell 9.23% Makefile 1.70% Python 0.64% Prolog 46.23% CSS 7.16% C++ 14.53% Dockerfile 0.62%

cgadoxygen's Introduction

1. About CGADOXYGEN
1.1. Purpose
1.2. Backgrounds
2. Environment of Development
2.1. Prerequisition
2.2. docker to make an environment easily
3. How to Run
3.1. make a documents automatically
3.1.1. If you have unsolved problems in installing tools
3.2. example
3.3. clean
4. Docker
4.1. How to use docker in detail
5. What is the result

    ___   ___    __      ____   _____  _  _  _  _   ___  ____  _  _
   / __) / __)  /__\    (  _ \ (  _  )( \/ )( \/ ) / __)( ___)( \( )
  ( (__ ( (_-. /(__)\    )(_) ) )(_)(  )  (  \  / ( (_-. )__)  )  (
   \___) \___/(__)(__)  (____/ (_____)(_/\_) (__)  \___/(____)(_)\_)

1. About CGADOXYGEN

  • Doxygen PERLMOD to Markdown & Word & Excel converter for supporting ASPICE
    • It is helpful to make a documents from source code and your doxygen comments.
    • It is helper of doxygen.

1.1. Purpose

  • Reduce the tedious jobs (LLD : Low level Design documents). When we make a document for customer , we should make a markdown & word & excel documents with detailed class information.
  • and I hop it is helpful to save your time for your life.
    • Some customer Wants
      • want detailed documents like LLD (Low Level Design).
      • LLD should include the detailed information for Class and your source code.
    • Deliverables
      • upport word and xlsx file for detailed documents.

1.2. Backgrounds

  • Doxygen comments is the best method as a good programmer
  • Always synchronize source and documents
  • Doxygen gives some warning to you when your comments mismatch with your code.
    • it is helpful for us to make a better source and comments (documents)
  • I think that doxygen is a de facto standard in open source.
  • It gives improving your international skills.

2. Environment of Development

2.1. Prerequisition

  • ubuntu package : python-dev python-pip python-setuptools javacc java-common pandoc doxygen vim python3-pip python3-setuptools graphviz
  • perl module ( Excel::Writer::XLSX )
    • cpan Excel::Writer::XLSX
  • hpp2plantuml
  • markdown-pp

2.2. docker to make an environment easily

  • docker pull cheoljoo/ubuntu16:cgadoxygen

3. How to Run

  • How to make a document (LLD & SDD) automatically

3.1. make a documents automatically

  • (optional) if you have many subdirectories , you try to run copy.sh at first.
    • sh copy.sh [SOURCE DIRECTORY] [DESTINATION STORAGE Name]
      sh copy.sh ../../OUTPUT/stc  ./src
  • sh run.sh { lists of directories including your codes (cpp and h) }
    • if you run copy.sh (destination : ./src)
      $ sh run.sh ./src
    • ex) if you have sources in ../.. ../../inc /home/user/src , then
      $ sh run.sh ../..  ../../inc  /home/user/src
    • directory list is not recursive
      • you can verify in ./CGADoxygen/build_doxygen/src as soft-link files.
  • OUTPUT will be generated in "[git repository directory]/build_perlmod/OUTPUT"
    • LLD (Low Level Design) Document : it is full document
    • NECE (Necessary) LLD : it is necessary document. I remove the doc when they do not have doxygen comments.
    • SEQU (Sequential) LLD : it solves the detailed information each function sequentially. it will support multiple plantuml and note and details.
OUTPUT HTML Markdown
Low Level Design (LLD) LLD.css.html LLD.md
NECE (Necessary) LLD nece.css.html nece.html.md
SEQU (Sequential) LLD sequ.css.html sequ.html.md

3.1.1. If you have unsolved problems in installing tools

3.2. example

    $ sh run.sh ./example/A  ./exampleC   ./exampleD/Source
    or 
    $ sh run.sh example/B

3.3. clean

    $ sh run.sh clean

4. Docker

4.1. How to use docker in detail

  • docker image pull

    • $ docker pull cheoljoo/ubuntu16:cgadoxygen
    • $ docker run -it -v /home/username/doxygen:/docker --name cga1 cheoljoo/ubuntu16:cgadoxygen /bin/bash
      • /home/username/doxygen : is your host directory to use for your code
      • /docker : is directory in docker shell
    • $ docker ps -all
      CONTAINER ID        IMAGE                          COMMAND     CREATED             STATUS                   PORTS               NAMES
      74027e97f2b8        cheoljoo/ubuntu16:cgadoxygen   "/bin/bash" 12 days ago         Exited (1) 12 days ago                       cga1
      
    • $ docker start cga1
    • $ docker attach cga1
  • docker shell

    • cd /docker
      • you can see files in host (/homeusername/doxygen)
    • cd /tmp/CGADoxygen
      • copy your source_code in /tmp/CGADoxygen/YourName
      • sh run.sh YourName
      • you can find the result (SDD.html) in /tmp/CGADoxygen/build_perlmod/
  • How to make Docker Environment in detail - NEW

5. What is the result

  • Architecture
    • Architecture Component
  • Deliverables (SDD Component)
    • HLD Documents (HLD.md HLD.docx) : High Level Design from HLD.plantuml.md
      • HLD.docx SDD Document
    • LLD Documents (LLD.md LLD.docx LLD.xlsx) : Low Level Design generated from doxygen comments automatically
      • LLD.docx SDD Document
      • LLD.xlsx LLD Excel
    • SDD Documents (SDD.md SDD.docx) : It is final result combined with HLD and LLD
      • SDD.docx SDD Document
  • screenshot

cgadoxygen's People

Contributors

cheoljoo avatar 1434cga avatar younghho avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.