Skip to content

Organize and push Java pom.xml dependency definitions from a list of unknown jar files.

License

Notifications You must be signed in to change notification settings

aymanfarhat/pomify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pomify

Classify, manage and migrate untracked jar file dependencies into a Maven project.

License

Features

  • Scan a directory for jar files and check if they're on Maven Central or need a custom repository
  • Generate a status report of the jar files found in the directory
  • Generate pom.xml dependency blocks with the dependencies found on Maven Central and those that need a custom repository
  • Generate an mvn import command to migrate jar files into a custom Maven repository

How it works

More details on the approach and use case documented in this blog post.

Installation

To compile from source and install, after cloning the repository, run: make. If you prefer to just build, run make build.

Usage

NAME:
   pomify - Create Java pom.xml dependency definitions from a list of unknown jar files

USAGE:
   pomify [global options] command [command options]

VERSION:
   0.0.1

COMMANDS:
   scan, s      Scan a directory of jar files and output a CSV report
   generate, g  Generate a pom.xml dependencies block from a CSV report for each jar category
   push, p      Push the private jars to a custom Maven repository
   help, h      Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --help, -h     show help
   --version, -v  print the version

Scan

Scan a directory of jar files and output a CSV report

pomify scan --jars /path/to/jars --output /path/to/output.csv

Generate

Generate a pom.xml dependencies block from a CSV report for each jar category

pomify generate --report /path/to/output.csv --output /path/to/output

Push

Generate an mvn import command to migrate jar files into a custom Maven repository

pomify push --report /path/to/output.csv --mvn_repo http://localhost:8081/repository/maven-releases

Note Subsequent runs of pomify scan, generate, and push will overwrite the output files if they already exist. If you want to keep the output files, rename them before running the command again.

About

Organize and push Java pom.xml dependency definitions from a list of unknown jar files.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published