Skip to content

Commit

Permalink
Add doxygen-based palette generation
Browse files Browse the repository at this point in the history
This introduces a new job in the Travis pipeline that executes doxygen to generate an XML output, converts that into an EAGLE palette, and uploads it to the EAGLE test repository via a git commit. The new job executes only on the master branch.
  • Loading branch information
llwang00 committed Jul 29, 2020
1 parent 5ef03ed commit ce0be8a
Show file tree
Hide file tree
Showing 3 changed files with 588 additions and 0 deletions.
25 changes: 25 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,31 @@ matrix:
- python: "3.6"
- python: "3.5"
- python: "2.7"
- name: doxygencommit
if: branch = master
before_install:
install:
- sudo apt-get update && sudo apt-get install -y doxygen && sudo apt-get install -y xsltproc
script:
- GIT_REPO=$(git remote -v) PROJECT_VERSION=$(git rev-parse --short HEAD) doxygen
after_success:
- cd DALIUGE/xml
- xsltproc combine.xslt index.xml >daliuge.xml
- wget https://raw.githubusercontent.com/james-strauss-uwa/xml2palette/master/xml2palette.py
- python3 xml2palette.py -i daliuge.xml -o daliuge.palette
- mv daliuge.palette ../.
- cd ..
- rm -rf xml/
- cd ..
- git config --global user.name $GITHUB_USERNAME
- git config --global user.email "$GITHUB_USERNAME@gmail.com"
- git clone https://$GITHUB_TOKEN@github.com/ICRAR/EAGLE_test_repo
- cd EAGLE_test_repo/
- rm -rf DALIUGE/
- mv ../DALIUGE/ .
- git add *
- git diff-index --quiet HEAD || git commit -m 'doxygen commit'
- git push

# We want to use docker during the tests
services:
Expand Down
189 changes: 189 additions & 0 deletions Doxyfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,189 @@
# Doxyfile 1.8.17

# This file describes the settings to be used by the documentation system
# doxygen (www.doxygen.org) for a project.
#
# All text after a double hash (##) is considered a comment and is placed in
# front of the TAG it is preceding.
#
# All text after a single hash (#) is considered a comment and will be ignored.
# The format is:
# TAG = value [value, ...]
# For lists, items can also be appended using:
# TAG += value [value, ...]
# Values that contain spaces should be placed between quotes (\" \").

#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by
# double-quotes, unless you are using Doxywizard) that should identify the
# project for which the documentation is generated. This name is used in the
# title of most generated pages and in a few other places.
# The default value is: My Project.

PROJECT_NAME = DALIUGE

# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
# could be handy for archiving the generated documentation or if some version
# control system is used.

PROJECT_NUMBER = $(PROJECT_VERSION)

# The INPUT tag is used to specify the files and/or directories that contain
# documented source files. You may enter file names like myfile.cpp or
# directories like /usr/src/myproject. Separate the files or directories with
# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
# Note: If this tag is empty the current directory is searched.

INPUT =

# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
# into which the generated documentation will be written. If a relative path is
# entered, it will be relative to the location where doxygen was started. If
# left blank the current directory will be used.

OUTPUT_DIRECTORY = DALIUGE

# The OUTPUT_LANGUAGE tag is used to specify the language in which all
# documentation generated by doxygen is written. Doxygen will use this
# information to generate all constant output in the proper language.
# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese,
# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States),
# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian,
# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages),
# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian,
# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian,
# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish,
# Ukrainian and Vietnamese.
# The default value is: English.

OUTPUT_LANGUAGE = English

# When enabled doxygen tries to link words that correspond to documented
# classes, or namespaces to their corresponding documentation. Such a link can
# be prevented in individual cases by putting a % sign in front of the word or
# globally by setting AUTOLINK_SUPPORT to NO.
# The default value is: YES.

AUTOLINK_SUPPORT = NO

# For Microsoft's IDL there are propget and propput attributes to indicate
# getter and setter methods for a property. Setting this option to YES will make
# doxygen to replace the get and set methods by a property in the documentation.
# This will only work if the methods are indeed getting or setting a simple
# type. If this is not the case, or you want to show the methods anyway, you
# should set this option to NO.
# The default value is: YES.

IDL_PROPERTY_SUPPORT = NO

# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
# # only. Doxygen will then generate output that is more tailored for C. For
# # instance, some of the names that are used will be different. The list of all
# # members will be omitted, etc.
# # The default value is: NO.

OPTIMIZE_OUTPUT_FOR_C = NO

# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or
# # Python sources only. Doxygen will then generate output that is more tailored
# # for that language. For instance, namespaces will be presented as packages,
# # qualified scopes will look different, etc.
# # The default value is: NO.

OPTIMIZE_OUTPUT_JAVA = YES

#---------------------------------------------------------------------------
# Configuration options related to the input files
#---------------------------------------------------------------------------

# The RECURSIVE tag can be used to specify whether or not subdirectories should
# be searched for input files as well.
# The default value is: NO.

RECURSIVE = YES

#---------------------------------------------------------------------------
# Configuration options related to the HTML output
#---------------------------------------------------------------------------

# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output
# The default value is: YES.

GENERATE_HTML = NO

#---------------------------------------------------------------------------
# Configuration options related to the LaTeX output
#---------------------------------------------------------------------------

# If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output.
# The default value is: YES.

GENERATE_LATEX = NO

#---------------------------------------------------------------------------
# Configuration options related to the XML output
#---------------------------------------------------------------------------

# If the SOURCE_BROWSER tag is set to YES then a list of source files will be
# # generated. Documented entities will be cross-referenced with these sources.
# #
# # Note: To get rid of all source code in the generated output, make sure that
# # also VERBATIM_HEADERS is set to NO.
# # The default value is: NO.

SOURCE_BROWSER = NO

# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a
# # verbatim copy of the header file for each class for which an include is
# # specified. Set to NO to disable this.
# # See also: Section \class.
# # The default value is: YES.

VERBATIM_HEADERS = NO

# If the GENERATE_XML tag is set to YES, doxygen will generate an XML file that
# captures the structure of the code including all documentation.
# The default value is: NO.

GENERATE_XML = YES

# If the XML_PROGRAMLISTING tag is set to YES, doxygen will dump the program
# listings (including syntax highlighting and cross-referencing information) to
# the XML output. Note that enabling this will significantly increase the size
# of the XML output.
# The default value is: YES.
# This tag requires that the tag GENERATE_XML is set to YES.

XML_PROGRAMLISTING = NO

# If the XML_NS_MEMB_FILE_SCOPE tag is set to YES, doxygen will include
# namespace members in file scope as well, matching the HTML output.
# The default value is: NO.
# This tag requires that the tag GENERATE_XML is set to YES.

XML_NS_MEMB_FILE_SCOPE = NO

#---------------------------------------------------------------------------
# Configuration options related to the preprocessor
#---------------------------------------------------------------------------

# If the ENABLE_PREPROCESSING tag is set to YES, doxygen will evaluate all
# C-preprocessor directives found in the sources and include files.
# The default value is: YES.

ENABLE_PREPROCESSING = NO

#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------

# If the CLASS_DIAGRAMS tag is set to YES, doxygen will generate a class diagram
# (in HTML and LaTeX) for classes with base or super classes. Setting the tag to
# NO turns the diagrams off. Note that this option also works with HAVE_DOT
# disabled, but it is recommended to install and use dot, since it yields more
# powerful graphs.
# The default value is: YES.

CLASS_DIAGRAMS = NO
Loading

0 comments on commit ce0be8a

Please sign in to comment.