kicad/qa
Wayne Stambaugh 7183e9f97e Make the new schematic and symbol library file formats the default.
This is a very large and potentially disruptive change so this will be an
unusually long and detailed commit message.

The new file formats are now the default in both the schematic and symbol
library editors.  Existing symbol libraries will be saved in their current
format until new features are added to library symbols.  Once this happens,
both the legacy schematic and symbol file formats will be no longer be
savable and existing libraries will have to be converted.  Saving to the
legacy file formats is still available for round robin testing and should
not be used for normal editing.

When loading the legacy schematic file, it is imperative that the schematic
library symbols are rescued and/or remapped to valid library identifiers.
Otherwise, there will be no way to link to the original library symbol and
the user will be required manually set the library identifier.  The cached
symbol will be saved in the schematic file so the last library symbol in
the cache will still be used but there will be no way to update it from the
original library.

The next save after loading a legacy schematic file will be converted to
the s-expression file format.  Schematics with hierarchical sheets will
automatically have all sheet file name extensions changed to .kicad_sym
and saved to the new format as well.

Appending schematics requires that the schematic to append has already been
converted to the new file format.  This is required to ensure that library
symbols are guaranteed to be valid for the appended schematic.

The schematic symbol library symbol link resolution has been moved out of
the SCH_COMPONENT object and move into the SCH_SCREEN object that owns the
symbol.  This was done to ensure that there is a single place where the
library symbol links get resolved rather than the dozen or so different
code paths that previously existed.  It also removes the necessity of the
SCH_COMPONENT object of requiring any knowledge of the symbol library table
and/or the cache library.

When opening an s-expression schematic, the legacy cache library is not
loaded so any library symbols not rescued cannot be loaded.  Broken library
symbol links will have to be manually resolved by adding the cache library
to the symbol library table and changing the links in the schematic symbol.

Now that the library symbols are embedded in the schematic file, the
SCH_SCREEN object maintains the list of library symbols for the schematic
automatically.  No external manipulation of this library cache should ever
occur.

ADDED: S-expression schematic and symbol library file formats.
2020-05-04 12:40:03 +00:00
..
common Fix bug in testcase. 2020-05-01 18:49:42 +01:00
common_tools Implement a new settings framework across all of KiCad 2020-02-19 23:44:56 -05:00
data QA: Move contents qa_shape_poly_set_refactor to qa_common 2019-01-29 08:15:44 -05:00
eeschema Make the new schematic and symbol library file formats the default. 2020-05-04 12:40:03 +00:00
gal/gal_pixel_alignment Use Record handling for parsing 2020-04-03 23:22:24 +00:00
libs Start unit tests for math library trigonometry functions. 2020-03-05 07:34:26 -05:00
pcb_test_window Convert all CMake paths to absolute instead of relative 2020-01-22 23:27:20 +00:00
pcbnew There are 3 courtyard DRC checks, not 2. 2020-05-01 18:49:42 +01:00
pcbnew_tools There are 3 courtyard DRC checks, not 2. 2020-05-01 18:49:42 +01:00
pcbnew_utils Add build dependency on pcbcommon in qa test 2020-03-01 17:03:12 +00:00
qa_utils Remove dead legacy print code. 2020-04-20 17:03:38 +01:00
testcases QA: fix a python test issue due to code changes in board.h 2020-02-23 20:18:06 +01:00
unit_test_utils Move library includes to main CMake file 2020-04-19 01:11:56 +01:00
utils/kicad2step Reinstate "QA: Tweak boost print helper macro"" 2019-05-24 13:23:51 +01:00
CMakeLists.txt QA: Add build-time option to enable XML output from tests 2019-04-18 10:59:06 +01:00
test.py QA: Add build-time option to enable XML output from tests 2019-04-18 10:59:06 +01:00