Skip to content

Commit

Permalink
Bump the version to 1.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
leadpony committed Jul 23, 2019
1 parent 52bdad9 commit 0f9b8e1
Show file tree
Hide file tree
Showing 5 changed files with 93 additions and 3 deletions.
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## Unreleased
## 1.0.0 - 2019-07-23
### Added
- First release to the Maven Central Repository.
61 changes: 60 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,70 @@
# Joy

[![Apache 2.0 License](https://img.shields.io/:license-Apache%202.0-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0)
[![Maven Central](https://img.shields.io/maven-central/v/org.leadpony.joy/joy.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22org.leadpony.joy%22%20AND%20a:%22joy%22)
[![Javadocs](https://www.javadoc.io/badge/jakarta.json/jakarta.json-api.svg)](https://www.javadoc.io/doc/jakarta.json/jakarta.json-api)
[![Build Status](https://travis-ci.org/leadpony/joy.svg?branch=master)](https://travis-ci.org/leadpony/joy)

Joy is a fast and robust JSON parser based on JSR 374 (JSON Processing) API.
Joy is a fast and robust JSON parser implementing Java API for JSON Processing (JSR 374).

## Key Features

* Fully compliant with version 1.1 of [Java API for JSON Processing (JSR 374)].
* Passes all tests provided by [JSON-P Test Suite].
* Supports Java 8 and higher.
* Can be used as a modular jar in Java 9 and higher.
* Developed from scratch to produce cleaner code.

## Getting Started

First, add the API as a dependency to your pom.xml.

```xml
<dependency>
<groupId>jakarta.json</groupId>
<artifactId>jakarta.json-api</artifactId>
<version>1.1.5</version>
</dependency>
```

Next, add this software as an implementation of the API.

```xml
<dependency>
<groupId>org.leadpony.joy</groupId>
<artifactId>joy</artifactId>
<version>1.0.0</version>
<scope>runtime</scope>
</dependency>
```

## Additional Resources
* [API Reference in Javadoc]
* [Changelog]

## Building from Source

JDK 9 and [Maven] are tools required to build this software. The following command builds and install it into your local Maven repository.

```bash
mvn clean install -P release
```

## Other Solutions

There are other implementations compatible with this software.

* [Jakarta JSON Processing] (Reference Implementation)
* [Apache Johnzon]

## Copyright Notice
Copyright &copy; 2019 the Joy Authors. This software is licensed under [Apache License, Versions 2.0][Apache 2.0 License].

[Apache 2.0 License]: https://www.apache.org/licenses/LICENSE-2.0
[Java API for JSON Processing (JSR 374)]: https://eclipse-ee4j.github.io/jsonp/
[JSON-P Test Suite]: https://github.com/leadpony/jsonp-test-suite
[API Reference in Javadoc]: https://www.javadoc.io/doc/jakarta.json/jakarta.json-api/1.1.5
[Changelog]: CHANGELOG.md
[Maven]: https://maven.apache.org/
[Jakarta JSON Processing]: https://eclipse-ee4j.github.io/jsonp/
[Apache Johnzon]: https://johnzon.apache.org/
17 changes: 16 additions & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

<groupId>org.leadpony.joy</groupId>
<artifactId>joy</artifactId>
<version>1.0.0-SNAPSHOT</version>
<version>1.0.0</version>
<packaging>jar</packaging>
<name>org.leadpony.joy</name>
<description>
Expand Down Expand Up @@ -99,7 +99,9 @@
<additionalJOption>-J-Duser.language=en</additionalJOption>
<additionalJOption>-html5</additionalJOption>
</additionalJOptions>
<!--
<excludePackageNames>org.leadpony.joy.internal</excludePackageNames>
-->
<detectJavaApiLink>false</detectJavaApiLink>
<offlineLinks>
<offlineLink>
Expand Down Expand Up @@ -220,6 +222,19 @@
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<executions>
<execution>
<id>attach-javadoc</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,19 @@
*/
interface InputStreamReaderFactory {

/**
* UTF-32 Big Endian.
*/
Charset UTF_32BE = Charset.forName("UTF-32BE");

/**
* UTF-32 Little Endian.
*/
Charset UTF_32LE = Charset.forName("UTF-32LE");

/**
* The default character encoding.
*/
Charset DEFAULT_ENCODING = StandardCharsets.UTF_8;

/**
Expand Down
6 changes: 6 additions & 0 deletions src/main/java/org/leadpony/joy/internal/JsonProviderImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,12 @@ public class JsonProviderImpl extends JsonProvider implements InputStreamReaderF

private final CharBufferFactory bufferFactory = new PooledCharBufferFactory();

/**
* Constructs this provider.
*/
public JsonProviderImpl() {
}

@Override
public JsonParser createParser(Reader reader) {
requireNonNull(reader, "reader");
Expand Down

0 comments on commit 0f9b8e1

Please sign in to comment.