Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move pom operator into codemodder-java repo #140

Closed
wants to merge 156 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
156 commits
Select commit Hold shift + click to select a range
a256b6e
First Version
Nov 14, 2021
bc26c31
Changes
Nov 18, 2021
40eaec0
Updating
Nov 22, 2021
b783f0c
Code Cleanup
Nov 22, 2021
338dcbc
Interim Commit
aldrinleal Aug 25, 2022
d50a8c6
Interim Commit - Github Actions
aldrinleal Sep 1, 2022
b80d78b
Interim Commit - Github Actions
aldrinleal Sep 1, 2022
cc26740
Renaming Packages
aldrinleal Sep 1, 2022
84abed4
Adding Deploy
aldrinleal Sep 2, 2022
f951ba5
Trimming
aldrinleal Sep 2, 2022
c9b8094
Quoting
aldrinleal Sep 2, 2022
3d93b45
Repos
aldrinleal Sep 2, 2022
101cdbf
Fixing build
aldrinleal Sep 2, 2022
4a43e12
Fixing build
aldrinleal Sep 2, 2022
9363920
Adding environment
aldrinleal Sep 2, 2022
b4df154
Conforms to schema
aldrinleal Sep 2, 2022
de32778
Secrets
aldrinleal Sep 2, 2022
51823a0
Secrets
aldrinleal Sep 2, 2022
588c67d
Secrets
aldrinleal Sep 2, 2022
4e0471e
Secrets
aldrinleal Sep 2, 2022
84de595
Secrets
aldrinleal Sep 2, 2022
8fc6545
Secrets
aldrinleal Sep 2, 2022
4e68908
Secrets
aldrinleal Sep 2, 2022
3308465
Secrets
aldrinleal Sep 2, 2022
9a064d1
Code Cleanup - Part 1
aldrinleal Sep 4, 2022
74e402e
Fixing Maven Setup in actions
aldrinleal Sep 4, 2022
7416c86
Cleanup
aldrinleal Sep 6, 2022
981b721
Improving tests a little
aldrinleal Sep 6, 2022
e4c895e
Adding tests
aldrinleal Sep 6, 2022
4d9d3b3
Fixing build
aldrinleal Sep 6, 2022
46f9b38
Code cleanup + .idea dirs
aldrinleal Sep 6, 2022
56860e8
Removing D-M-P
aldrinleal Sep 7, 2022
4148b6f
Fixing scope
aldrinleal Sep 7, 2022
b8b9b31
Updates
aldrinleal Sep 7, 2022
55692f8
Updating README
aldrinleal Sep 8, 2022
09ffb32
Updating README
aldrinleal Sep 8, 2022
d67a5ed
Updating README
aldrinleal Sep 8, 2022
e01ba26
Update README.md
nahsra Sep 8, 2022
babaa22
Implementing Builder Pattern + Conditional Upgrade
aldrinleal Sep 9, 2022
ba7a141
README
aldrinleal Sep 9, 2022
13be9d9
Minor reorg + Beginnings of Version Property
aldrinleal Sep 14, 2022
36211fa
Adding Logging - Disabling extra quoting
aldrinleal Sep 14, 2022
ba20872
* Cleaning TODOS
aldrinleal Sep 15, 2022
e7b27c8
Minor reorg + versioning on nodes
aldrinleal Sep 15, 2022
8f556ef
Adding Jacoco + Versions Formatting
aldrinleal Sep 16, 2022
9b808b0
Autogenerated JaCoCo coverage badge
Sep 16, 2022
91bf6f0
README fixes
aldrinleal Sep 16, 2022
45479b5
Cleanup / Logging / Tests
aldrinleal Sep 16, 2022
c566f08
Autogenerated JaCoCo coverage badge
Sep 16, 2022
a2e620a
Handling when version already exists
aldrinleal Sep 23, 2022
c6103e0
Autogenerated JaCoCo coverage badge
Sep 23, 2022
b512b4a
Code Cleanup + Moving effective Pom to tests
aldrinleal Oct 16, 2022
484a19b
Autogenerated JaCoCo coverage badge
Oct 16, 2022
c7f7404
Refactoring
aldrinleal Oct 23, 2022
6390c53
Adding Mass Repo Tests
aldrinleal Nov 6, 2022
8f38110
Removing trinodb
aldrinleal Nov 6, 2022
2c9eba7
Autogenerated JaCoCo coverage badge
Nov 6, 2022
0139771
Typo
aldrinleal Nov 6, 2022
64ae9ec
Merge pull request #1 from openpixee/feature/versions-property
aldrinleal Nov 11, 2022
1f78b5a
Feature/query versions (#7)
aldrinleal Jan 4, 2023
00bd927
Fixing corner case of dependency management (#8)
aldrinleal Jan 13, 2023
134b02f
Triggering release from master
aldrinleal Jan 13, 2023
23014c3
Fixing flow
aldrinleal Jan 13, 2023
14da7d6
Fixing flow
aldrinleal Jan 13, 2023
fa60484
Fixing flow
aldrinleal Jan 13, 2023
dd40b4c
Fixing flow
aldrinleal Jan 13, 2023
7ac2028
Fixing flow
aldrinleal Jan 13, 2023
85c3bdd
Releasing
aldrinleal Jan 13, 2023
7ee63df
Releasing
aldrinleal Jan 14, 2023
d7453f2
Releasing
aldrinleal Jan 14, 2023
ecfac00
Releasing
aldrinleal Jan 14, 2023
c834207
Interim Commit
aldrinleal Jan 14, 2023
111009c
Interim Commit
aldrinleal Jan 14, 2023
ab4fa66
Adding snapshot
aldrinleal Jan 14, 2023
2f76c8b
Updating README
aldrinleal Jan 14, 2023
c35c7c6
Improves XML Formatting (#9)
aldrinleal Feb 21, 2023
6d67e82
Generating new dev version
aldrinleal Feb 21, 2023
a4e0f33
Improving Formatting, Take 3 (#10)
aldrinleal Mar 2, 2023
ee6f0c2
Generating development version
aldrinleal Mar 2, 2023
eb3280f
* Cleanup (#11)
aldrinleal Mar 4, 2023
1625be7
Generating Tag
aldrinleal Mar 8, 2023
b56a69d
Generating development version
aldrinleal Mar 8, 2023
7d34286
Manage empty elements and improve preamble keeping (#12)
aldrinleal Mar 12, 2023
fac3c4b
Releasing
aldrinleal Mar 12, 2023
350b976
Generating development version
aldrinleal Mar 12, 2023
aca7a87
Implement Tab Handling (#13)
aldrinleal Apr 7, 2023
efd85a6
Generating Tag
aldrinleal Apr 7, 2023
3f6479d
Missing part
aldrinleal Apr 7, 2023
6546ea4
Generating development version
aldrinleal Apr 7, 2023
43a2b3e
Refactor POM to Expose Dependencies (#14)
aldrinleal May 6, 2023
69b2ee1
Generating Tag
aldrinleal May 6, 2023
b24f6ba
Generating development version
aldrinleal May 6, 2023
b34ba33
Mass renaming (#15)
aldrinleal May 9, 2023
fa154a0
Generating Tag
aldrinleal May 9, 2023
1a28e70
Generating development version
aldrinleal May 9, 2023
3c470e4
Multiple POM Support (#16)
aldrinleal Jun 28, 2023
37178d4
Generating Tag
aldrinleal Jun 28, 2023
92778fc
Generating development version
aldrinleal Jun 28, 2023
ef56353
Setting version
aldrinleal Jul 12, 2023
14c2876
Allowing one to set a local repository path
aldrinleal Jul 12, 2023
e97432f
Fixing test
aldrinleal Jul 12, 2023
c15a30a
Generating Tag
aldrinleal Jul 12, 2023
7aed018
Interim Commit - backporting changes
aldrinleal Jul 12, 2023
ebbae10
Revert "Fixing test"
aldrinleal Jul 12, 2023
083dba4
Allowing one to set a local repository path (#17)
aldrinleal Jul 16, 2023
c3865b1
Generating Tag
aldrinleal Jul 16, 2023
919886e
Generating development version
aldrinleal Jul 16, 2023
4c8e279
Adds the 'offline' flag (#20)
aldrinleal Jul 24, 2023
4e71abb
Generating Tag
aldrinleal Jul 24, 2023
3beae60
Generating development version
aldrinleal Jul 24, 2023
23129e8
Updates README (#19)
aldrinleal Aug 6, 2023
5f63fdb
Embedder-Based POM Scanner - and non-maven dependency resolution (#21)
aldrinleal Aug 7, 2023
3e49963
Generates javadoc (#23)
aldrinleal Aug 7, 2023
8b8308b
add MIT license (#22)
nahsra Aug 8, 2023
6e8957d
Generating Tag
aldrinleal Aug 8, 2023
3418a48
Generating development version
aldrinleal Aug 8, 2023
441e5f6
Generating Tag
aldrinleal Aug 8, 2023
4fba1f4
Generating development version
aldrinleal Aug 8, 2023
53bbed0
Prepare for rerelease (#24)
aldrinleal Aug 8, 2023
a8ba290
Generating development version
aldrinleal Aug 8, 2023
6059eea
Fixes workflows (#25)
aldrinleal Aug 8, 2023
cb22cbe
Generating Tag
aldrinleal Aug 8, 2023
5210dfd
Generating development version
aldrinleal Aug 8, 2023
cf0596e
Generating Tag
aldrinleal Aug 8, 2023
0e797aa
Generating development version
aldrinleal Aug 8, 2023
75cbb5c
Generating Tag
aldrinleal Aug 8, 2023
27b51fd
Improving test as well as reacting when dependency failures happen (#26)
aldrinleal Aug 16, 2023
fb2adb8
Generating Tag
aldrinleal Aug 16, 2023
6d9f7c5
Generating development version
aldrinleal Aug 16, 2023
9d81708
Handles missing newDependencyManagement (#27)
aldrinleal Aug 17, 2023
b7a93f1
Generating Tag
aldrinleal Aug 17, 2023
0af2762
Generating development version
aldrinleal Aug 17, 2023
d8d9bb8
Generating development version
aldrinleal Aug 17, 2023
fdf90b4
Generating Tag
aldrinleal Aug 17, 2023
3a473e9
Generating development version
aldrinleal Aug 17, 2023
2ff13e9
Fully offline resolution (#28)
aldrinleal Aug 18, 2023
2aec194
Generating Tag
aldrinleal Aug 18, 2023
c37a43f
Generating development version
aldrinleal Aug 18, 2023
68170e6
Add 'pom-operator/' from commit 'c37a43fe75093920fcdb7717d74a76d3ddb5…
ryandens Aug 24, 2023
21903d0
:fire: delete license from pom-operator as it is now released under c…
ryandens Aug 16, 2023
c2bb3af
:construction: Add basic gradle build file
ryandens Aug 24, 2023
674247b
:art: format files according to new repo rules
ryandens Aug 24, 2023
9c53ca1
:truck: move and format kotlin files
ryandens Aug 24, 2023
d3410b7
:truck: move kotlin test files to kotlin dir, add required kotlin tes…
ryandens Aug 16, 2023
ddf1bd2
Fix test suite for Gradle
ryandens Aug 16, 2023
c4d0465
:fire: delete pom xml
ryandens Aug 24, 2023
c734a7a
:heavy_plus_sign: apply kotlin plugin
ryandens Aug 24, 2023
b6e08f7
:bug: fix order of assertTrue usage
ryandens Aug 24, 2023
da423ba
:sparkles: setup maven for CI
ryandens Aug 24, 2023
0478d39
:bug: fix jfrog creds
ryandens Aug 24, 2023
b9c2f70
:bug: fix test expectations
ryandens Aug 25, 2023
49fe5c1
:fire: remove dummy class
ryandens Aug 25, 2023
caf967d
:recycle: make kotlin plugin
ryandens Aug 25, 2023
8a0b437
:bug: fix test
ryandens Aug 25, 2023
0467682
:bug: add back in assertThrows
ryandens Aug 25, 2023
c8cd0e9
:art: format kotlin plugin
ryandens Aug 25, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .github/workflows/checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,14 @@ jobs:
with:
distribution: 'temurin'
java-version: '17'
cache: maven
server-id: pixee
server-username: ${{ vars.PIXEE_ARTIFACTORY_USERNAME }}
server-password: ${{ secrets.PIXEE_ARTIFACTORY_PASSWORD }}
- name: Set up Maven
uses: stCarolas/[email protected]
with:
maven-version: 3.8.2
- uses: gradle/gradle-build-action@v2
with:
arguments: check --stacktrace
Expand Down
1 change: 1 addition & 0 deletions gradle/build-plugins/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,5 @@ dependencies {
implementation(buildlibs.spotless)
implementation(buildlibs.nebula.publish.plugin)
implementation(buildlibs.nebula.contacts.plugin)
implementation(buildlibs.kotlin)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
plugins {
id("io.codemodder.spotless")
id("org.jetbrains.kotlin.jvm")
}

java {
toolchain {
languageVersion.set(JavaLanguageVersion.of(17))
}
}

spotless {
java {
googleJavaFormat()
}
}

tasks.withType(Test::class) {
useJUnitPlatform()
}
1 change: 1 addition & 0 deletions gradle/buildlibs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ nebula-contacts-plugin = { module = "com.netflix.nebula.contacts:com.netflix.neb
nebula-mavenscm-plugin = { module = "com.netflix.nebula.maven-scm:com.netflix.nebula.maven-scm.gradle.plugin", version = "20.3.0"}
nebula-publish-plugin = { module = "com.netflix.nebula.maven-publish:com.netflix.nebula.maven-publish.gradle.plugin", version = "20.3.0"}
spotless = { module = "com.diffplug.spotless:spotless-plugin-gradle", version.ref = "spotless" }
kotlin = { module = "org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin", version = "1.8.20"}

[plugins]
fileversioning = { id = "de.epitschke.gradle-file-versioning", version.ref = "fileversioning" }
Expand Down
1 change: 1 addition & 0 deletions pom-operator/.github/badges/branches.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions pom-operator/.github/badges/jacoco.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
15 changes: 15 additions & 0 deletions pom-operator/.github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Description

# Checklist:

- [ ] I did my own review
- [ ] Commented Code - particularly in hard sections
- [ ] Docs (Javadocs)
- [ ] No TODOs / Issues on Code
- [ ] Tests: Unit Testing
- [ ] Tests: Assertions Look Good and Sane
- [ ] Tests: Coverage
- [ ] Integration Testing
- [ ] Java Test Fixtures
- [ ] Security Risks Considered and Addressed / Mitigated

81 changes: 81 additions & 0 deletions pom-operator/.github/workflows/push-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
name: Java CI

on:
push:
branches-ignore:
- 'master'

env:
MAVEN_OPTS: "-Dhttps.protocols=TLSv1.2"

jobs:
build:
strategy:
matrix:
platform: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.platform }}
environment:
name: default
env:
ARTIFACTORY_USERNAME_REF: "${{ secrets.ARTIFACTORY_USERNAME_REF }}"
ARTIFACTORY_TOKEN_REF: "${{ secrets.ARTIFACTORY_TOKEN_REF }}"
steps:
- uses: actions/checkout@v3
- name: Set up JDK 11
uses: actions/setup-java@v3
with:
java-version: '8'
distribution: 'temurin'
cache: maven
server-id: pixee
server-username: ARTIFACTORY_USERNAME_REF
server-password: ARTIFACTORY_TOKEN_REF
- name: Set up Maven
uses: stCarolas/[email protected]
with:
maven-version: 3.8.2
- name: Resolve all Dependencies
run: |
mvn -N -B dependency:go-offline
- name: Build with Maven
run: |
mvn -N -B install
- name: Integration Testing (Linux Only)
if: matrix.platform == 'ubuntu-latest'
run: |
mvn -N -B -Dmaven.test.skip install
mvn -N -B -P integration-testing verify
- name: Generate Coverage Badge
id: jacoco
uses: cicirello/jacoco-badge-generator@v2
if: ${{ matrix.platform == 'ubuntu-latest' }}
with:
generate-branches-badge: true
- name: Log coverage percentage
if: ${{ matrix.platform == 'ubuntu-latest' }}
run: |
echo "coverage = ${{ steps.jacoco.outputs.coverage }}"
echo "branch coverage = ${{ steps.jacoco.outputs.branches }}"
- # When using "Act", disable certain actions, starting with this one
# See https://github.com/nektos/act#skipping-steps for more details
name: Commit the JaCoCo badge (if it changed)
if: ${{ matrix.platform == 'ubuntu-latest' && !env.ACT }}
run: |
if [[ `git status --porcelain` ]]; then
git config --global user.name 'Jacoco Coverage Update Action'
git config --global user.email '[email protected]'
git add -A
git commit -m "[no ci] Autogenerated JaCoCo coverage badge"
git push
fi
- name: Upload JaCoCo coverage report
if: ${{ matrix.platform == 'ubuntu-latest' && !env.ACT }}
uses: actions/upload-artifact@v2
with:
name: jacoco-report
path: target/site/jacoco/

- name: Deploy (only if on master)
if: ${{ github.ref_name == 'master' && matrix.platform == 'ubuntu-latest' && !env.ACT }}
run: |
mvn -N -B deploy -DaltDeploymentRepository=pixee::default::https://pixee.jfrog.io/artifactory/mailman-libs-snapshot
48 changes: 48 additions & 0 deletions pom-operator/.github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: Create Release on Semantic Version Tag

on:
push:
tags:
- "v*"

env:
M2_HOME: /opt/hostedtoolcache/maven/3.8.2
JAVA_HOME: /opt/hostedtoolcache/Java_Adopt_jdk/11.0.17-8

jobs:
release:
runs-on: "ubuntu-latest"

steps:
- uses: actions/checkout@v3

- id: setup-java
name: "Build, test and deploy"
uses: actions/setup-java@v2
with:
java-version: '11'
distribution: 'adopt'
server-id: ossrh
server-username: MAVEN_USERNAME
server-password: MAVEN_PASSWORD
gpg-private-key: ${{ secrets.OSSRH_GPG_SECRET_KEY }}
gpg-passphrase: MAVEN_GPG_PASSPHRASE

- name: Set up Maven
uses: stCarolas/[email protected]
with:
maven-version: 3.8.2

- name: "Publish to Maven Central"
run: |
mvn -N -B \
-Prelease \
-X \
--no-transfer-progress \
--batch-mode \
clean \
deploy
env:
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
MAVEN_GPG_PASSPHRASE: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSPHRASE }}
69 changes: 69 additions & 0 deletions pom-operator/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
### Maven template
.cache/

target/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties
# https://github.com/takari/maven-wrapper#usage-without-binary-jar
.mvn/wrapper/maven-wrapper.jar

### JetBrains template
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839

# User-specific stuff
.idea/

# Gradle and Maven with auto-import
# When using Gradle or Maven with auto-import, you should exclude module files,
# since they will be recreated, and may cause churn. Uncomment if using
# auto-import.
# .idea/artifacts
# .idea/compiler.xml
# .idea/jarRepositories.xml
# .idea/modules.xml
# .idea/*.iml
# .idea/modules
# *.iml
# *.ipr

# CMake
cmake-build-*/

# Mongo Explorer plugin
.idea/**/mongoSettings.xml

# File-based project format
*.iws

# IntelliJ
out/

# mpeltonen/sbt-idea plugin
.idea_modules/

# JIRA plugin
atlassian-ide-plugin.xml

# Cursive Clojure plugin
.idea/replstate.xml

# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties

# Editor-based Rest Client
.idea/httpRequests

# Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser

.secrets
68 changes: 68 additions & 0 deletions pom-operator/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
[![Actions Status](https://github.com/pixee/pom-operator/workflows/Java%20CI/badge.svg)](https://github.com/pixee/pom-operator/actions)
![Coverage](.github/badges/jacoco.svg)

# pom-operator

POM Operator is a library responsible for injecting dependencies into POM files programatically.

## Building

Use [Maven](https://maven.apache.org):

```
$ git clone [email protected]:pixee/pom-operator.git && cd pom-operator
$ mvn clean install
```

## Using

There's a sample of usage from Java on the `java-sample` directory - of look under the `src/test` directory as well. TL;DR:

```java
import org.junit.Test;

import io.github.pixee.maven.operator.ProjectModel;
import io.github.pixee.maven.operator.Dependency;
import io.github.pixee.maven.operator.POMOperator;
import io.github.pixee.maven.operator.ProjectModelFactory;

public class POMOperatorJavaTest {
@Test
public void testInterop() {
ProjectModel projectModel = ProjectModelFactory
.load(POMOperatorJavaTest.class.getResource("pom.xml"))
.withDependency(
new Dependency("org.dom4j", "dom4j", "0.0.0", null, "jar")
);

POMOperator.modify(projectModel);
}
}

```

## How it works?

It implements a Chain of Responsibility strategy - each `Command` class attempts a different way of fixing a POM, based around a Context (in this case, a `ProjectModel`)

## Releasing

e.g. to generate version `0.0.2`:

```
(mvn versions:set -DnewVersion=0.0.3 && git commit -am "Generating Tag" && git tag v0.0.3 && git push && git push --tags)
(export V='0.0.11-SNAPSHOT' ; mvn versions:set -DnewVersion=${V} && (cd java-sample ; mvn versions:set -DnewVersion=${V} && git commit -am "Generating development version" && git push))
```

# TODO:

Deploying:

```
mvn -N -B deploy -DaltDeploymentRepository=pixee-libs-release::default::https://pixee.jfrog.io/artifactory/default-maven-local
```

- ~~better readme~~
- ~~be able to guess existing indenting for existing documents~~
- ~~investigate leverage whats on [versions-maven-plugin](https://github.com/mojohaus/versions-maven-plugin)~~
- consider fuzzying when testing
43 changes: 43 additions & 0 deletions pom-operator/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
plugins {
id("io.codemodder.kotlin")
}

dependencies {
api("com.offbytwo:docopt:0.6.0.20150202")
api("org.apache.commons:commons-lang3:3.12.0")
api("org.dom4j:dom4j:2.1.3")
api("jaxen:jaxen:1.2.0")
api("xerces:xercesImpl:2.12.2")
api("org.xmlunit:xmlunit-core:2.9.0")
api("org.xmlunit:xmlunit-assertj3:2.9.0")
api("org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10")
api("com.github.zafarkhaja:java-semver:0.9.0")
api("commons-io:commons-io:2.11.0")
api("org.apache.maven.shared:maven-invoker:3.2.0")
api("com.google.inject:guice:5.1.0")
api("org.apache.maven:maven-embedder:3.8.6") {
exclude(group = "com.google.inject", module = "guice")
}
api("org.apache.maven:maven-compat:3.8.6") {
exclude(group = "com.google.inject", module = "guice")
}
api("org.apache.maven.resolver:maven-resolver-api:1.9.2")
api("org.apache.maven.resolver:maven-resolver-spi:1.9.2")
api("org.apache.maven.resolver:maven-resolver-util:1.9.2")
api("org.apache.maven.resolver:maven-resolver-impl:1.9.2")
api("org.apache.maven.resolver:maven-resolver-transport-file:1.9.2")
api("org.apache.maven.resolver:maven-resolver-transport-http:1.9.2")
api("org.apache.maven.resolver:maven-resolver-connector-basic:1.9.2")
api("org.apache.maven:maven-resolver-provider:3.8.6")
api("org.apache.maven:maven-model-builder:3.8.6")
api("com.github.albfernandez:juniversalchardet:2.4.0")
testImplementation("org.slf4j:slf4j-simple:2.0.0")
testImplementation("fun.mike:diff-match-patch:0.0.2")
testImplementation("io.github.java-diff-utils:java-diff-utils:4.12")
testImplementation("org.hamcrest:hamcrest-all:1.3")
testImplementation(testlibs.bundles.junit.jupiter)
compileOnly("org.slf4j:slf4j-api:2.0.0")
testImplementation("org.jetbrains.kotlin:kotlin-test-junit5")
testImplementation("org.junit.jupiter:junit-jupiter-engine:5.9.2")
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
}
Loading
Loading