16d528ed9Sopenharmony_ci# Copyright 2019 The Chromium Authors. All rights reserved.
26d528ed9Sopenharmony_ci# Use of this source code is governed by a BSD-style license that can be
36d528ed9Sopenharmony_ci# found in the LICENSE file.
46d528ed9Sopenharmony_ci
56d528ed9Sopenharmony_ciimport("//build/config/ios/templates/ios_app_bundle.gni")
66d528ed9Sopenharmony_ciimport("//build/config/ios/templates/ios_framework_bundle.gni")
76d528ed9Sopenharmony_ciimport("//build/config/ios/templates/storyboards.gni")
86d528ed9Sopenharmony_ci
96d528ed9Sopenharmony_ciios_app_bundle("hello") {
106d528ed9Sopenharmony_ci  output_name = "Hello"
116d528ed9Sopenharmony_ci  info_plist = "resources/Info.plist"
126d528ed9Sopenharmony_ci
136d528ed9Sopenharmony_ci  sources = [ "main.m" ]
146d528ed9Sopenharmony_ci
156d528ed9Sopenharmony_ci  deps = [ ":hello_framework+bundle" ]
166d528ed9Sopenharmony_ci}
176d528ed9Sopenharmony_ci
186d528ed9Sopenharmony_ciios_framework_bundle("hello_framework") {
196d528ed9Sopenharmony_ci  output_name = "HelloMain"
206d528ed9Sopenharmony_ci
216d528ed9Sopenharmony_ci  sources = [
226d528ed9Sopenharmony_ci    "AppDelegate.h",
236d528ed9Sopenharmony_ci    "AppDelegate.m",
246d528ed9Sopenharmony_ci    "SceneDelegate.h",
256d528ed9Sopenharmony_ci    "SceneDelegate.m",
266d528ed9Sopenharmony_ci    "ViewController.h",
276d528ed9Sopenharmony_ci    "ViewController.m",
286d528ed9Sopenharmony_ci    "hello_main.m",
296d528ed9Sopenharmony_ci  ]
306d528ed9Sopenharmony_ci
316d528ed9Sopenharmony_ci  frameworks = [
326d528ed9Sopenharmony_ci    "CoreGraphics.framework",
336d528ed9Sopenharmony_ci    "Foundation.framework",
346d528ed9Sopenharmony_ci    "UIKit.framework",
356d528ed9Sopenharmony_ci  ]
366d528ed9Sopenharmony_ci
376d528ed9Sopenharmony_ci  deps = [
386d528ed9Sopenharmony_ci    ":foo",
396d528ed9Sopenharmony_ci    ":storyboards",
406d528ed9Sopenharmony_ci    "//shared:hello_framework",
416d528ed9Sopenharmony_ci    "//shared:hello_framework+bundle",
426d528ed9Sopenharmony_ci  ]
436d528ed9Sopenharmony_ci}
446d528ed9Sopenharmony_ci
456d528ed9Sopenharmony_cistoryboards("storyboards") {
466d528ed9Sopenharmony_ci  sources = [
476d528ed9Sopenharmony_ci    "resources/LaunchScreen.storyboard",
486d528ed9Sopenharmony_ci    "resources/Main.storyboard",
496d528ed9Sopenharmony_ci  ]
506d528ed9Sopenharmony_ci}
516d528ed9Sopenharmony_ci
526d528ed9Sopenharmony_cisource_set("baz") {
536d528ed9Sopenharmony_ci  module_name = "Baz"
546d528ed9Sopenharmony_ci  sources = [ "Baz.swift" ]
556d528ed9Sopenharmony_ci}
566d528ed9Sopenharmony_ci
576d528ed9Sopenharmony_cisource_set("bar") {
586d528ed9Sopenharmony_ci  module_name = "Bar"
596d528ed9Sopenharmony_ci  sources = [ "Bar.swift" ]
606d528ed9Sopenharmony_ci  deps = [ ":baz" ]
616d528ed9Sopenharmony_ci}
626d528ed9Sopenharmony_ci
636d528ed9Sopenharmony_cigroup("bar_indirect") {
646d528ed9Sopenharmony_ci  public_deps = [ ":bar" ]
656d528ed9Sopenharmony_ci}
666d528ed9Sopenharmony_ci
676d528ed9Sopenharmony_cisource_set("foo") {
686d528ed9Sopenharmony_ci  module_name = "Foo"
696d528ed9Sopenharmony_ci  bridge_header = "Foo-Bridging-Header.h"
706d528ed9Sopenharmony_ci  sources = [
716d528ed9Sopenharmony_ci    "Foo.swift",
726d528ed9Sopenharmony_ci    "FooWrapper.swift",
736d528ed9Sopenharmony_ci  ]
746d528ed9Sopenharmony_ci  deps = [ ":bar_indirect" ]
756d528ed9Sopenharmony_ci}
76