Skip to content

Skerwe/secrets-factory-password-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Secrets Factory - Password Generator

forthebadge

Java CI

Generate configurable passwords using lowercase, uppercase, numbers and special characters.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

You will need Java 1.8 installed and Apache Maven 3.6+ configured on your system path.
It's best to use the OpenJDK, Windows users can get binaries from AdoptOpenJDK.

Installing

  1. Clone or download the repository from GitHub:

    git clone https://github.com/Skerwe/secrets-factory-password-generator.git
  2. Compile, test and bundle the application:

    mvn compile package
  3. Execute the application:

    java -cp target/secrets-factory-1.2-RELEASE-shaded.jar za.web.skerwe.factory.SecretsFactory

A default password of 12 lenght will be generated, consisting of 4 uppercase, 4 lowercase, 2 numbers and 2 special characters.

To configure the amount of characters:

java -cp target/secrets-factory-1.2-RELEASE-shaded.jar za.web.skerwe.factory.SecretsFactory -l 4 -u 3 -d 3 -s 2

Under the target/ folder the secrets-factory.jar is the application without dependencies, the secrets-factory-1.2-RELEASE-shaded.jar is bundled with the dependencies.

Running the Tests

The tests use Junit and the Hamcrest assertion library

mvn test

The test will run Checkstyle, JaCoCo and the Surefire test report plugins
Individual commands are listed below.

Generating Reports

Static Code Analysis

  1. PMD static code analyzer

    mvn pmd:pmd

    Results are in the target/pmd.xml file.

  2. Apache Maven Checkstyle Plugin

    mvn checkstyle:checkstyle

    Results are in the target/checkstyle-result.xml file.

Unit Test Report

mvn surefire:test

Results are in the target/surefire-reports/ folder.

Code Coverage

  1. JaCoCo Java Code Coverage Library

  2. Cobertura

Cobertura Maven Plugin

mvn cobertura:cobertura

Javadocs

mvn javadoc:javadoc

Results are in the target/site/apidocs/ folder. See mvn site:run below.

Project Site

Generate and run a static server to serve the site

mvn site:run

Maven Dashboard

mvn site
mvn dashboard:dashboard

Built With

License

This project is licensed under the GNU GPLv3 License - see the LICENSE file for details