User:Callahanp: Difference between revisions

Jump to navigation Jump to search
m
Line 19: Line 19:
=== Development Operations ===
=== Development Operations ===


I am making an effort to define and show examples of development operations for various parts of Flightgear Code and Data including all SourceForge Git repositories, Scenery, Aircraft, Aircraft Hangars, Airport Data. Add-Ons and anything else that can be used with Flightgear.
I am making an effort to define and give detailed examples of development operations for various parts of Flightgear Code and Data including all SourceForge Git repositories, Scenery, Aircraft, Aircraft Hangars, Airport Data. Add-Ons and anything else that can be used with Flightgear. This will include items that fall under the FlightGear SourceForge project, and other projects that do not.
This Page will be organized not around specific kinds of development, but around the development operations common to all of them.  Operations include obtaining source materials, preparatory steps, ongoing operational readiness tasks, building, modifying, debugging, testing, and submitting changes.  I'll explain further and give examples of the individual operations needed to accomplish these tasks for all types of FlightGear material, whether source code or data, regardless of the type of file or where it's upstream repository resides. 


Operations include obtaining source materials, preparatory steps, operational readiness tasks, building, modifying, debugging, testing, and submitting changes.  I'll explain further and give examples of the individual operations needed to accomplish these tasks for all types of FlightGear material, whether source code or data, regardless of the type of file or where it's upstream repository resides. 
When finished, this guide is intended to be comprehensive.  If you participate in the development of anything used with or within flightgear, with few exceptions, you'll be able to find information on specific commands and procedures needed to complete the listed operational tasks.  It's currently under rapid development, with attention focused currently on correctly obtaining source materials for C & C++ programming of the main application.  Where expansion is needed to cover other types of materials, we'll make notes at the end of the section.
 
When finished, this guide is intended to be complete.  If you participate in the development of anything used with or within flightgear, with few exceptions, you'll be able to find information on specific commands and procedures needed to complete the eight operational tasks.  It's currently under rapid development, with attention focused currently on correctly obtaining source materials for C & C++ programming of the main application.


Here are a few examples of the Operations of each type:
Here are a few examples of the Operations of each type:
Line 33: Line 32:
| Obtaining Source Materials || <li>Cloning Flightgear Git Repositories Locally </li> <li>Creating Personal Forks of Flightgear Repositories and cloning them locally </li>
| Obtaining Source Materials || <li>Cloning Flightgear Git Repositories Locally </li> <li>Creating Personal Forks of Flightgear Repositories and cloning them locally </li>
|-
|-
| preparatory steps || <li>installing pre-requisite software</li><li> collecting information about the exact current location for upstream source code and data </li> <li> Establishing a SourceForge Account</li> <li> Creating an SSH Key and readying it for use with Sourceforge </li> <li>Establishing a build script that can be used with multiple branches and which can build Release, RelWithDebInfo and Debug versions of executables</li>
| Preparatory Steps || <li>installing pre-requisite software</li><li> collecting information about the exact current location for upstream source code and data </li> <li> Establishing a SourceForge Account</li> <li> Creating an SSH Key and readying it for use with Sourceforge </li> <li>Establishing a build script that can be used with multiple branches and which can build Release, RelWithDebInfo and Debug versions of executables</li><li> Ensuring that Ongoing Operational Readiness Tasks are well documented, understood and used as appropriate</li>
|-
|-
| Operational Readiness Tasks || <li>Ensuring that when switching branches, that changes on the previously current branch are not lost</li> <li>Ensuring that local clones used in a build are on the correct branch for the desired build</li>  
| Ongoing Operational Readiness Tasks || <li>Ensuring that when switching branches, that changes on the previously current branch are not lost</li> <li>Ensuring that local clones used in a build are on the correct branch for the desired build</li> <li>Establishing working branches for specific enhancements</li> <li>Ensuring that sufficient testing has been performed before pushing changes upstream</li>
|-
|-
| Building || Executing a script containing a series of CMake commands to build specific parts of flightgear </li><li>Executing a script or program that processes data in raw form to produce a different form of data directly usable by FlightGear (OSM data for example) </li>
| Building || Executing a script containing a series of CMake commands to build specific parts of flightgear </li><li>Executing a script or program that processes data in raw form to produce a different form of data directly usable by FlightGear (OSM data for example) </li>
|-
|-
| Modifying || <li>Using an Editor or IDE to modify or add C++ Code </li><li>  Using Blender to do something to an aircraft </li><li>Adding a building to scenery</li>
| Modifying || <li>Using an Editor or IDE to modify or add C++ Code </li><li>  Using Blender, GIMP, or other graphical editing tool to do something for an aircraft </li><li>Adding a building to scenery</li>
|-
|-
| Debugging || <li>Using the GDB debugger in command line mode </li><li>Using the GDB debugger in an IDE</li>-
| Debugging || <li>Using the GDB debugger in command line mode </li><li>Using the GDB debugger in an IDE</li>-
Line 48: Line 47:
|}
|}


Many of the source materials for the flightgear application are maintained as repositories on SourceForge.  [https://sourceforge.net/p/flightgear/_list/git Complete FlightGear SourceForge Repository List].  Two of these Repositories are no longer used: FGCom and FGRun.  These repositories are obsolete because their functional parts have been included within FlightGear.
==== Obtaining Source Materials ====
 
FlightGear related Source Materials may be hosted in a number of different services.  Depending on the exact material, you may be working with files from the FlightGear Project on SourceForge, other SourceForge projects, projects from GitHub, GitLab or other SCM repository service.  You may be dealing with data that originates in other Simulation Projects, or with code from supporting libraries such as Open Scene Graph.
 
Quite a lot of the source materials for the flightgear application are maintained as repositories on SourceForge.  [https://sourceforge.net/p/flightgear/_list/git Complete FlightGear SourceForge Repository List].  Two of these Repositories are no longer used: FGCom and FGRun.  These repositories are obsolete because their functional parts have been included within FlightGear.


These four repositories make up the core Flightgear Application
These four Source Forge repositories make up the core Flightgear Application


* [https://sourceforge.net/p/flightgear/fgdata/ fgdata]
* [https://sourceforge.net/p/flightgear/fgdata/ fgdata]
Line 57: Line 60:
* [https://sourceforge.net/p/flightgear/fgmeta/ fgmeta]  
* [https://sourceforge.net/p/flightgear/fgmeta/ fgmeta]  


This special purpose repository is used when building flightgear on Windows by users who prefer to use pre-build pre-requisite packages.
This special purpose repository is used when building flightgear on Windows by users who prefer to use pre-built pre-requisite packages.


* [https://sourceforge.net/p/flightgear/windows-3rd-party/ windows-3rd-party]  
* [https://sourceforge.net/p/flightgear/windows-3rd-party/ windows-3rd-party]  


These repositories are for items such as a manual, web services used with flightgear, and addtional data that is separately downloaded by the running application.
These additional SourceForge repositories are for items such as a manual, web services used with flightgear, and addtional data that is separately downloaded by the running application.
* [https://sourceforge.net/p/flightgear/getstart/ getstart]  
* [https://sourceforge.net/p/flightgear/getstart/ getstart]  
* [https://sourceforge.net/p/flightgear/maclauncher/ maclauncher]  
* [https://sourceforge.net/p/flightgear/maclauncher/ maclauncher]  
936

edits

Navigation menu