2015-09-08 2 views
0

Я использую дугу как инструмент для проверки кода. Bin/arc не находится в git repo, но я хочу добавить тестовый движок в git repo. Таким образом, я создавать каталоги тест-система, в тест-двигателя:Как добавить самонастраивающийся блок-движок к арканисту

__phutil_library_init__.php 
__phutil_library_map__.php, 
src/PyEngine.php 

phutil_library_init .php:

<?php 

    phutil_register_library('PyEngine', __FILE__); 

the __phutil_library_map__.php: 

    phutil_register_library_map(array(
     '__library_version__' => 2, 
     'class' => 
     array(
      'PyEngine' => 'src/PyEngine.php', 
     ), 
     'function' => 
     array(
     ), 
     'xmap' => 
     array(
      'PyEngine' => 'ArcanistUnitTestEngine', 
     ), 
    )); 

.arcconfig:

{ 
    "phabricator.uri" : "blabla", 
    "load" : [ 
     "test-engine" 
    ], 
    "unit.engine" : "PyEngine" 
} 

, но когда я он сообщает об ошибке:

phutil_register_library_map(array(
     '__library_version__' => 2, 
     'class' => 
     array(
     'PyEngine' => 'src/PyEngine.php', 
    ), 
     'function' => 
     array(
    ), 
     'xmap' => 
     array(
     'PyEngine' => 'ArcanistUnitTestEngine', 
    ), 
    ));[2015-09-08 09:11:55] ERROR 8: Undefined index: PyEngine at [~/Documents/codes/arcanist/libphutil/src/moduleutils/PhutilBootloader.php:136] 
    PyEngine(head=dev, ref.master=fc7de2baac4e, ref.dev=615bad5693e1), arcanist(head=master, ref.master=968f4ae5d73e), phutil(head=master, ref.master=55f554b618b9) 
     #0 PhutilBootloader::getLibraryMap(string) called at [<phutil>/src/symbols/PhutilSymbolLoader.php:194] 
     #1 PhutilSymbolLoader::selectAndLoadSymbols() called at [<phutil>/src/moduleutils/PhutilBootloader.php:78] 
     #2 PhutilBootloader::registerLibrary(string, string) called at [<phutil>/src/moduleutils/core.php:4] 
     #3 phutil_register_library(string, string) called at [<PyEngine>/__phutil_library_init__.php:3] 
     #4 include_once(string) called at [<phutil>/src/moduleutils/PhutilBootloader.php:226] 
     #5 PhutilBootloader::executeInclude(string) called at [<phutil>/src/moduleutils/PhutilBootloader.php:207] 
     #6 PhutilBootloader::loadLibrary(string) called at [<phutil>/src/moduleutils/core.php:12] 
     #7 phutil_load_library(string) called at [<arcanist>/scripts/arcanist.php:611] 
     #8 arcanist_load_libraries(array, boolean, string, ArcanistWorkingCopyIdentity) called at [<arcanist>/scripts/arcanist.php:162] 
    phutil_register_library_map(array(
     '__library_version__' => 2, 
     'class' => 
     array(
     'PyEngine' => 'src/PyEngine.php', 
    ), 
     'function' => 
     array(
    ), 
     'xmap' => 
     array(
     'PyEngine' => 'ArcanistUnitTestEngine', 
    ), 
    ));[2015-09-08 09:11:55] ERROR 8: Undefined index: PyEngine at [~/Documents/codes/arcanist/libphutil/src/moduleutils/PhutilBootloader.php:136] 
    PyEngine(head=dev, ref.master=fc7de2baac4e, ref.dev=615bad5693e1), arcanist(head=master, ref.master=968f4ae5d73e), phutil(head=master, ref.master=55f554b618b9) 
     #0 PhutilBootloader::getLibraryMap(string) called at [<phutil>/src/symbols/PhutilSymbolLoader.php:194] 
     #1 PhutilSymbolLoader::selectAndLoadSymbols() called at [<phutil>/src/__phutil_library_init__.php:22] 
     #2 __phutil_autoload(string) 
     #3 spl_autoload_call(string) 
     #4 call_user_func_array(array, array) called at [<phutil>/src/console/format.php:7] 
     #5 phutil_console_format(string, string) called at [<arcanist>/scripts/arcanist.php:413] 
    [2015-09-08 09:11:55] EXCEPTION: (Exception) libphutil v1 libraries are no longer supported. at [<phutil>/src/moduleutils/PhutilBootloader.php:144] 
    PyEngine(head=dev, ref.master=fc7de2baac4e, ref.dev=615bad5693e1), arcanist(head=master, ref.master=968f4ae5d73e), phutil(head=master, ref.master=55f554b618b9) 
     #0 PhutilBootloader::getLibraryMap(string) called at [<phutil>/src/symbols/PhutilSymbolLoader.php:194] 
     #1 PhutilSymbolLoader::selectAndLoadSymbols() called at [<phutil>/src/__phutil_library_init__.php:22] 
     #2 __phutil_autoload(string) 
     #3 spl_autoload_call(string) 
     #4 call_user_func_array(array, array) called at [<phutil>/src/console/format.php:7] 
     #5 phutil_console_format(string, string) called at [<arcanist>/scripts/arcanist.php:413] 

Как я могу правильно добавить двигатель блока?

ответ

1

Вы снова запустили arc liberate после добавления своего класса (и использовали ли он для создания вашей библиотеки в первую очередь)?

Вы можете получить немного информации (это официально не поддерживается) здесь: https://secure.phabricator.com/book/phabcontrib/article/adding_new_classes/