diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..13566b8
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
new file mode 100644
index 0000000..fa3d7fb
--- /dev/null
+++ b/.idea/encodings.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..1f6fe7a
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/EmptyProject/pom.xml b/EmptyProject/pom.xml
index 0b30830..0eff727 100644
--- a/EmptyProject/pom.xml
+++ b/EmptyProject/pom.xml
@@ -8,10 +8,43 @@
EmptyProject
1.0-SNAPSHOT
+ EmptyProject
+ A project to test the MavenPlugin
+
17
17
UTF-8
+
+
+ Flawden
+ Flawden
+ topchiidv1998@gmail.com
+
+ Developer
+
+
+
+
+
+
+
+ org.plugin
+ MavenPlugin
+ 1.0-SNAPSHOT
+
+
+ print-developers
+ compile
+
+ print-developers
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/MavenPlugin/pom.xml b/MavenPlugin/pom.xml
index 9f5cd58..5600cc6 100644
--- a/MavenPlugin/pom.xml
+++ b/MavenPlugin/pom.xml
@@ -7,11 +7,59 @@
org.plugin
MavenPlugin
1.0-SNAPSHOT
+ maven-plugin
+
+ MavenPlugin
+ A Maven plugin to print developer information
- 17
- 17
+ 11
+ 11
UTF-8
+
+
+ org.apache.maven
+ maven-plugin-api
+ 3.9.6
+
+
+ org.apache.maven.plugin-tools
+ maven-plugin-annotations
+ 3.13.1
+ provided
+
+
+ org.apache.maven
+ maven-core
+ 3.9.6
+
+
+ org.apache.maven
+ maven-compat
+ 3.9.6
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-plugin-plugin
+ 3.13.1
+
+ devinfo
+
+
+
+ default
+
+ helpmojo
+
+
+
+
+
+
\ No newline at end of file
diff --git a/MavenPlugin/src/main/java/org/plugin/AuthorsNameShower.java b/MavenPlugin/src/main/java/org/plugin/AuthorsNameShower.java
new file mode 100644
index 0000000..b68b992
--- /dev/null
+++ b/MavenPlugin/src/main/java/org/plugin/AuthorsNameShower.java
@@ -0,0 +1,40 @@
+package org.plugin;
+
+import org.apache.maven.model.Developer;
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugins.annotations.LifecyclePhase;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
+import org.apache.maven.project.MavenProject;
+
+import java.util.List;
+
+/**
+ * Плагин для вывода информации о разработчиках из pom.xml.
+ */
+@Mojo(name = "print-developers", defaultPhase = LifecyclePhase.COMPILE)
+public class AuthorsNameShower extends AbstractMojo {
+
+ @Parameter(defaultValue = "${project}", readonly = true, required = true)
+ private MavenProject project;
+
+ @Override
+ public void execute() throws MojoExecutionException {
+ getLog().info("=== Информация о разработчиках ===");
+
+ List developers = project.getDevelopers();
+ if (developers == null || developers.isEmpty()) {
+ getLog().info("Разработчики не указаны в pom.xml");
+ return;
+ }
+
+ for (org.apache.maven.model.Developer developer : developers) {
+ getLog().info("ID: " + (developer.getId() != null ? developer.getId() : "Не указан"));
+ getLog().info("Имя: " + (developer.getName() != null ? developer.getName() : "Не указано"));
+ getLog().info("Email: " + (developer.getEmail() != null ? developer.getEmail() : "Не указан"));
+ getLog().info("Роли: " + (developer.getRoles() != null && !developer.getRoles().isEmpty() ? developer.getRoles() : "Не указаны"));
+ getLog().info("-------------------");
+ }
+ }
+}
\ No newline at end of file
diff --git a/MavenPlugin/src/main/java/org/plugin/Main.java b/MavenPlugin/src/main/java/org/plugin/Main.java
deleted file mode 100644
index 407f157..0000000
--- a/MavenPlugin/src/main/java/org/plugin/Main.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package org.example;
-
-public class Main {
- public static void main(String[] args) {
- System.out.println("Hello world!");
- }
-}
\ No newline at end of file
diff --git a/README.md b/README.md
index 01fab6a..86dc46e 100644
--- a/README.md
+++ b/README.md
@@ -1,12 +1,8 @@
-# Практическое задание 1 # Maven plugin
+# MavenPlugin
-Нужно реализовать maven plugin, который будет выводить информцию о разработчике\разработчиках. Информация об этом находится в теге https://maven.apache.org/pom.html#Developers.
+Maven-плагин для вывода информации о разработчиках из тега `` в `pom.xml`.
-Проект MavenPlugin должен содержать сам плагин. После реализации плагина, его нужно поключить к проекту EmptyProject.
-
-**Как выполнить:**
-1. Сделать форк этого проекта
-2. Сделать ветку dev в своем проекте. Выполнять работу в ней
-3. После выполнения работы открыть Pull Request в master
-4. Назначить ментора ревьювером
-5. Отправить ссылку на PR в тг чат ментору
\ No newline at end of file
+## Как работает
+- Извлекает данные о разработчиках (ID, имя, email, роли) из `pom.xml`.
+- Выводит информацию в консоль на фазе `compile`.
+- Проект `EmptyProject` демонстрирует использование плагина.
\ No newline at end of file