Skip to content

Commit

Permalink
Merge branch 'release-0.5.6'
Browse files Browse the repository at this point in the history
  • Loading branch information
jamierocks committed Nov 27, 2020
2 parents 9d5bd9a + b026cd1 commit 11d35e3
Show file tree
Hide file tree
Showing 32 changed files with 358 additions and 248 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ Lorenz releases can be obtained through Maven Central:
### Gradle

```groovy
implementation 'org.cadixdev:lorenz:0.5.3'
implementation 'org.cadixdev:lorenz:0.5.6'
```

### Maven
Expand All @@ -40,7 +40,7 @@ implementation 'org.cadixdev:lorenz:0.5.3'
<dependency>
<groupId>org.cadixdev</groupId>
<artifactId>lorenz</artifactId>
<version>0.5.3</version>
<version>0.5.6</version>
</dependency>
```

Expand Down
151 changes: 0 additions & 151 deletions build.gradle

This file was deleted.

142 changes: 142 additions & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
import org.cadixdev.gradle.licenser.Licenser
import org.cadixdev.gradle.licenser.LicenseExtension

plugins {
`java-library`
id("org.cadixdev.licenser") version "0.5.0" apply false
}

val projectName: String by project
val projectUrl: String by project
val projectInceptionYear: String by project
val bombeVersion: String by project

val isSnapshot = version.toString().endsWith("-SNAPSHOT")

allprojects {
group = "org.cadixdev"
version = "0.5.6"
}

subprojects {
apply<JavaLibraryPlugin>()
apply<MavenPublishPlugin>()
apply<Licenser>()

repositories {
mavenCentral()
if (bombeVersion.endsWith("-SNAPSHOT")) {
maven("https://oss.sonatype.org/content/groups/public/")
}
}

dependencies {
testImplementation(platform("org.junit:junit-bom:5.7.0"))
testImplementation("org.junit.jupiter:junit-jupiter-api")
testImplementation("org.junit.jupiter:junit-jupiter-engine")
}

java {
toolchain {
languageVersion.set(JavaLanguageVersion.of(11))
}
withSourcesJar()
withJavadocJar()
}

tasks.javadoc {
options.optionFiles(rootProject.file("gradle/javadoc.options"))
}

configure<LicenseExtension> {
header = rootProject.file("HEADER.txt")
}

tasks.withType<JavaCompile>().configureEach {
options.release.set(8)
}

tasks.test {
useJUnitPlatform()
}

tasks.processResources {
from(rootProject.file("LICENSE.txt"))
}

configure<PublishingExtension> {
publications {
create<MavenPublication>("maven") {
groupId = project.group.toString()
artifactId = project.name
version = project.version.toString()

from(components["java"])
withoutBuildIdentifier()

pom {
name.set(projectName)
description.set(project.description)
packaging = "jar"
url.set(projectUrl)
inceptionYear.set(projectInceptionYear)

scm {
connection.set("scm:git:https://github.com/CadixDev/Lorenz.git")
developerConnection.set("scm:git:[email protected]:CadixDev/Lorenz.git")
url.set("https://github.com/CadixDev/Lorenz")
}

issueManagement {
system.set("GitHub")
url.set("https://github.com/CadixDev/Lorenz/issues")
}

licenses {
license {
name.set("MIT License")
url.set("https://opensource.org/licenses/MIT")
distribution.set("repo")
}
}

developers {
developer {
id.set("jamierocks")
name.set("Jamie Mansfield")
email.set("[email protected]")
url.set("https://www.jamiemansfield.me")
timezone.set("Europe/London")
}
}
}
}
}

repositories {
val url = if (isSnapshot) {
"https://oss.sonatype.org/content/repositories/snapshots/"
} else {
"https://oss.sonatype.org/service/local/staging/deploy/maven2/"
}
maven(url) {
credentials(PasswordCredentials::class)
name = "ossrh"
}
}
}

if (project.hasProperty("ossrhUsername") && project.hasProperty("ossrhPassword")) {
apply<SigningPlugin>()
configure<SigningExtension> {
useGpgCmd()
setRequired {
!isSnapshot && (
gradle.taskGraph.hasTask("publishAllPublicationsToOssrhRepository")
|| gradle.taskGraph.hasTask("publishMavenPublicationToOssrhRepository")
)
}
sign(project.extensions.getByType<PublishingExtension>().publications["maven"])
}
}
}
30 changes: 30 additions & 0 deletions changelogs/0.5.6.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
Lorenz 0.5.6
============

Configurable Parallelism during mapping merges
----------------------------------------------

The mapping merging system introduced in 0.5.4 merges mappings in parallel - which in quick testing can
improve the merge time by half. There may be cases where the max number of threads needs to be controlled.
One common example is debugging Lorenz itself, having multiple merge threads running at once can make
debugging a lot more difficult.

This release just adds one new method to [`MergeConfig`](https://github.com/CadixDev/Lorenz/blob/49be5233bff0adfaf59440ac37efdeccbb2893da/lorenz/src/main/java/org/cadixdev/lorenz/merge/MergeConfig.java):
[`getParallelism()`](https://github.com/CadixDev/Lorenz/blob/49be5233bff0adfaf59440ac37efdeccbb2893da/lorenz/src/main/java/org/cadixdev/lorenz/merge/MergeConfig.java#L84-L95).
Set this value using the new [`withParallelism()`](https://github.com/CadixDev/Lorenz/blob/49be5233bff0adfaf59440ac37efdeccbb2893da/lorenz/src/main/java/org/cadixdev/lorenz/merge/MergeConfig.java#L185-L202)
method. Check the javadocs for more info.

Allow arbitrary indexes for parameter mappings
---------------------------------------------

Method mappings may now contain parameter mappings for arbitrary indexes, rather than being constrained to
between 0 and the number of parameters in the method signature. This is nice from a general flexibility
perspective as Lorenz is only a container and isn't intended for validating mappings, but also fixes the issue
where Lorenz can't read mappings which using 1-indexed method parameters for instance methods. With this change
it's up to the user to decide how to use parameter mappings, Lorenz doesn't dictate anything one way or the
other (just like the other mapping types).

Any code which worked with Lorenz before will still continue to work, as this change only removes constraints
which used to be present. If some code was written which relied on the existing index checks then this will
technically be a breaking change, as you'll need to handle those checks yourself. That is likely to be a minor
edge case however, so this is still considered a minor release.
6 changes: 3 additions & 3 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Project Information
name = Lorenz
url = https://www.cadixdev.org/
inceptionYear = 2016
projectName = Lorenz
projectUrl = https://www.cadixdev.org/
projectInceptionYear = 2016

# Build Settings
bombeVersion = 0.3.4
3 changes: 3 additions & 0 deletions gradle/javadoc.options
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
-tag "apiNote:a:API Note:"
-tag "implSpec:a:Implementation Requirements:"
-tag "implNote:a:Implementation Note:"
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
4 changes: 0 additions & 4 deletions lorenz-asm/build.gradle

This file was deleted.

10 changes: 10 additions & 0 deletions lorenz-asm/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
plugins {
`java-library`
}

val bombeVersion: String by rootProject

dependencies {
api(project(":lorenz"))
api("org.cadixdev:bombe-asm:$bombeVersion")
}
6 changes: 3 additions & 3 deletions lorenz-asm/gradle.properties
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name = Lorenz-ASM
projectName = Lorenz-ASM
description = Utility classes for using Lorenz with ASM.
url = https://www.jamiemansfield.me/projects/lorenz
inceptionYear = 2018
projectUrl = https://www.jamiemansfield.me/projects/lorenz
projectInceptionYear = 2018
3 changes: 0 additions & 3 deletions lorenz-io-enigma/build.gradle

This file was deleted.

Loading

0 comments on commit 11d35e3

Please sign in to comment.