GithubHelp home page GithubHelp logo

project-ncl / project-manipulator Goto Github PK

View Code? Open in Web Editor NEW
2.0 6.0 7.0 218 KB

Tool to manipulate project definition files. Current focus is on NPM support, but other formats can be added in the future.

License: Apache License 2.0

Java 100.00%

project-manipulator's Introduction

project-manipulator

Project Manipulator is a tool used to manipulate project definition files. Current focus is on NPM support, but other formats can be added in the future. Various manipulations can be performed on a project and their execution can be controlled by provided arguments.

Usage

usage: ...
 -t,--type                The project type. Can be only NPM for now and is not mandatory.
                          It is not case-sensitive.
 -f,--file <arg>          Project definition file
 -r,--result <arg>        Json file to be generated at the end of manipulation containing
                          the results. Is not mandatory.
 -D <arg>                 Java properties
 -h,--help                Print help
 -l,--log <arg>           Log file to output logging to
    --log-context <arg>   Add log-context ID
 -d,--debug               Enable debug
 -c,--trace               Enable trace

e.g.

java -jar project-manipulator-cli.jar -f npm-project/package.json

Java Properties

You can specify java system properties in the CLI by using -D<prop>=<value>

Java Property Description
restURL Dependency Analysis REST URL (e.g http://da.url.com/da/rest/v-1). It is used and required when user wants to perform automatic version increment.
restConnectionTimeout Optional connection timeout to set for the underlying HTTP client library responsible for calling the REST endpoints. Defaults to 30 seconds.
restSocketTimeout Optional socket timeout to set for the underlying HTTP client library responsible for calling the REST endpoints. Defaults to 10 minutes.
restMode Mode indicating which versions (temporary versions, managed service versions etc) from Dependency Analysis.
packageScope A package scope that should be added or changed to.
versioningStrategy Versioning strategy can be either HYPHENED or SEMVER. The former uses hyphens between the original version, requested suffix and auto-incremented number, e.g. "1.2.3-jboss-001". The latter auto-increments the patch number to first available number and does not require suffix. If defined, it will also append it and add a build number separated by a dot resulting in SemVer pre-release format, e.g. "1.2.0-rc.1". It is mandatory when requesting automatic version increment.
versionIncrementalSuffix The version suffix to append to version of current project. It is used when automatic version increment is performed. It is mandatory with HYPHENED versioning strategy and optional with SEMVER one.
versionIncrementalSuffixPadding With automatic version increment, it is possible to configure zero-padding for the incremented number in the suffix. This is used only with HYPHENED versioning strategy. Default: 1
versionOverride Desired version used as the output of version manipulation overriding all the logic. If set, the manipulation only updates project version to this and does not do anything else (no communication with Dependency Analysis, no suffix computation etc).
versionSuffixOverride Desired version suffix, that will be appended to the current version. It overrides the logic computing the suffix number automatically.
manipulation.disable default: false, specify whether you want to disable the manipulation of the version or not
dependencyOverride.$package_name Desired version(s) to apply to the specified package(s), if listed inside the dependencies in package.json. Does not replace the values in lock files. Example: -DdependencyOverride.keycloak-admin-client=^0.12.0 -DdependencyOverride.async=1.5.2
devDependencyOverride.$package_name Desired version(s) to apply to the specified package(s), if listed inside the devDependencies in package.json. Does not replace the values in lock files. Example: -DdevDependencyOverride.keycloak-admin-client=^0.12.0

OpenTelemetry Instrumentation

If OTEL_EXPORTER_OTLP_ENDPOINT is defined (and optionally OTEL_SERVICE_NAME) then OpenTelemetry instrumentation will be activated. It will read trace information from the environment as described here and will propagate the information via headers in any REST calls.

Notes

The project is inspired by and partially based on POM Manipulation Extension

project-manipulator's People

Contributors

alexcreasy avatar dependabot[bot] avatar dwalluck avatar janinko avatar pkocandr avatar pnc-bot-release avatar rnc avatar thescouser89 avatar vibe13 avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.