Open Vlad-Ali opened 3 days ago
у нас исходный код лежит не в src/
, а в app/src/
а файл из ресурсов лучше загружать вот так:
ClassLoader classLoader = this.getClass().getClassLoader();
File file = new File(classLoader.getResource("RssTestFile.xml").getFile());
(и сам файл должен лежать не в app/arc/main/resources
, а в app/src/test/resources
, ведь он для тестов и читается из модуля тестов)
Папку app в эту ветку лучше не засылать, так как в main есть такая же. Тогда как лучше заслать сюда app, создать еще папку, в которой будет app, или как-то по-другому?
Папку app в эту ветку лучше не засылать, так как в main есть такая же
...почему? я для кого структуру проекта делал?) если что, та система, которая у нас на ревью для контестов - чисто для удобства, потому что это не единая кодовая база, а отдельные задачи. в нормальных преоктах люди работают над одними и теми же файлами в одних и тех же директориях (но все же лучше, чтобы работа над одними и теми же файлами происходила последовательно, а не параллельно: так логичнее и будет меньше merge-конфликтов)
А функцию main можно не засылать, правильно? Только папку с нужными классами и тестами, то есть всегда так в ветку нужно засылать?
ну да, тестов достаточно для подтверждения работоспособности)
Все dependency, которые используются, нужно добавлять в build.gradle.kts, верно?
@Vlad-Ali да, в формате:
implementation("com.sparkjava:spark-core:2.9.4")
в блок dependencies
(обрати внимание на двоеточия)
а еще твоя задача сделать так, чтобы ci со сборкой не крашился
если что, сборку можно запускать локально, в IntelliJ справа должно быть меню gradle, там нужно запустить таск build
и да, удали src/
, которая лежит вне app/
...не надо полностью перезаписывать build.gradle.kts
...не надо полностью перезаписывать
build.gradle.kts
. Я случайно не тот build добавил, новые implementation только написал
замени пж блок dependencies
на
dependencies {
testImplementation(libs.junit.jupiter)
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
compileOnly("org.jetbrains:annotations:25.0.0")
implementation("org.slf4j:slf4j-api:2.0.16")
implementation("ch.qos.logback:logback-classic:1.5.12")
implementation("org.jsoup:jsoup:1.18.1")
implementation("com.rometools:rome:2.1.0")
}
настрой, пожалуйста у себя в IDE разделители строк не CRLF, а LF и, желательно, не просто в файлах этого проекта, а в глобальных настройках тоже так всем жить будет проще) (да, именно из-за этого в диффах показывается, что ты удалил и добавил одно и то же: там разные разделители строк)
в данный момент нас интересует только класс
RssParser
и dtoArticle
, который я бы переименовал вParsedArticle
, чтобы избежать путаницы в дальнейшем, и вообще, заменил бы на record. все остальное абсолютно не нужно, максимум - в тестах (которых, кстати, нет). и да, ты это, конечно, ловко придумал - поместить все в новый пакет, чтобы пайплайн не крашился, но будь добр, перенеси упомянутые мной выше классы вorg.hsse.news.parser
и напиши к ним тесты :)