[Settings] Replace current Settings generation with template file based approach
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 23 Oct 2017 03:13:33 +0000 (03:13 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 23 Oct 2017 03:13:33 +0000 (03:13 +0000)
commitfd4b6edc418c908f1fc4749ce9496113f9b6af6c
tree86b70cfb3b3309722133826f01a35807c0353286
parentfee1ffcdfc1d5ebc9c0b0db42f1edcec085ca037
[Settings] Replace current Settings generation with template file based approach
https://bugs.webkit.org/show_bug.cgi?id=178634

Patch by Sam Weinig <sam@webkit.org> on 2017-10-22
Reviewed by Joseph Pecoraro.

This replaces the recently added python based Settings generation with a generator
built in ruby, so we can take advantage of ERB for templating. The result has much
of the logic in the templates and as a result feels much easier to follow and cleaner.

Since I was moving things to ruby, I took the opertunity to switch the Settings definition
file from our .in format to yaml, which is quite a bit easier to read.

* CMakeLists.txt:
* DerivedSources.make:
* Scripts/GenerateSettings: Removed.
* Scripts/GenerateSettings.py: Removed.
* Scripts/GenerateSettings.rb: Added.
* Scripts/GenerateSettings/GenerateInternalSettingsHeaderFile.py: Removed.
* Scripts/GenerateSettings/GenerateInternalSettingsIDLFile.py: Removed.
* Scripts/GenerateSettings/GenerateInternalSettingsImplementationFile.py: Removed.
* Scripts/GenerateSettings/GenerateSettings.py: Removed.
* Scripts/GenerateSettings/GenerateSettingsHeaderFile.py: Removed.
* Scripts/GenerateSettings/GenerateSettingsImplementationFile.py: Removed.
* Scripts/GenerateSettings/Settings.py: Removed.
* Scripts/GenerateSettings/__init__.py: Removed.
* Scripts/SettingsTemplates: Added.
* Scripts/SettingsTemplates/InternalSettingsGenerated.cpp.erb: Added.
* Scripts/SettingsTemplates/InternalSettingsGenerated.h.erb: Added.
* Scripts/SettingsTemplates/InternalSettingsGenerated.idl.erb: Added.
* Scripts/SettingsTemplates/Settings.cpp.erb: Added.
* Scripts/SettingsTemplates/Settings.h.erb: Added.
* WebCore.xcodeproj/project.pbxproj:
* WebCoreMacros.cmake:
* page/Settings.in: Removed.
* page/Settings.yaml: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@223828 268f45cc-cd09-0410-ab3c-d52691b4dbfc
22 files changed:
Source/WebCore/CMakeLists.txt
Source/WebCore/ChangeLog
Source/WebCore/DerivedSources.make
Source/WebCore/Scripts/GenerateSettings.py [deleted file]
Source/WebCore/Scripts/GenerateSettings.rb [new file with mode: 0755]
Source/WebCore/Scripts/GenerateSettings/GenerateInternalSettingsHeaderFile.py [deleted file]
Source/WebCore/Scripts/GenerateSettings/GenerateInternalSettingsIDLFile.py [deleted file]
Source/WebCore/Scripts/GenerateSettings/GenerateInternalSettingsImplementationFile.py [deleted file]
Source/WebCore/Scripts/GenerateSettings/GenerateSettings.py [deleted file]
Source/WebCore/Scripts/GenerateSettings/GenerateSettingsHeaderFile.py [deleted file]
Source/WebCore/Scripts/GenerateSettings/GenerateSettingsImplementationFile.py [deleted file]
Source/WebCore/Scripts/GenerateSettings/Settings.py [deleted file]
Source/WebCore/Scripts/GenerateSettings/__init__.py [deleted file]
Source/WebCore/Scripts/SettingsTemplates/InternalSettingsGenerated.cpp.erb [new file with mode: 0644]
Source/WebCore/Scripts/SettingsTemplates/InternalSettingsGenerated.h.erb [new file with mode: 0644]
Source/WebCore/Scripts/SettingsTemplates/InternalSettingsGenerated.idl.erb [new file with mode: 0644]
Source/WebCore/Scripts/SettingsTemplates/Settings.cpp.erb [new file with mode: 0644]
Source/WebCore/Scripts/SettingsTemplates/Settings.h.erb [new file with mode: 0644]
Source/WebCore/WebCore.xcodeproj/project.pbxproj
Source/WebCore/WebCoreMacros.cmake
Source/WebCore/page/Settings.in [deleted file]
Source/WebCore/page/Settings.yaml [new file with mode: 0644]