Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
b8921b6
nip44 and nip04 modules merged into encryption module
avlo Mar 8, 2025
ece7718
strip trailing zeros from bigdecimal
avlo Mar 10, 2025
0cf2cbf
afterburner replace objectmapper
avlo Mar 11, 2025
7fc7ed8
spring boot conversion, removes need for module-info.java files. add…
avlo Mar 12, 2025
b2cbf03
pom dependency cleanup and reorg. all unit and integration tests pas…
avlo Mar 12, 2025
8db999e
spring boot version up
avlo Mar 12, 2025
a4124b5
old modules pom cruft leaned out
avlo Mar 12, 2025
47f2df7
removed duplicate transitive pom dependencies
avlo Mar 12, 2025
fbf770d
successful groovy compilation
avlo Mar 12, 2025
e9e360e
per module local maven publish
avlo Mar 12, 2025
dc35b87
publish local after build.
avlo Mar 12, 2025
89189c5
test customiations
avlo Mar 13, 2025
df4b5ca
daemon conf
avlo Mar 13, 2025
75dfa34
tags deserialization cleanup, introduce basttag consumer
avlo Mar 13, 2025
87db88b
remaining tags serialize() implementation modernization
avlo Mar 13, 2025
0ae8b5f
cleanup
avlo Mar 13, 2025
374d9b2
general refactor & cleanup
avlo Mar 15, 2025
a84696c
exceptions update
avlo Mar 15, 2025
534f49a
cleanup, note files for fix/refactor
avlo Mar 15, 2025
f0b3f89
cleanup
avlo Mar 15, 2025
f8c2572
equals fix
avlo Mar 15, 2025
b4fdf7a
refactored IEncoder & FEncoder into single Encoder (as they both use …
avlo Mar 15, 2025
79d3f52
metrics md
avlo Mar 15, 2025
71f74b7
link test
avlo Mar 16, 2025
1ebf331
removed unused imports
avlo Mar 16, 2025
0b08674
gradle updates
avlo Mar 17, 2025
a872b8c
gradle multi module config
avlo Mar 17, 2025
89a5dae
gitignores
avlo Mar 17, 2025
accea2b
plain jar classifier
avlo Mar 17, 2025
e94433f
placeholder for remote repo publish
avlo Mar 17, 2025
72b1fc3
gradle test logger plugin
avlo Mar 18, 2025
654c4de
config cleanups
avlo Mar 18, 2025
6dd39c1
event package class tests moved to proper location
avlo Mar 18, 2025
3603bcd
tests moved to proper modules
avlo Mar 18, 2025
58aaf73
maven dependency consolidation
avlo Mar 18, 2025
fa5579a
pom parrent updates
avlo Mar 18, 2025
5b07226
boot tests running
avlo Mar 18, 2025
b3dc2be
finalized tests
avlo Mar 19, 2025
b6c8c2a
publications
avlo Mar 19, 2025
f5136e7
cleanup
avlo Mar 19, 2025
3cc76b5
unit test / integration test filename differentiation
avlo Mar 19, 2025
c888550
comments/cleanup
avlo Mar 19, 2025
75885ec
working snapshot
avlo Mar 19, 2025
ef5c87b
add test-retry options
avlo Mar 20, 2025
0961878
config sequential execution for api tests
avlo Mar 20, 2025
1fc0b42
test-method calls to close socket introduce race-condition with test …
avlo Mar 20, 2025
6587678
parallel tests for api
avlo Mar 20, 2025
2aafacc
commented out tested fixed
avlo Mar 20, 2025
b9a6d5d
conventions does not need gradle plugin
avlo Mar 20, 2025
12d86ce
accidental comented
avlo Mar 20, 2025
c362a2a
removed superfluous nip (& subsequent null use/abuse) from ElementAtt…
avlo Mar 20, 2025
9575dda
test spec update
avlo Mar 20, 2025
3950409
Merge branch 'spring_boot-gradle-migration' into elementattribute_nip…
avlo Mar 20, 2025
e7b4994
ongoing, snapshot prior to removing IElement interface dependency
avlo Mar 20, 2025
b626d5c
distinct stream for generic tag decoder
avlo Mar 21, 2025
5767829
add maven retyr
avlo Mar 23, 2025
9282d44
differentiate gradle test/check phases. pom maven retry=1
avlo Mar 26, 2025
d9f402f
updated repo dependencies
avlo Mar 27, 2025
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
9 changes: 8 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

# Created by https://www.gitignore.io/api/java,eclipse,java-web,code-java,intellij+all,visualstudiocode
# Edit at https://www.gitignore.io/?templates=java,eclipse,java-web,code-java,intellij+all,visualstudiocode

Expand Down Expand Up @@ -212,6 +211,14 @@ hs_err_pid*
## ignoring target file
target/

# Gradle files
.gradle/
build/
gradle/
gradlew
gradlew.bat
buildSrc/build

### VisualStudioCode ###
.vscode
.vscode/*
Expand Down
Binary file removed .mvn/wrapper/maven-wrapper.jar
Binary file not shown.
36 changes: 36 additions & 0 deletions buildSrc/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
/*
gradle project-build tools configuration file

nostr-java specific configs can be found in:
buildSrc/src/main/groovy/nostr-java.conventions.gradle
*/

plugins {
id 'java'
id 'groovy-gradle-plugin'
}

group = 'xyz.tcheeric'
version = '0.6.5-SNAPSHOT'

repositories {
mavenCentral()
gradlePluginPortal {
url = 'https://plugins.gradle.org/m2/'
}
}

dependencies {
def springBootVersion = '3.4.3'
def retry = '1.6.2'

implementation 'org.springframework.boot:spring-boot:' + springBootVersion
implementation 'org.springframework.boot:spring-boot-gradle-plugin:' + springBootVersion
implementation 'org.gradle.test-retry:org.gradle.test-retry.gradle.plugin:' + retry
}

configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
123 changes: 123 additions & 0 deletions buildSrc/src/main/groovy/nostr-java.conventions.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
/*
nostr-java application/library dependencies & configuration file

gradle project-build tools specific configs can be found in:
buildSrc/build.gradle
*/

plugins {
id 'java'
id 'java-library'
id 'maven-publish'
id 'org.springframework.boot'
id 'io.spring.dependency-management'
id 'com.adarshr.test-logger'
id 'org.gradle.test-retry'
}

group = version = rootProject.property("nostr-java.group")
version = rootProject.property("nostr-java.version")
description = rootProject.property("nostr-java.description")

repositories {
gradlePluginPortal()
mavenLocal()
mavenCentral()
}

publishing {
publications {
nostrjava(MavenPublication) {
from components.java
}
}
repositories {
mavenLocal()
//// TODO: below placeholder for eric
// someRemoteRepo()
}
}


dependencies {
def springBootVersion = rootProject.property("nostr-java.springBootVersion")
def apacheCommonsLang3 = rootProject.property("nostr-java.apacheCommonsLang3")
def jacksonModuleAfterburner = rootProject.property("nostr-java.jacksonModuleAfterburner")
def googleGuava = rootProject.property("nostr-java.googleGuava")
def bouncyCastle = rootProject.property("nostr-java.bouncyCastle")
def awaitility = rootProject.property("nostr-java.awaitility")
def lombok = rootProject.property("nostr-java.lombok")
def logger = rootProject.property("nostr-java.adarshrGradleTestLoggerPlugin")

implementation 'org.springframework.boot:spring-boot-starter:' + springBootVersion
implementation 'org.springframework.boot:spring-boot-devtools:' + springBootVersion
annotationProcessor 'org.springframework.boot:spring-boot-autoconfigure:' + springBootVersion
annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor:' + springBootVersion

implementation 'org.springframework.boot:spring-boot-starter-validation:' + springBootVersion
implementation 'org.springframework.boot:spring-boot-starter-websocket:' + springBootVersion

implementation 'com.fasterxml.jackson.module:jackson-module-afterburner:' + jacksonModuleAfterburner
implementation 'org.bouncycastle:bcprov-jdk18on:' + bouncyCastle

implementation 'org.apache.commons:commons-lang3:' + apacheCommonsLang3
implementation 'com.google.guava:guava:' + googleGuava
implementation 'org.awaitility:awaitility:' + awaitility
implementation 'org.projectlombok:lombok:' + lombok
annotationProcessor 'org.awaitility:awaitility:' + awaitility
annotationProcessor 'org.projectlombok:lombok:' + lombok

testImplementation 'org.springframework.boot:spring-boot-starter-test:' + springBootVersion
testImplementation 'org.projectlombok:lombok:' + lombok
testImplementation 'org.awaitility:awaitility:' + awaitility
testImplementation 'com.adarshr:gradle-test-logger-plugin:' + logger

testAnnotationProcessor 'org.projectlombok:lombok:' + lombok
}

configurations {
compileOnly {
extendsFrom annotationProcessor
}
}

tasks.test {
systemProperty("spring.profiles.active", "test")
useJUnitPlatform()
// retry {
// maxRetries.set(1)
//// maxFailures.set(20)
//// failOnPassedAfterRetry.set(false)
//// failOnSkippedAfterRetry.set(true)
// }
}

test {
filter {
excludeTestsMatching("nostr.api.integration.*");
}
}

tasks.bootJar {
enabled = false
}

tasks.jar {
archiveClassifier = ''
}

java.sourceCompatibility = JavaVersion.toVersion(rootProject.property("nostr-java.java-version"))
java.targetCompatibility = JavaVersion.toVersion(rootProject.property("nostr-java.java-version"))
java {
toolchain {
languageVersion = JavaLanguageVersion.of(rootProject.property("nostr-java.java-version").toString())
}
}

tasks.withType(JavaCompile).configureEach {
options.encoding = 'UTF-8'
}

tasks.withType(Javadoc).configureEach {
options.encoding = 'UTF-8'
}
21 changes: 21 additions & 0 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
org.gradle.configuration-cache=false
org.gradle.daemon=true
org.gradle.caching=true
org.gradle.parallel=true
#createReports=true
org.gradle.warning.mode=none

nostr-java.group=xyz.tcheeric
nostr-java.version=0.6.5-SNAPSHOT
nostr-java.description=nostr-java

nostr-java.java-version=21
nostr-java.springBootVersion=3.4.3
nostr-java.apacheCommonsLang3=3.17.0
nostr-java.jacksonModuleAfterburner=2.18.3
nostr-java.googleGuava=33.2.1-jre
nostr-java.bouncyCastle=1.80
nostr-java.awaitility=4.2.0
nostr-java.lombok=1.18.36
nostr-java.adarshrGradleTestLoggerPlugin=4.0.0
nostr-java.gradleTestRetry=1.6.2
Loading