Контекст: В настоящее время я работаю над инструментом исследования, который должен быть полезен для API Travis для получения информации о сборках из тысяч проектов на Github. Я хочу найти лучший способ узнать, используют ли проекты Maven или Gradle в качестве инструмента построения.Как отличить maven и gradle от журналов Travis с помощью regexp
я получить журналы из Travis Сборки и разобрать их, потому что теперь я использую следующий шаблон для мавена:
^(-------------------------------------------------------|\[INFO\] Reactor Summary:)$
и это один для Gradle:
^(:[\w-]+)?:test[\w-]*$
Проблема я нашел ежедневные новые проекты, которые не соответствуют этому регулярному выражению: тогда у вас есть идея улучшить их, чтобы определить максимум проектов без ложных срабатываний?
Редактировать: меня интересуют проекты, которые запускают тесты, поэтому я начал с этого регулярного выражения.
является '' INFO' test' и 'Reactor Summary' фиксированной? – m87
Во-первых, я должен уточнить, что меня больше всего интересует проект, который запускает тесты. И, откровенно говоря, я в основном продвигался к этим регулярным выражениям: большинство журналов maven, с которыми я столкнулся, имеют строку [INFO] Reactor Summary, за исключением случаев, когда вы запускаете maven в тихом режиме: тогда я могу поймать некоторую строку тире при запуске тестов. И для градиента большая часть проекта имеет несколько тестовых заданий с префиксом «тест». –
Почему синтаксический анализ журналов ... почему бы не разделить проекты? – khmarbaise