Skip to content

Commit 9f33e9b

Browse files
authored
remove resolved-dependencies from pom post-processing [openrewrite/rewrite#324] (#51)
1 parent a5b12eb commit 9f33e9b

File tree

9 files changed

+59
-204
lines changed

9 files changed

+59
-204
lines changed

.circleci/config.yml

Lines changed: 1 addition & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# minified version of circleci; should be removed once fully switched over
12
version: 2.1
23

34
executors:
@@ -21,88 +22,18 @@ commands:
2122
default: 'check test'
2223
steps:
2324
- checkout
24-
- restore_cache:
25-
key: gradle-dependencies-{{ checksum "build.gradle.kts" }}
26-
- run:
27-
name: downloadDependencies
28-
command: ./gradlew downloadDependencies
29-
- save_cache:
30-
key: gradle-dependencies-{{ checksum "build.gradle.kts" }}
31-
paths:
32-
- ~/.gradle
3325
- run:
3426
name: run gradle command
3527
command: ./gradlew << parameters.command >>
36-
- run:
37-
name: collect test reports
38-
when: always
39-
command: |
40-
mkdir -p ~/rewrite-testing-frameworks/test-results/junit/
41-
find . -type f -regex ".*/build/test-results/.*xml" -exec cp {} ~/rewrite-testing-frameworks/test-results/junit/ \;
42-
- store_test_results:
43-
path: ~/rewrite-testing-frameworks/test-results/
44-
- store_artifacts:
45-
path: ~/rewrite-testing-frameworks/test-results/
4628

4729
jobs:
4830
build:
4931
executor: circle-jdk-executor
5032
steps:
5133
- gradlew-build
5234

53-
deploy:
54-
executor: circle-jdk-executor
55-
steps:
56-
- checkout
57-
- restore_cache:
58-
key: gradle-dependencies-{{ checksum "build.gradle.kts" }}
59-
- deploy:
60-
name: Deployment
61-
command: sh ./gradle/deploy.sh
62-
63-
maven-central-sync:
64-
executor: circle-jdk-executor
65-
steps:
66-
- checkout
67-
- run:
68-
name: Decrypt properties
69-
command: openssl aes-256-cbc -d -in gradle.properties.enc -out gradle.properties -k "$KEY" -md sha256
70-
- deploy:
71-
name: Maven Central sync
72-
command: ./gradlew mavenCentralSync -Prelease.useLastTag=true -x bintrayPublish -x bintrayUpload -x bintrayCreateVersion -x bintrayCreatePackage
73-
# Maven Central Sync might take more than 10 minutes
74-
no_output_timeout: 30m
75-
7635
workflows:
7736
version: 2
7837
build_prs_deploy_snapshots:
7938
jobs:
8039
- build
81-
- deploy:
82-
requires:
83-
- build
84-
filters:
85-
branches:
86-
only:
87-
- master
88-
- /\d+\.\d+\.x/
89-
build_deploy_releases:
90-
jobs:
91-
- build:
92-
filters:
93-
branches:
94-
ignore: /.*/
95-
tags:
96-
only: /^v\d+\.\d+\.\d+(-rc\.\d+)?$/
97-
- deploy:
98-
requires:
99-
- build
100-
filters:
101-
tags:
102-
only: /^v\d+\.\d+\.\d+(-rc\.\d+)?$/
103-
- maven-central-sync:
104-
requires:
105-
- deploy
106-
filters:
107-
tags:
108-
only: /^v\d+\.\d+\.\d+(-rc\.\d+)?$/

.github/workflows/ci.yml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,12 @@ jobs:
4040
- name: build
4141
run: ./gradlew ${GRADLE_SWITCHES} build test
4242

43-
# - name: publish-snapshots
44-
# if: github.event_name == 'push' || github.event_name == 'workflow_dispatch'
45-
# timeout-minutes: 30
46-
# run: ./gradlew ${GRADLE_SWITCHES} snapshot publish -PforceSigning
47-
# env:
48-
# OSSRH_TOKEN: ${{ secrets.OSSRH_TOKEN }}
49-
# OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }}
50-
# SIGNING_KEY: ${{ secrets.OSSRH_SIGNING_KEY }}
51-
# SIGNING_PASSWORD: ${{ secrets.OSSRH_SIGNING_PASSWORD }}
43+
- name: publish-snapshots
44+
if: github.event_name == 'push' || github.event_name == 'workflow_dispatch'
45+
timeout-minutes: 30
46+
run: ./gradlew ${GRADLE_SWITCHES} snapshot publish -PforceSigning
47+
env:
48+
OSSRH_TOKEN: ${{ secrets.OSSRH_TOKEN }}
49+
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }}
50+
SIGNING_KEY: ${{ secrets.OSSRH_SIGNING_KEY }}
51+
SIGNING_PASSWORD: ${{ secrets.OSSRH_SIGNING_PASSWORD }}

.github/workflows/publish.yml.disabled renamed to .github/workflows/publish.yml

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,10 @@ jobs:
3232
restore-keys: |
3333
${{ runner.os }}-gradle-
3434
35-
- name: build
36-
run: ./gradlew ${GRADLE_SWITCHES} build test
37-
3835
- name: publish-candidate
3936
if: contains(github.ref, '-rc.')
4037
timeout-minutes: 30
41-
run: ./gradlew ${GRADLE_SWITCHES} -Prelease.disableGitChecks=true -Prelease.useLastTag=true candidate publish closeSonatypeStagingRepository # closeAndReleaseSonatypeStagingRepository
38+
run: ./gradlew ${GRADLE_SWITCHES} -Prelease.disableGitChecks=true -Prelease.useLastTag=true candidate publish closeAndReleaseSonatypeStagingRepository
4239
env:
4340
OSSRH_TOKEN: ${{ secrets.OSSRH_TOKEN }}
4441
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }}
@@ -48,7 +45,7 @@ jobs:
4845
- name: publish-release
4946
if: (!contains(github.ref, '-rc.'))
5047
timeout-minutes: 30
51-
run: ./gradlew ${GRADLE_SWITCHES} -Prelease.disableGitChecks=true -Prelease.useLastTag=true final publish closeSonatypeStagingRepository # closeAndReleaseSonatypeStagingRepository
48+
run: ./gradlew ${GRADLE_SWITCHES} -Prelease.disableGitChecks=true -Prelease.useLastTag=true final publish closeAndReleaseSonatypeStagingRepository
5249
env:
5350
OSSRH_TOKEN: ${{ secrets.OSSRH_TOKEN }}
5451
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }}

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
build/
22
.gradle/
3-
gradle.properties
43
out/
54
.idea/

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
![Logo](https://github.com/openrewrite/rewrite/raw/master/doc/logo-oss.png)
22
### Migrate testing frameworks. Automatically.
33

4-
[![Build Status](https://circleci.com/gh/openrewrite/rewrite-testing-frameworks.svg?style=shield)](https://circleci.com/gh/openrewrite/rewrite-testing-frameworks)
4+
![ci](https://github.com/openrewrite/rewrite-testing-frameworks/actions/workflows/ci.yml/badge.svg)
55
[![Apache 2.0](https://img.shields.io/github/license/openrewrite/rewrite-testing-frameworks.svg)](https://www.apache.org/licenses/LICENSE-2.0)
66
[![Maven Central](https://img.shields.io/maven-central/v/org.openrewrite.recipe/rewrite-testing-frameworks.svg)](https://mvnrepository.com/artifact/org.openrewrite.recipe/rewrite-testing-frameworks)
77

build.gradle.kts

Lines changed: 45 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,64 @@
1-
import io.spring.gradle.bintray.SpringBintrayExtension
21
import nebula.plugin.contacts.Contact
32
import nebula.plugin.contacts.ContactsExtension
4-
import nebula.plugin.info.InfoBrokerPlugin
53
import nl.javadude.gradle.plugins.license.LicenseExtension
64
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
7-
import org.jfrog.gradle.plugin.artifactory.dsl.ArtifactoryPluginConvention
8-
import org.jfrog.gradle.plugin.artifactory.dsl.PublisherConfig
95
import java.util.*
106

117
buildscript {
128
repositories {
13-
jcenter()
149
gradlePluginPortal()
1510
}
16-
17-
dependencies {
18-
classpath("io.spring.gradle:spring-release-plugin:0.20.1")
19-
20-
constraints {
21-
classpath("org.jfrog.buildinfo:build-info-extractor-gradle:4.13.0") {
22-
because("Need recent version for Gradle 6+ compatibility")
23-
}
24-
}
25-
}
2611
}
2712

2813
plugins {
2914
`java-library`
30-
id("org.jetbrains.kotlin.jvm") version "1.4.20"
31-
id("io.spring.release") version "0.20.1"
32-
}
15+
`maven-publish`
16+
signing
17+
18+
id("nebula.maven-resolved-dependencies") version "17.3.2"
19+
id("nebula.release") version "15.3.1"
20+
id("io.github.gradle-nexus.publish-plugin") version "1.0.0"
3321

34-
apply(plugin = "license")
35-
apply(plugin = "nebula.maven-resolved-dependencies")
36-
apply(plugin = "io.spring.publishing")
22+
id("com.github.hierynomus.license") version "0.15.0"
23+
id("org.jetbrains.kotlin.jvm") version "1.4.21"
24+
id("com.github.jk1.dependency-license-report") version "1.16"
25+
26+
id("nebula.maven-publish") version "17.3.2"
27+
id("nebula.contacts") version "5.1.0"
28+
id("nebula.info") version "9.3.0"
29+
30+
id("nebula.javadoc-jar") version "17.3.2"
31+
id("nebula.source-jar") version "17.3.2"
32+
id("nebula.maven-apache-license") version "17.3.2"
33+
}
3734

3835
group = "org.openrewrite.recipe"
39-
description = "A rewrite module automating best practices and major version migrations for popular Java test frameworks like JUnit and Mockito "
36+
description = "A rewrite module automating best practices and major version migrations for popular Java test frameworks like JUnit and Mockito"
4037

4138
repositories {
4239
mavenLocal()
43-
maven { url = uri("https://dl.bintray.com/openrewrite/maven") }
4440
mavenCentral()
4541
}
4642

43+
nexusPublishing {
44+
repositories {
45+
sonatype {
46+
username.set(project.findProperty("ossrhUsername") as String? ?: System.getenv("OSSRH_USERNAME"))
47+
password.set(project.findProperty("ossrhToken") as String? ?: System.getenv("OSSRH_TOKEN"))
48+
}
49+
}
50+
}
51+
52+
signing {
53+
setRequired({
54+
!project.version.toString().endsWith("SNAPSHOT") || project.hasProperty("forceSigning")
55+
})
56+
val signingKey = project.findProperty("signingKey") as String? ?: System.getenv("SIGNING_KEY")
57+
val signingPassword = project.findProperty("signingPassword") as String? ?: System.getenv("SIGNING_PASSWORD")
58+
useInMemoryPgpKeys(signingKey, signingPassword)
59+
sign(publishing.publications["nebula"])
60+
}
61+
4762
sourceSets {
4863
create("before")
4964
create("after")
@@ -140,7 +155,8 @@ configure<PublishingExtension> {
140155
while (i < length) {
141156
(dependencyList.item(i) as org.w3c.dom.Element).let { dependency ->
142157
if ((dependency.getElementsByTagName("scope")
143-
.item(0) as org.w3c.dom.Element).textContent == "provided") {
158+
.item(0) as org.w3c.dom.Element).textContent == "provided"
159+
) {
144160
dependencies.removeChild(dependency)
145161
i--
146162
length--
@@ -155,67 +171,9 @@ configure<PublishingExtension> {
155171
}
156172
}
157173

158-
configure<SpringBintrayExtension> {
159-
org = "openrewrite"
160-
repo = "maven"
161-
}
162-
163-
project.withConvention(ArtifactoryPluginConvention::class) {
164-
setContextUrl("https://oss.jfrog.org/artifactory")
165-
publisherConfig.let {
166-
val repository: PublisherConfig.Repository = it.javaClass
167-
.getDeclaredField("repository")
168-
.apply { isAccessible = true }
169-
.get(it) as PublisherConfig.Repository
170-
171-
repository.setRepoKey("oss-snapshot-local")
172-
repository.setUsername(project.findProperty("bintrayUser"))
173-
repository.setPassword(project.findProperty("bintrayKey"))
174-
}
175-
}
176-
177-
tasks.withType<GenerateMavenPom> {
178-
doLast {
179-
// because pom.withXml adds blank lines
180-
destination.writeText(
181-
destination.readLines().filter { it.isNotBlank() }.joinToString("\n")
182-
)
183-
}
184-
185-
doFirst {
186-
val runtimeClasspath = configurations.getByName("runtimeClasspath")
187-
188-
val gav = { dep: ResolvedDependency ->
189-
"${dep.moduleGroup}:${dep.moduleName}:${dep.moduleVersion}"
190-
}
191-
192-
val observedDependencies = TreeSet<ResolvedDependency> { d1, d2 ->
193-
gav(d1).compareTo(gav(d2))
194-
}
195-
196-
fun reduceDependenciesAtIndent(indent: Int):
197-
(List<String>, ResolvedDependency) -> List<String> =
198-
{ dependenciesAsList: List<String>, dep: ResolvedDependency ->
199-
dependenciesAsList + listOf(" ".repeat(indent) + dep.module.id.toString()) + (
200-
if (observedDependencies.add(dep)) {
201-
dep.children
202-
.sortedBy(gav)
203-
.fold(emptyList(), reduceDependenciesAtIndent(indent + 2))
204-
} else {
205-
// this dependency subtree has already been printed, so skip it
206-
emptyList()
207-
}
208-
)
209-
}
210-
211-
project.plugins.withType<InfoBrokerPlugin> {
212-
add("Resolved-Dependencies", runtimeClasspath
213-
.resolvedConfiguration
214-
.lenientConfiguration
215-
.firstLevelModuleDependencies
216-
.sortedBy(gav)
217-
.fold(emptyList(), reduceDependenciesAtIndent(6))
218-
.joinToString("\n", "\n", "\n" + " ".repeat(4)))
219-
}
220-
}
174+
tasks.withType<Javadoc> {
175+
// assertTrue(boolean condition) -> assertThat(condition).isTrue()
176+
// warning - invalid usage of tag >
177+
// see also: https://blog.joda.org/2014/02/turning-off-doclint-in-jdk-8-javadoc.html
178+
(options as StandardJavadocDocletOptions).addStringOption("Xdoclint:none", "-quiet")
221179
}

gradle.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
#

gradle.properties.enc

-352 Bytes
Binary file not shown.

gradle/deploy.sh

Lines changed: 0 additions & 31 deletions
This file was deleted.

0 commit comments

Comments
 (0)