{"id":18909330,"url":"https://github.com/gephi/gephi-maven-plugin","last_synced_at":"2025-04-15T06:29:03.554Z","repository":{"id":39706969,"uuid":"46224949","full_name":"gephi/gephi-maven-plugin","owner":"gephi","description":"Provide utilities for plug-ins developers","archived":false,"fork":false,"pushed_at":"2023-01-28T11:33:33.000Z","size":136,"stargazers_count":5,"open_issues_count":6,"forks_count":17,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-11T10:19:00.543Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gephi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-11-15T16:09:26.000Z","updated_at":"2022-02-02T20:11:51.000Z","dependencies_parsed_at":"2023-02-15T15:45:52.306Z","dependency_job_id":null,"html_url":"https://github.com/gephi/gephi-maven-plugin","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gephi%2Fgephi-maven-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gephi%2Fgephi-maven-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gephi%2Fgephi-maven-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gephi%2Fgephi-maven-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gephi","download_url":"https://codeload.github.com/gephi/gephi-maven-plugin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249020188,"owners_count":21199507,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-08T09:32:48.307Z","updated_at":"2025-04-15T06:29:03.537Z","avatar_url":"https://github.com/gephi.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Gephi Maven Plugin\n\n[![build](https://github.com/gephi/gephi-maven-plugin/actions/workflows/build.yml/badge.svg)](https://github.com/gephi/gephi-maven-plugin/actions/workflows/build.yml)\n[![javadoc](https://javadoc.io/badge2/org.gephi/gephi-maven-plugin/javadoc.svg)](https://javadoc.io/doc/org.gephi/gephi-maven-plugin)\n\nThis Maven plugin assists Gephi plugins developers and is designed to be used along with the [gephi-plugins](https://github.com/gephi/gephi-plugins) repository and its instructions.\n\nThis plugin can help developers in the following way:\n\n- **Validate** plugin against standards (e.g. check dependency version, configuration)\n\n- **Run** a testing version of Gephi with developed plugins pre-installed\n\n- **Generate** a skeleton plugin with the right folder structure and required configuration\n\n## Download\n\nStable releases can be found on [Maven central](https://search.maven.org/artifact/org.gephi/gephi-maven-plugin).\n\nMaven:\n```\n\u003cplugin\u003e\n    \u003cgroupId\u003eorg.gephi\u003c/groupId\u003e\n    \u003cartifactId\u003egephi-maven-plugin\u003c/artifactId\u003e\n    \u003cversion\u003e1.3.4\u003c/version\u003e\n\u003c/plugin\u003e\n```\n\nDevelopment builds can be found on [Sonatype's Snapshot Repository](https://oss.sonatype.org/content/repositories/snapshots/org/gephi/gephi-maven-plugin/).\n\n## How it works\n\nThis plugin is designed to work in a repository that has forked the `gephi-plugins` master branch. Such a repository typically contains a `modules` folder where plugins are located.\n\nEach Gephi plugin module can define dependencies to regular Java libraries, Netbeans modules and of course Gephi modules.\n\nThis plugin supports two types of plugin configurations: **single module** and **suite**.\n\n### Single module\n\nThis is the simplest type of plugin and only contains a single module. It means there's only a single sub-folder in `modules` and a single entry in the `\u003cmodules\u003e` configuration in `pom.xml`. Only a single NBM file is produced.\n\n### Suite\n\nA suite is defined by a collection of modules, which have dependencies between each other. A plugin can therefore be composed of multiple modules. Multiple NBM files are produced but the final suite is archived into a single ZIP file.\n\nSuites, however need to designate a module that acts as the module definition, which has the plugin metadata (e.g. license, author) and dependencies to the other modules. For instance, a plugin with 3 modules `A`, `B` and `C` could define `A` as the principal module and adds `B` and `C` to the list of modules it depends on.\n\n## Goals\n\n### mvn org.gephi:gephi-maven-plugin:validate\n\nThis command is automatically run when working on the `gephi-plugins` repository and does the following checks:\n\n- Checks the `gephi.version` parameter in each of the plugin modules matches with the version defined by `gephi-plugins`. The latter should be configured to the latest stable version of Gephi.\n\n- Checks the project lists a license in its configuration.\n\n- Checks the project lists an author in its configuration. \n\n- Checks the manifest contains a `OpenIDE-Module-Name` entry. This is the branding name of the plugin and should be filled.\n\n- Checks the manifest contains the `OpenIDE-Module-Short-Description`, `OpenIDE-Module-Long-Description` and `OpenIDE-Module-Display-Category` entries. \n\n- Checks the `OpenIDE-Module-Display-Category` entry is one of the following value: \"Layout\", \"Export\", \"Import\", \"Data Laboratory\", \"Filter\", \"Generator\", \"Metric\", \"Preview\", \"Tool\", \"Appearance\", \"Clustering\" or \"Other Category\".\n\n### mvn org.gephi:gephi-maven-plugin:run\n\nThis command runs a version of Gephi with the plugins pre-installed. This only works after the plugins have been built (i.e. by running `mvn package` on the repository).\n\nThe command accepts a `run.params.debug` parameter that allows to run Gephi with debug flags. The value string is directly passed as parameters to the application.\n\n### mvn org.gephi:gephi-maven-plugin:generate\n\nThis command is an interactive plugin generation tool. It asks a few questions through the console and then generates the plugin folder structure and configuration files.\n\nThis tool only supports single module plugins at the moment. However, it's easy to extend into a suite by adding additional folders.\n\n### mvn org.gephi:gephi-maven-plugin:migrate\n\nThis command is custom-built to migrate ant-based plugins to Maven and takes care of copying configuration, sources and resources files. It looks for ant-based plugin folders in the current directory and creates the appropriate plugin folders in `modules`.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgephi%2Fgephi-maven-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgephi%2Fgephi-maven-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgephi%2Fgephi-maven-plugin/lists"}