## Class virtual-target

virtual-target —

仮想ターゲットの抽象クラス

## Synopsis

    class virtual-target {
      rule __init__ ( name : project ) { }
      rule name ( ) { }
      rule project ( ) { }
      rule depends ( d + ) { }
      rule dependencies ( ) { }
      rule actualize ( scanner ? ) { }
      rule actualize-action ( target ) { }
      rule actualize-location ( target ) { }
      rule path ( ) { }
      rule actual-name ( ) { }
      rule actualize-no-scanner ( ) { }
    }

## Description

1.     rule __init__ ( name : project )

   引数 | 型 | 意味
   --- | --- | ---
   name | 文字列 | 仮想ターゲットの名前
   project | project-target | 仮想ターゲットの属するプロジェクト

   Effects:
     仮想ターゲットを作成する

2.     rule name ( )

   Returns:
     仮想ターゲットの名前

3.     rule project ( )

   Returns:

     型 | 意味
     --- | ---
     project-target | 仮想ターゲットのプロジェクト

4.     rule depends ( d + )

   引数 | 型 | 意味
   --- | --- | ---
   d | virtual-targetのリスト | 追加する仮想ターゲットのリスト

   Effects:
     `d`の各要素を、この仮想ターゲットが依存する仮想ターゲットのリストに追加する

5.     rule dependencies ( )

   Returns:

     型 | 意味
     --- | ---
     virtual-targetのリスト | この仮想ターゲットが依存する仮想ターゲットのリスト

6.     rule actualize ( scanner ? )

   引数 | 型 | 意味
   --- | --- | ---
   scanner | scanner | スキャナ

   Effects:

     仮想ターゲットから実ターゲットを生成し、ビルドアクションを設定する。

     `scanner`が指定されていれば、そのスキャナを用いて依存する実ターゲットを設定する。

   Returns:
     生成された実ターゲットの名前
   Notes:
     通常、このルールはオーバーライドせずにactualize-no-scannerをオーバーライドする。

7.     rule actualize-action ( target )

   Effects:

     実ターゲット`target`に対するビルドアクションを生成する

   Notes:
     このルールは派生クラスで必ずオーバーライドしなければならない。

8.     rule actualize-location ( target )

   Effects:

     実ターゲット`target`にディレクトリ位置を設定する

   Notes:
     このルールは派生クラスで必ずオーバーライドしなければならない。

9.     rule path ( )

   Returns:

     生成されるファイルがあればそのパス名、なければ空

   Notes:
     このルールは派生クラスで必ずオーバーライドしなければならない。

10.     rule actual-name ( )

    Returns:

      実ターゲットの名前

    Notes:
      このルールは派生クラスで必ずオーバーライドしなければならない。

11.     rule actualize-no-scanner ( )

    Purpose:

      actualizeの動作を実装する

    Effects:

      仮想ターゲットから実ターゲットを生成し、ビルドアクションを設定する。

    Returns:

      生成された実ターゲットの名前

    Notes:
      このルールは派生クラスで必ずオーバーライドしなければならない。