Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#
# https://help.github.com/articles/dealing-with-line-endings/
#
# Linux start script should use lf
/gradlew text eol=lf

# These are Windows script files and should use crlf
*.bat text eol=crlf

# Binary files should be left untouched
*.jar binary

10 changes: 9 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -35,4 +35,12 @@ build/
.vscode/

### Mac OS ###
.DS_Store
.DS_Store
# Ignore Gradle project-specific cache directory
.gradle

# Ignore Gradle build output directory
build

# Ignore Kotlin plugin data
.kotlin
10 changes: 10 additions & 0 deletions .idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions .idea/.name

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions .idea/encodings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 16 additions & 0 deletions .idea/gradle.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

20 changes: 3 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,6 @@
# Практическое задание 1 # CSV Writer
# CsvWriter

Мы пишем приложение, которое должно генерировать отчеты в разных форматах и нам хочется генерировать какой-нибудь отчёт в CSV, но проблема в том, что у нас нет такого инструмента. Поэтому мы решаем, что нам нужна библиотека для генерации CSV файлов.
Реализация может быть построена с помощью Reflection и аннотаций.
Java library for writing CSV files.

Папка model содержит классы, которые нужно сохранять в CSV. Классы можно изменять и добавлять новые.
## Build

**Описание:**<br>
✅ Написать реализацию Writable, которая будет сохранять объекты в CSV формате в файл<br>
✅ Написать unit тесты<br>
✅ Написать JavaDoc<br>
✅ Для генерации тестовых данных можно использовать Datafaker<br>
✅ В main должно быть несколько примеров сохранения данных в файл

**Как выполнить:**
1. Сделать форк этого проекта
2. Сделать ветку dev в своем проекте. Выполнять работу в ней
3. После выполнения работы открыть Pull Request в master
4. Назначить ментора ревьювером
5. Отправить ссылку на PR в тг чат ментору
43 changes: 43 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
plugins {
id 'java-library'
id 'maven-publish'
}

group = 'org.writer'
version = '1.0-SNAPSHOT'

java {
toolchain {
languageVersion = JavaLanguageVersion.of(17)
}
}

repositories {
mavenCentral()
}

dependencies {

compileOnly libs.lombok
annotationProcessor libs.lombok

testImplementation libs.junit.jupiter
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
}

test {
useJUnitPlatform()
}

// Публикация либы в локальный репозиторий мавен
publishing {
publications {
mavenJava(MavenPublication) {
from components.java

groupId = 'org.writer'
artifactId = 'csv'
version = '1.0-SNAPSHOT'
}
}
}
6 changes: 6 additions & 0 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# This file was generated by the Gradle 'init' task.
org.gradle.jvmargs=-Xmx2g
org.gradle.daemon=true
org.gradle.parallel=true


7 changes: 7 additions & 0 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[versions]
lombok = "1.18.34"
junit-jupiter = "5.10.2"

[libraries]
lombok = { module = "org.projectlombok:lombok", version.ref = "lombok" }
junit-jupiter = { module = "org.junit.jupiter:junit-jupiter", version.ref = "junit-jupiter" }
Binary file added gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
7 changes: 7 additions & 0 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-9.0.0-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading