[Crosswalk] Integrate with Crosswalk gclient machinary.
authorAntonio Gomes <a1.gomes@samsung.com>
Wed, 3 Dec 2014 14:07:33 +0000 (06:07 -0800)
committerYoungsoo Choi <kenshin.choi@samsung.com>
Tue, 10 Jul 2018 06:57:09 +0000 (06:57 +0000)
commit2f27f8b6117f6843dc545c05451683319cb901a2
tree2417477cb95d75321e2302578142f324757b15ce
parentb13235a3be5de4768c9e9e6357a0a59779a40073
[Crosswalk] Integrate with Crosswalk gclient machinary.

Crosswalk first pulls itself (into src/xwalk) and then re-run
gclient in order to pull src and all its dependencies.

Patch makes it possible to pull in a custom src and blink code
by forking and adapting src/walk/DEPS.xwalk and src/xwalk/generate_gclient-xwalk.py.
(see script/xwalk). Patch also reintroduces sync_repos.sh, adapted
to crosswalk's integration needs.

Patch also adapts our build system to have .gclient as entry point.

Precedure:

$ create .gclient file (as below)
$ gclient sync

Details:

1) Gclient pulls chromium-efl into "src/tizen_src".
2) The it runs 3 custom hooks in order to get the rest of the source:
*) fetch-src-blink: src/tizen_src/sync_repos.sh is called and
   pulls in src and src/third_party/WebKit from a pre-defined locations.
*) generate-gclient-xwalk: .gclient-xwalk is created by running
   src/tizen_src/scripts/xwalkgenerate_gclient-xwalk.py (this is a fork
   of the same script in xwalk repository).
4) 'fetch-deps': actually fetches all depedencies in .gclient-xwalk.

.gclient content:

solutions = [
  { "name"        : "src/tizen_src",
    "url"         : "<chromium_efl_clone_url@branch>",
    "deps_file"   : "DEPS",
    "managed"     : True,
    "custom_hooks": [
      {
        # fetch custom src and blink repositories.
        "name": "fetch-src-blink",
        "pattern": ".",
        "action": ["src/tizen_src/sync_repos.sh"],
      },
      {
        # Generate .gclient-xwalk for Crosswalk's dependencies.
        "name": "generate-gclient-xwalk",
        "pattern": ".",
        "action": ["python", "src/tizen_src/scripts/xwalk/generate_gclient-xwalk.py"],
      },
      {
        # Fetch Crosswalk dependencies.
        "name": "fetch-deps",
        "pattern": ".",
        "action": ["python", "src/xwalk/tools/fetch_deps.py", "-v"],
      },
      {
        # At some point, we will integrate to gyp_xwalk. Not now...
        "name": "gyp-xwalk",
      }
    ],
    "safesync_url": "",
  },
]
cache_dir = None

Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=8505

Change-Id: I6d189daa1eae37a963422e0e0aa9102d871c667c
Signed-off-by: Piotr Tworek <p.tworek@samsung.com>
tizen_src/scripts/xwalk/DEPS.xwalk [new file with mode: 0644]
tizen_src/scripts/xwalk/generate_gclient-xwalk.py [new file with mode: 0755]
tizen_src/sync_repos.sh