Gradle Manipulation Extension

A tool to work with ProjectNCL to manipulate Gradle builds.

License

License

Categories

Categories

JBoss Container Application Servers
GroupId

GroupId

org.jboss.gm.manipulation
ArtifactId

ArtifactId

manipulation
Last Version

Last Version

1.3
Release Date

Release Date

Type

Type

jar
Description

Description

Gradle Manipulation Extension
A tool to work with ProjectNCL to manipulate Gradle builds.
Project URL

Project URL

https://github.com/project-ncl/gradle-manipulator
Source Code Management

Source Code Management

https://github.com/project-ncl/gradle-manipulator

Download manipulation

How to add to project

<!-- https://jarcasting.com/artifacts/org.jboss.gm.manipulation/manipulation/ -->
<dependency>
    <groupId>org.jboss.gm.manipulation</groupId>
    <artifactId>manipulation</artifactId>
    <version>1.3</version>
</dependency>
// https://jarcasting.com/artifacts/org.jboss.gm.manipulation/manipulation/
implementation 'org.jboss.gm.manipulation:manipulation:1.3'
// https://jarcasting.com/artifacts/org.jboss.gm.manipulation/manipulation/
implementation ("org.jboss.gm.manipulation:manipulation:1.3")
'org.jboss.gm.manipulation:manipulation:jar:1.3'
<dependency org="org.jboss.gm.manipulation" name="manipulation" rev="1.3">
  <artifact name="manipulation" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.jboss.gm.manipulation', module='manipulation', version='1.3')
)
libraryDependencies += "org.jboss.gm.manipulation" % "manipulation" % "1.3"
[org.jboss.gm.manipulation/manipulation "1.3"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

There are no modules declared in this project.

Build Status (Travis CI)

Table of Contents

Introduction

This is a Gradle tool to align versions and dependencies within the project according to some external references. It excels in a cleanroom environment where large numbers of pre-existing projects must be rebuilt. It is a sibling project to the Maven POM Manipulator Extension.

Plugins

Both plugins work in conjunction and therefore the same version is required for each. The analyzer plugin will inject a reference to the manipulation plugin. It requires Gradle 5.6.x - 6.x to build and can run with Gradle 4.10.x - 6.x.

Analyzer

The analyzer directory contains the gradle plugin that generates metadata information about aligned dependencies and the project version.

Manipulation

The manipulation directory contains the gradle plugin that uses the metadata information generated by the alignment plugin and modifies the project to use those dependencies and project version.

Testing on a real project

The plugins can be tested on real projects like so:

An init script is required. If a development version is being used it is processed during the build into analyzer/build/resources/main/analyzer-init.gradle. If a released version is being used it is deployed as analyzer-<version>-init.gradle and may be found in Maven Central i.e. https://repo1.maven.org/maven2/org/jboss/gm/analyzer/2.4/analyzer-2.4-init.gradle

Now by executing the following command:

./gradlew --info --init-script analyzer-init.gradle generateAlignmentMetadata -DrestURL=http://some.da.server

you should get the manipulation.json file in the root of the project. For detailed documentation on the parameters please see here.

Contributions

Contributions are more than welcome! Before contributing to the project, please read this. To contribute sample Groovy scripts (for this project or the sibling PME project) please see the Groovy Examples project.

Documentation

Documentation for the project can be found here

org.jboss.gm.manipulation

Versions

Version
1.3
1.2
1.1
1.0
0.1