Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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: 2 additions & 6 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,12 +1,8 @@
.idea/libraries/
.idea/modules.xml
.idea/.name
.idea/compiler.xml
.idea/workspace.xml
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My IDE wanted to add even more files, and also was having a slapfight with your IDE over the ones that were checked in. In my experience, having anything in .idea in VCS leads to discomfort.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For convenience .idea (and all constantly ignored files and folders) should be included in a global .gitignore file in the user home directory and be declared like this:

git config --global core.excludesFile '~/.gitignore'

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's one way of doing it, I suppose, but in my experience, the more behavior you can sqeeze into the repo itself, the better. I want to know that every clone of this repo will have the same ignored files the same way that I want them to all have the same source code.

/.idea
*.iml
.kobalt/
.gradle/
gradle.properties
kobaltw
build/
out/
out/
3 changes: 2 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ script: ./b clean build
sudo: false

jdk:
- oraclejdk8
- oraclejdk11
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Travis grumbles about 8, so figured we might as well have the LTS and the latest 6-mo release.

- oraclejdk14

cache:
directories:
Expand Down
144 changes: 0 additions & 144 deletions build.gradle

This file was deleted.

70 changes: 70 additions & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
import org.gradle.api.tasks.testing.logging.TestLogEvent

plugins {
kotlin("jvm") version "1.3.72"
maven
signing
}

group = "com.natpryce"
version = findProperty("-version") ?: "SNAPSHOT"

println("building version $version")

repositories {
mavenCentral()
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the buildscript repositories block was using jcenter(), which is a superset of mavenCentral(), but this one wasn't, so I left it as such

}

dependencies {
implementation(kotlin("stdlib"))
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the previous setup was using compileOnly, which seems improbable, as the project is using non-inlined elements of the kotlin stdlib. Similarly, kotlin-reflect also looks like it's used at runtime.

implementation(kotlin("reflect"))

testImplementation(kotlin("test"))
testImplementation("junit:junit:4.12")
testImplementation("com.natpryce:hamkrest:1.4.0.0")
}

java {
withSourcesJar()
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

new shortcut in recent gradle

}

tasks {
jar {
manifest {
attributes(
mapOf(
"Implementation-Title" to "konfig",
"Implementation-Vendor" to "com.natpryce",
"Implementation-Version" to project.version.toString()
)
)
}
}

test {
useJUnit()

testLogging {
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seemed similar in spirit to the logging that was there before. It produces stuff like:

com.natpryce.unittests.konfig.ParsingValues > ints PASSED

with PASSED in green.

events(TestLogEvent.PASSED, TestLogEvent.FAILED, TestLogEvent.SKIPPED)
}
}

register("ossrhAuthentication") {
doLast {
if (!(project.hasProperty("ossrh.username") && project.hasProperty("ossrh.password"))) {
throw InvalidUserDataException("no OSSRH username and/or password!")
}
}
}
}

artifacts {
add("archives", tasks["sourcesJar"])
}

signing {
setRequired({ hasProperty("sign") || gradle.taskGraph.hasTask("uploadArchives") })
listOf("jar", "sourcesJar").forEach { t -> sign(tasks[t]) }
}

apply(from = "publishing.gradle")
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
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.7-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
51 changes: 31 additions & 20 deletions gradlew

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading