-
Notifications
You must be signed in to change notification settings - Fork 367
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Versioning support without access to full SHFB projects #240
Comments
SHFB needs something to use for comparison with the current version in order to determine what changed (reflection information files). It needs the prior versions to generate those information files. In theory, you could generate the reflection data and as long as you keep the resulting reflection information files, substitute them in place of parsing the assemblies (i.e. update the plug-in to support reflection information files in place of a project that gets built). You also need the XML comments files for the older versions too since the comments from older members would still be needed as well. As such, you'd still need to manage those plus the reflection data files for the prior releases and keep them in source control. |
What if, after each documentation compilation, SHFB could save all the necessary information for further referencing this just-compiled version in a separate directory, that could then be under version control? The files could be named according to the documentation version string used in the configuration editor. They could even be just a dynamically created .zip containing the .dll, .xml and .shfb files that have been used in the last compilation. Yes, this could be done manually, but the point is just to make it easier to manage the information regarding the previous versions and make the process as automated as possible. |
All that should be needed is a variation or extension of the reflection data set files used to build the framework reflection data. The data set file, the results of building it (the reflection data XML files), along with the XML comments files could be stored in source control. The data set file would be referenced in lieu of a SHFB project and its outputs would be pulled in rather than building a SHFB project file. That's the theory anyway. I just haven't had time to pursue it yet. |
Merged with #898 |
I am trying to use the Version Builder Plug-In for indicating which parts of my library are supported by which versions of my library.
It seems that to use this plugin, one needs to point the
.shfbproj
file for the documentation of the current version to all.shfbproj
files of previous versions to consider. These.shfbproj
files, as usual, will need the compiled assembly as well as the extracted documentation Xml file.This is where I am seeing some practical issues:
.shfbproj
files of previous releases. Sure, they are in the Git repository of my project, but the point of a VCS like Git is normally to have the system manage the different versions of each file, bring back specific versions upon request, and relieve me of the necessity to have all previous versions lying around side by side..shfbproj
file expects them does not seem practical..shfbproj
file to first check out and build all prior release versions of my library does not seem right, either.Is there anything I am missing here? I suppose a workable middle ground could be some "digest file" for each release version that just stores a list of all types and members contained in the respective version (as that is really the only bit of information that will appear in the final documentation); this file could be checked into the VCS while keeping the amount of somewhat redundant information to a minimum ... is there any feature like this? Or is there a chance something like this might be added?
The text was updated successfully, but these errors were encountered: