mirror of
https://github.com/ChronosX88/KademliaDHT.git
synced 2024-11-23 18:52:18 +00:00
Published artifact to Maven Central and changed representation of NodeID to Base64
This commit is contained in:
parent
d48645b644
commit
e94135f256
1
.gitignore
vendored
1
.gitignore
vendored
@ -2,3 +2,4 @@
|
||||
/build/
|
||||
/.gradle/
|
||||
/.idea/
|
||||
/gradle.properties
|
||||
|
80
build.gradle
80
build.gradle
@ -1,10 +1,89 @@
|
||||
plugins {
|
||||
id 'java-library'
|
||||
id 'maven'
|
||||
id 'signing'
|
||||
}
|
||||
|
||||
group 'io.github.chronosx88'
|
||||
version '1.0'
|
||||
|
||||
task javadocJar(type: Jar) {
|
||||
classifier = 'javadoc'
|
||||
from javadoc
|
||||
}
|
||||
|
||||
task sourcesJar(type: Jar) {
|
||||
classifier = 'sources'
|
||||
from sourceSets.main.allSource
|
||||
}
|
||||
|
||||
artifacts {
|
||||
archives javadocJar, sourcesJar
|
||||
}
|
||||
|
||||
if (JavaVersion.current().isJava8Compatible()) {
|
||||
allprojects {
|
||||
tasks.withType(Javadoc) {
|
||||
options.addBooleanOption('Xdoclint:none', true)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
signing {
|
||||
sign configurations.archives
|
||||
}
|
||||
|
||||
uploadArchives {
|
||||
repositories {
|
||||
mavenDeployer {
|
||||
beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }
|
||||
|
||||
repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") {
|
||||
authentication(userName: username, password: password)
|
||||
}
|
||||
|
||||
snapshotRepository(url: "https://oss.sonatype.org/content/repositories/snapshots/") {
|
||||
authentication(userName: username, password: password)
|
||||
}
|
||||
|
||||
pom.project {
|
||||
name 'KademliaDHT'
|
||||
packaging 'jar'
|
||||
description 'KademliaDHT implementation in Java'
|
||||
url 'https://github.com/ChronosX88/KademliaDHT'
|
||||
|
||||
scm {
|
||||
connection 'scm:git:git://github.com/ChronosX88/KademliaDHT.git'
|
||||
developerConnection 'scm:git:git@github.com:ChronosX88/KademliaDHT.git'
|
||||
url 'https://github.com/ChronosX88/KademliaDHT'
|
||||
}
|
||||
|
||||
licenses {
|
||||
license {
|
||||
name 'The MIT License (MIT)'
|
||||
url 'https://opensource.org/licenses/MIT'
|
||||
distribution repository
|
||||
}
|
||||
}
|
||||
|
||||
developers {
|
||||
developer {
|
||||
id 'JoshuaKissoon'
|
||||
name 'Joshua Kissoon'
|
||||
email 'JoshuaKissoon@gmail.com'
|
||||
}
|
||||
developer {
|
||||
id 'ChronosX88'
|
||||
name 'ChronosX88'
|
||||
email 'chronosx88@gmail.com'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
sourceCompatibility = 1.8
|
||||
|
||||
repositories {
|
||||
@ -13,5 +92,4 @@ repositories {
|
||||
|
||||
dependencies {
|
||||
implementation 'com.google.code.gson:gson:2.8.5'
|
||||
implementation 'javax.xml.bind:jaxb-api:2.4.0-b180830.0359'
|
||||
}
|
||||
|
@ -223,7 +223,7 @@ public class DHT implements KademliaDHT
|
||||
*
|
||||
* The name of the file containing the content is the hash of this content
|
||||
*/
|
||||
String folderName = key.hexRepresentation().substring(0, 2);
|
||||
String folderName = key.stringRepresentation().substring(0, 2);
|
||||
File contentStorageFolder = new File(this.config.getNodeDataFolder(ownerId) + File.separator + folderName);
|
||||
|
||||
/* Create the content folder if it doesn't exist */
|
||||
|
@ -5,17 +5,17 @@
|
||||
*/
|
||||
package io.github.chronosx88.kademliadht.node;
|
||||
|
||||
import io.github.chronosx88.kademliadht.message.Streamable;
|
||||
|
||||
import java.io.DataInputStream;
|
||||
import java.io.DataOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigInteger;
|
||||
import java.util.Arrays;
|
||||
import java.util.Base64;
|
||||
import java.util.BitSet;
|
||||
import java.util.Random;
|
||||
import io.github.chronosx88.kademliadht.message.Streamable;
|
||||
|
||||
import javax.xml.bind.DatatypeConverter;
|
||||
|
||||
public class KademliaId implements Streamable, Serializable
|
||||
{
|
||||
@ -30,7 +30,7 @@ public class KademliaId implements Streamable, Serializable
|
||||
*/
|
||||
public KademliaId(String data)
|
||||
{
|
||||
keyBytes = DatatypeConverter.parseHexBinary(data);
|
||||
keyBytes = Base64.getDecoder().decode(data);
|
||||
if (keyBytes.length != ID_LENGTH / 8)
|
||||
{
|
||||
throw new IllegalArgumentException("Specified Data need to be " + (ID_LENGTH / 8) + " characters long.");
|
||||
@ -249,16 +249,16 @@ public class KademliaId implements Streamable, Serializable
|
||||
this.keyBytes = input;
|
||||
}
|
||||
|
||||
public String hexRepresentation()
|
||||
public String stringRepresentation()
|
||||
{
|
||||
/* Returns the hex format of this NodeId */
|
||||
return DatatypeConverter.printHexBinary(this.keyBytes);
|
||||
/* Returns the base64 format of this NodeId */
|
||||
return Base64.getEncoder().encodeToString(this.keyBytes);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return this.hexRepresentation();
|
||||
return this.stringRepresentation();
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user