Skip to content

Commit

Permalink
* Added mpg.pl script for generating projects (similar to GAMS gpc.pl)
Browse files Browse the repository at this point in the history
  * Add new threads
  * Add new transports
  * Add new filters
  * Can generate multiple MADARA apps, each with different logic
  * Updates a project file with all apps
  * action.sh compile will do everything necessary, including building doxygen documentation
  • Loading branch information
jredmondson committed Nov 10, 2018
1 parent 44fac88 commit 3f43bcc
Show file tree
Hide file tree
Showing 24 changed files with 3,723 additions and 0 deletions.
1 change: 1 addition & 0 deletions scripts/projects/common/VERSION.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
0.0.1
18 changes: 18 additions & 0 deletions scripts/projects/common/docs/Documentation.mpc
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
project (documentation_custom) : doxygen_help_gen, build_files {

requires += docs

custom_only = 1

prebuild = perl ./get_version.pl

Build_Files {
Documentation.mpc
doxygen_help_gen.mpb
}

DoxygenTypeSupport_Files {
Doxyfile.dxy >> rislab
}
}

1,910 changes: 1,910 additions & 0 deletions scripts/projects/common/docs/Doxyfile.dxy

Large diffs are not rendered by default.

36 changes: 36 additions & 0 deletions scripts/projects/common/docs/MainPage.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
Welcome to Your custom doxygen home page! {#mainpage}
==================

[TOC]

Welcome to the Doxygen documentation site that is autogenerated with
the latest changes to your code. See the latest documentation for
[Doxygen markdown](https://www.stack.nl/~dimitri/doxygen/manual/markdown.html)
for helpful tips on what to do with your documentation main page.

___
\section prereqs Prerequisites (MADARA/GAMS)
* *Visual Tutorials*: [Youtube tutorials](https://www.youtube.com/watch?v=Qvl3YriLMYI&list=PLSNlEg26NNpwi4ggcPYU8JvS1aVtV60_z) | [Powerpoint tutorials](https://github.com/jredmondson/gams/wiki/Tutorial-Series-(C))
* *Installation*: [GAMS Installation](https://github.com/jredmondson/gams/wiki/GAMS Installation)

___
\section intro Introduction

You could put your introduction here.

___
\section outro Outroduction


Are you sure you're ready to leave this page? Think about the following:

1. There's nothing for you to do outside
2. I'm pretty sure there are things that will eat you outside
3. I had a friend who went outside, and he said it was awful
4. Refer to 1-3.


___


25 changes: 25 additions & 0 deletions scripts/projects/common/docs/get_version.pl
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
eval '(exit $?0)' && eval 'exec perl -w -S $0 ${1+"$@"}'
& eval 'exec perl -w -S $0 $argv:q'
if 0;

use File::Basename;
my $dirname = dirname(__FILE__);

###################################################
# @author James Edmondson <jedmondson@gmail.com>
#
# This perl script is useful for generating a dynamic
# project number to be used by Doxygen in its help file
# generation process.
###################################################

open VERSION_FILE, "<", $dirname . "/../VERSION.txt" or
die "Unable to open ../VERSION.txt for reading.";
$version = <VERSION_FILE>;
close VERSION_FILE;

open OUTPUT_FILE, ">", $dirname . "/VERSION.txt" or
die "Unable to open VERSION.txt for writing.";
print OUTPUT_FILE "PROJECT_NUMBER = " . $version . "\n";
close OUTPUT_FILE;

11 changes: 11 additions & 0 deletions scripts/projects/common/doxygen_help_gen.mpb
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
project {
requires += docs

Define_Custom(DoxygenTypeSupport) {
command = doxygen
inputext = .dxy

keyword doxyflags = commandflags
}

}
60 changes: 60 additions & 0 deletions scripts/projects/common/src/Namespaces.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
#ifndef _MY_NAMESPACES_H_
#define _MY_NAMESPACES_H_

/**
* @file Namespaces.h
* @author James Edmondson <jedmondson@gmail.com>
*
* This file contains namespace documentation. There is no reason to include
* this file in any project. It is purely for Doxygen documentation.
**/

/**
* @namespace algorithms
* Contains algorithms that can be changed at runtime in GAMS
**/
namespace algorithms
{
}

/**
* @namespace containers
* Contains managed C++ containers that map between C++ variables and knowledge variables
**/
namespace containers
{
}

/**
* @namespace filters
* Contains filters that may shape traffic on-send or on-receive
**/
namespace filters
{
}

/**
* @namespace platforms
* Contains platform drivers and platform threads
**/
namespace platforms
{
/**
* @namespace platforms::threads
* Contains threads that will be managed by platform drivers
**/
namespace threads
{
}
}

/**
* @namespace threads
* Contains threads that will be managed by an agent controller
**/
namespace threads
{
}

#endif

0 comments on commit 3f43bcc

Please sign in to comment.