GNURadio How to see internal doxygen docs from cloned repo? - doxygen

I cloned the GNURadio repository and I want to be able to view the doxygen documentation in the repo because the stuff online is severely out of date. Is it something where I can click on a top level file and view the docs in a browser? I guess I'm not sure how it works.

Have a look at the installation wiki, here: https://wiki.gnuradio.org/index.php/InstallingGR
In section "From Source", I think that you can add:
-DENABLE_DEFAULT=OFF -DENABLE_GR_DOXYGEN=ON
to your cmake command in order to build just the documentation.
-DENABLE_DEFAULT=OFF: no default components
-DENABLE_GR_DOXYGEN=ON: add doxygen documentation component to the build process
Then, after make, find the documentation in html format here:
gnuradio/build/docs/doxygen/html/index.html
No need to make install
Hope this helps

Related

SwiftLint Change Rules Cocoapods

I just recently installed SwiftLint using CocoaPods. I want to change the rules of my SwiftLint but when I go inside my pods -> SwiftLint, I cannot find the file named "rules" through which I can edit my rules. Please let me know how I can do the same! Thanks a lot! I really appreciate it!
You put rules unique to your project in a file called .swiftlint.yml (with the leading .) and commit this to source control. Re this file, see the Configuration section of the README.
If you haven’t done this before, you’ll have to create this file. Personally, I fire up Terminal, cd into the root directory of my project, and type touch .swiftlint.yml to create a blank file. Then go to your text editor of choice and add whatever rules you want (see the README for some examples, perhaps copy-and-paste some examples into your file).
If you go to YouTube, search for “swiftlint” and you’ll see many tutorials out there.

using Doxygen in read-the-docs

I have written the documentation for a medium sized C++ piece of software using Doxygen together with Markdown. I am quite happy with it, as after changing the xml layer I ended up with something like that:
http://docs.mitk.org/nightly/index.html
I would like to bring this documentation online, ideally using something like ReadtheDocs, where the documentation would be automatically built after a "git commit", and hosted to be browsed.
ReadtheDocs looks like the ideal site but uses Sphinx and reStructuredText as defaults. Doxygen can be used too, but AFAIK only through Breathe. Going through that route essentially means that I would need to re-structure all the documentation if I don't want to dump all the API documentation into a single page (http://librelist.com/browser//breathe/2011/8/6/fwd-guidance-for-usage-breathe-with-existing-doxygen-set-up-on-a-large-project/#cab3f36b1e4bb2294e2507acad71775f).
Paradoxically, Doxygen is installed in the read-the-docs server, but after struggling I could not find a workaround to skip its Sphinx or Mkdocs.
I've tried the following solution to use Doxygen on Read The Docs and it seems to work:
set up empty sphinx project (refer to official sphinx doc),
in sphinx conf.py add command to build doxygen documentation,
use conf.py html_extra_path config directive to overwrite generated doxygen documentation over generated sphinx documentation.
I've tested this with following source tree:
.../doc/Doxyfile
/build/html
/sphinx/conf.py
/sphinx/index.rst
/sphinx/...
Some explanation:
in my setup doxygen generates its documentation in "doc/build/html",
ReadTheDocs runs its commands in directory where it finds conf.py file.
What to do:
add following lines in conf.py to generate doxygen docs:
import subprocess
subprocess.call('cd .. ; doxygen', shell=True)
update conf.py html_extra_path directive to:
html_extra_path = ['../build/html']
In this configuration ReadTheDocs should properly generate and store Doxygen html documentation.
todo:
other documentation formats, for example: pdf.
This answer builds upon the great one already given by "kzeslaf". So follow the steps described by him first, before you continue here.
While his answer works as intended, I had the problem that ReadTheDocs (RTD) uses a rather old version of Doxygen (1.8.13 at the time of writing). This caused several issues for me like the one reported here. Additionally, if you set up Doxygen to treat warnings as errors, you might need to override this option on RTD due to version-related warnings.
I found a simple solution to upgrade the Doxygen version on RTD using conda.
Create an environment.yml file somewhere in your project (probably in the documentation directory). The content is as follows:
name: RTD
channels:
- conda-forge
- defaults
dependencies:
- python=3.8
- doxygen=<VERSION>
Replace <VERSION> with any version number that you like to use and that is available on conda-forge. Use conda search doxygen -c conda-forge to get a list of all available versions or simply check this site. You can also remove =<VERSION> and conda should install the latest one automatically.
Now you need to create an RTD config file if you haven't done this already. Add the following lines:
conda:
environment: <DIRECTORY>/environment.yml
Replace <DIRECTORY> with the actual location of the environment.yml file (relative to your project root, for example: docs/environment.yml). Now, if you followed all the steps in the answer of "kzelaf" and the ones I mentioned, RTD should successfully build your Doxygen documentation with the version you selected. You can check it in the lower right corner of the created pages. Alternatively, add subprocess.run(["doxygen", "-v"]) to your conf.py and check the RTD build logs.

How to distribute Eclipse Update Site

I can't find a free repository allowing to distribute Eclipse Update Site.
The main requirement is that it should provide access to raw content so that Eclipse can use the URL to retrieve all the binaries of my projects.
GitHub provided access to raw url but it seems it stopped.
Do you know if bitbucket does it? any different solution?
Actually, you can host an eclipse update site easily on github using raw url. I know because I have done it recently and it works.
It is true that you get a 404 when you try to access the repos 'raw' directory. However, that is actually not a problem because when you use the Eclipse (or Marketplace) installer to install something from an update site the installer does not access the folder directly. Rather it will only access files like 'catalog.xml'. This means that if you point the Eclipse installer at your raw update-site folder then it will be able to read the contents of the site without any problem.
Here is an example:
https://github.com/kdvolder/thirdparty-p2-repo/tree/4bb37ca4de6cd001f400c2913421b8c4b49538e1/target/repository
The corresponding raw url is this:
https://raw.githubusercontent.com/kdvolder/thirdparty-p2-repo/4bb37ca4de6cd001f400c2913421b8c4b49538e1/target/repository
Yes, that will give a 404 when you click it. But that is okay, just open "Help >> Install New Software" and paste the link into the "Work with" field of the dialog and it works fine:
It works because raw urls like this one are all the installer needs:
https://raw.githubusercontent.com/kdvolder/thirdparty-p2-repo/4bb37ca4de6cd001f400c2913421b8c4b49538e1/target/repository/category.xml
Github also allows this. You need to create github page and upload your p2 repository there. On the website github pages is explained how to achieve that. Just scroll and the steps will appear on the page (fancy javascript). For your project there is a second repository, where you have to put your repository.
I prefer to use sourceforge for the update site of my Eclipse projects. I recently published a blog post detailing all the steps to achieve that http://www.lorenzobettini.it/2015/01/publish-an-eclipse-p2-repository-on-sourceforge-with-rsync/

Changing Message Sequence Chart (MSC) Tool for Doxygen

I'd like to know whether there is a way to change the default tool to generate message sequence charts (msc) of Doxygen. Actual default tool for Doxygen is the mscgen (http://www.mcternan.me.uk/mscgen/) and it's a good tool, but I'd like to use msc-gen (https://sites.google.com/site/mscgen2393/) that seems to be a more complete tool.
I've already tried to create a link at "MSCGEN_PATH = /usr/bin/" to the msc-gen (like ln -s /usr/bin/msc-gen ./mscgen) but command line of tools are different. There is a specific way to configure Doxygen to "learn" this new tool command line?
For the current msc-gen version (v4.0.0), your solution should work.
I just tried setting the MSCGEN_PATH to the msc-gen installation directory and it worked for me. msc-gen already brings a copy of its main executable with the name mscgen.exe to be called by doxygen.
This solution is also described in the second paragraph of:
http://msc-generator.sourceforge.net/help/4.0/
You may also like to have a look at Plant UML and its doxygen integration:
http://plantuml.com/index.html
http://plantuml.com/doxygen.html

How to read\write settings from a Visual Studio Project file using NuGet?

I'm interested in creating a NuGet package for a documentation tool I'm writing. Ideally, I'd like the user to not have to configure my tool in anyway. In order to do this, I need to be able to read some settings from the Project's .csproj or .vbproj file to get the path of the Xml documentation file generated by the compiler. I also need to add a post-build step to the project.
I've looked through their documentation but I haven't seen any mention of being able to do this. Is this possible? If so, is there any documentation or examples of this available?
Using PowerShell script, you can access the rich VS DTE object model. This allows your package to do all kind of things that NuGet doesn't have specific features for. Look at this help topic for some info on using init.ps1 or install.ps1.