Bug 61772 - [Meta] WebKit should have a tool to manipulate project files
Summary: [Meta] WebKit should have a tool to manipulate project files
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P3 Normal
Assignee: Roland Steiner
URL:
Keywords:
Depends on: 63527 64505 64507 81317 61773 63419 63514 64148 64149 64506 64511 82595
Blocks:
  Show dependency treegraph
 
Reported: 2011-05-31 01:53 PDT by Roland Steiner
Modified: 2017-07-18 08:29 PDT (History)
10 users (show)

See Also:


Attachments
work-in-progress, all-in-one (298.53 KB, patch)
2012-03-30 04:15 PDT, Roland Steiner
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Roland Steiner 2011-05-31 01:53:57 PDT
I often wished there was a simple tool to automate adding, removing and renaming files, and that also correctly updates all project files along the way. So, in order to scratch that itch, I'd go ahead and implement said tool.

Suggested syntax:

    Tools/Scripts/webkit-file add/rm/mv [options] file...

At first I would limit webkit-file to adding files (and perhaps just files in Sources/WebCore), and gradually expand the tool. For example:

    webkit-file add -cpp -h Sources/WebCore/html/toaster/HTMLToasterElement

would:

.) if the files don't exist: add new files HTMLToasterElement.cpp and HTMLToasterElement.h to the Sources/WebCore/html/toaster, and add the default boiler plate content
.) add this file to all relevant project files, <xyz>AllInOne.cpp, etc.
.) if the 'toaster' directory is new: adds a new project group 'toaster'
.) if in a git checkout: runs 'git add' for all affected files
Comment 1 Roland Steiner 2012-03-30 04:15:28 PDT
Created attachment 134769 [details]
work-in-progress, all-in-one

Uploading current work-in-progress state in one big all-in-one patch, as I'll be away from the project again for a while (and in case someone wants to hack on it).

This contains everything the patches for the individual child-bugs contain as well, plus some initial code for Visual Studio projects.