Skip to content

Commit

Permalink
chore: prepare 1.0.0 release
Browse files Browse the repository at this point in the history
  • Loading branch information
TheMrMilchmann committed Jan 8, 2020
1 parent 1e9cd7f commit dae9e73
Show file tree
Hide file tree
Showing 9 changed files with 78 additions and 51 deletions.
28 changes: 14 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# GW2ML

[![License](https://img.shields.io/badge/license-MIT-green.svg?style=flat-square)](https://github.com/GW2Toolbelt/GW2ML/blob/master/LICENSE)
[![Maven Central](https://img.shields.io/maven-central/v/com.github.gw2toolbelt.gw2ml/gw2ml.svg?style=flat-square&label=maven%20central)](https://maven-badges.herokuapp.com/maven-central/com.github.gw2toolbelt.gw2ml/gw2ml)

[![License](https://img.shields.io/badge/license-MIT-green.svg?style=flat-square&label=License)](https://github.com/GW2Toolbelt/GW2ML/blob/master/LICENSE)
[![Maven Central](https://img.shields.io/maven-central/v/com.github.gw2toolbelt.gw2ml/gw2ml.svg?style=flat-square&label=Maven%20Central)](https://maven-badges.herokuapp.com/maven-central/com.github.gw2toolbelt.gw2ml/gw2ml)
[![Maven Central](https://img.shields.io/maven-central/v/com.github.gw2toolbelt.gw2ml/gw2ml.svg?style=flat-square&label=JavaDoc&color=blue)](https://javadoc.io/doc/com.github.gw2toolbelt.gw2ml/gw2ml)

GW2ML is a Java library for fast and non-cached access to the data provided
by the Guild Wars 2 game client via the MumbleLink mechanism.
Expand All @@ -11,20 +11,16 @@ This library supports Java 8 and is fully compatible with the module system
introduced in Java 9.


**NOTE: While this library is fully functional its documentation is currently
still lackluster. [Read more about the current state of this library.](https://github.com/TheMrMilchmann/GW2ML/issues/9)**


## Usage

### Setup

GW2ML provides prebuilt artifacts for all supported platforms.
GW2ML consists of multiple artifacts:

- `gw2ml.jar`
- `gw2ml-sources.jar`
- `gw2ml-javadoc.jar`
- `gw2ml-natives-<platform>.jar`
- `gw2ml.jar` (The main library.)
- `gw2ml-sources.jar` (The source archive.)
- `gw2ml-javadoc.jar` (The JavaDoc archive.)
- `gw2ml-natives-<platform>.jar` (The platform-specific prebuilt native libraries.)

To compile an application using GW2ML, the base artifact should be added to the
class-path (or the module-path). When running an application GW2ML requires a
Expand All @@ -35,7 +31,8 @@ when creating a platform-specific installer) the natives may be extracted
manually and loaded via `java.library.path`. See the [Configuration](/src/main/java/com/github/gw2toolbelt/gw2ml/Configuration.java)
class for more options.

Currently supported platforms/architectures are:
GW2ML provides prebuilt artifacts for all supported platforms. The currently
supported platforms/architectures are:

- Windows x64 (`gw2ml-natives-windows.jar`)

Expand Down Expand Up @@ -73,7 +70,10 @@ JDK_9="path to JDK 9"
JDK_13="path to JDK 13"
```

// TODO document native build process
To build the native components for a platform, a compatible host is required.
Additionally, it is recommended to run the task with the `no-daemon` flag to
ensure that Gradle properly picks up all tools from the current environment.


### Building

Expand Down
2 changes: 1 addition & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ plugins {
}

val artifactName = "gw2ml"
val nextVersion = "0.2.0"
val nextVersion = "1.0.0"

group = "com.github.gw2toolbelt.gw2ml"
version = when (deployment.type) {
Expand Down
10 changes: 7 additions & 3 deletions docs/changelog/0.2.0.md → docs/changelog/1.0.0.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
### 0.2.0
### 1.0.0

_Not Yet Released_
_2020 Jan 08_

#### Improvements

Expand All @@ -9,4 +9,8 @@ _Not Yet Released_
[[GH-3](https://github.com/GW2Toolbelt/GW2ML/issues/3)] [[GH-4](https://github.com/GW2Toolbelt/GW2ML/issues/4)]
[[GH-5](https://github.com/GW2Toolbelt/GW2ML/issues/5)] [[GH-6](https://github.com/GW2Toolbelt/GW2ML/issues/6)]
[[GH-7](https://github.com/GW2Toolbelt/GW2ML/issues/7)] [[GH-8](https://github.com/GW2Toolbelt/GW2ML/issues/8)]
- Added `UIState#isInLoadingScreen` to check whether the game is currently in a loading screen.
- Added `UIState#isInLoadingScreen` to check whether the game is currently in a loading screen.

#### Breaking Changes

- Changed return type of `MumbleLink.Context#getShardID` from `long` to `int`
4 changes: 2 additions & 2 deletions docs/changelog/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@

### Version History

* ????-??-?? [0.2.0](0.2.0.md) (TBD; work in progress)
* 2019-10-31 [0.1.0](0.1.0.md) (latest)
* 2020-01-08 [1.0.0](1.0.0.md) (latest)
* 2019-10-31 [0.1.0](0.1.0.md)


This library is strictly following [SemVer 2.0.0](https://semver.org/spec/v2.0.0.html).
18 changes: 18 additions & 0 deletions docs/changelog/full.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,21 @@
### 1.0.0

_2020 Jan 08_

#### Improvements

- Throw descriptive exceptions for errors in native code. [[GH-10](https://github.com/GW2Toolbelt/GW2ML/issues/10)]
- Documented all remaining undocumented fields. [[GH-2](https://github.com/GW2Toolbelt/GW2ML/issues/2)]
[[GH-3](https://github.com/GW2Toolbelt/GW2ML/issues/3)] [[GH-4](https://github.com/GW2Toolbelt/GW2ML/issues/4)]
[[GH-5](https://github.com/GW2Toolbelt/GW2ML/issues/5)] [[GH-6](https://github.com/GW2Toolbelt/GW2ML/issues/6)]
[[GH-7](https://github.com/GW2Toolbelt/GW2ML/issues/7)] [[GH-8](https://github.com/GW2Toolbelt/GW2ML/issues/8)]
- Added `UIState#isInLoadingScreen` to check whether the game is currently in a loading screen.

#### Breaking Changes

- Changed return type of `MumbleLink.Context#getShardID` from `long` to `int`


### 0.1.0

_2019 Oct 31_
Expand Down
19 changes: 12 additions & 7 deletions docs/changelog/latest.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,16 @@
### 0.1.0
### 1.0.0

_2019 Oct 31_
_2020 Jan 08_

#### Overview
#### Improvements

This is the first pre-release of GW2ML, a library for accessing data provided by
the Guild Wars 2 game client via the MumbleLink mechanism.
- Throw descriptive exceptions for errors in native code. [[GH-10](https://github.com/GW2Toolbelt/GW2ML/issues/10)]
- Documented all remaining undocumented fields. [[GH-2](https://github.com/GW2Toolbelt/GW2ML/issues/2)]
[[GH-3](https://github.com/GW2Toolbelt/GW2ML/issues/3)] [[GH-4](https://github.com/GW2Toolbelt/GW2ML/issues/4)]
[[GH-5](https://github.com/GW2Toolbelt/GW2ML/issues/5)] [[GH-6](https://github.com/GW2Toolbelt/GW2ML/issues/6)]
[[GH-7](https://github.com/GW2Toolbelt/GW2ML/issues/7)] [[GH-8](https://github.com/GW2Toolbelt/GW2ML/issues/8)]
- Added `UIState#isInLoadingScreen` to check whether the game is currently in a loading screen.

This is a initial version is published for easy public consumption and the API
might change in the future (although that is unlikely).
#### Breaking Changes

- Changed return type of `MumbleLink.Context#getShardID` from `long` to `int`
44 changes: 22 additions & 22 deletions src/main/java/com/github/gw2toolbelt/gw2ml/MapType.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
/**
* A utility class for interpreting the value of the {@link MumbleLink.Context#getMapType() mapType} field.
*
* @since 0.2.0
* @since 1.0.0
*
* @author Leon Linhart
*/
Expand All @@ -36,111 +36,111 @@ public enum MapType {
*
* <p>This is used as a fallback.</p>
*
* @since 0.2.0
* @since 1.0.0
*/
UNKNOWN(-1),
/**
* Redirect "maps" (e.g. when logging in while in a PvP match).
*
* @since 0.2.0
* @since 1.0.0
*/
REDIRECT(0),
/**
* Character creation screens.
*
* @since 0.2.0
* @since 1.0.0
*/
CHARACTER_CREATION(1),
/**
* Player vs Player (PvP) maps.
*
* @since 0.2.0
* @since 1.0.0
*/
PVP(2),
/**
* Guild vs Guild (GvG) maps.
*
* @apiNote At the time of writing this `mapType` is unused.
*
* @since 0.2.0
* @since 1.0.0
*/
GVG(3),
/**
* Instance maps (such as dungeons and story content).
*
* @since 0.2.0
* @since 1.0.0
*/
INSTANCE(4),
/**
* Public maps (e.g. open world).
*
* @since 0.2.0
* @since 1.0.0
*/
PUBLIC(5),
/**
* Tournament maps.
*
* @since 0.2.0
* @since 1.0.0
*/
TOURNAMENT(6),
/**
* Tutorial maps.
*
* @since 0.2.0
* @since 1.0.0
*/
TUTORIAL(7),
/**
* User tournament maps.
*
* @since 0.2.0
* @since 1.0.0
*/
USER_TOURNAMENT(8),
/**
* "Eternal Battlegrounds" maps.
*
* @since 0.2.0
* @since 1.0.0
*/
ETERNAL_BATTLEGROUNDS(9),
/**
* "Blue Battlegrounds" maps.
*
* @since 0.2.0
* @since 1.0.0
*/
BLUE_BORDERLANDS(10),
/**
* "Green Battlegrounds" maps.
*
* @since 0.2.0
* @since 1.0.0
*/
GREEN_BORDERLANDS(11),
/**
* "Red Battlegrounds" maps.
*
* @since 0.2.0
* @since 1.0.0
*/
RED_BORDERLANDS(12),
/**
* <strong>This map type is currently unused and it's purpose is unknown.</strong>
*
* @since 0.2.0
* @since 1.0.0
*/
FORTUNES_VALE(13),
/**
* "Obsidian Sanctum" maps.
*
* @since 0.2.0
* @since 1.0.0
*/
OBSIDIAN_SANCTUM(14),
/**
* "Edge of the Mists" maps.
*
* @since 0.2.0
* @since 1.0.0
*/
EOTM(15),
/**
* Public "mini" maps (such as "Dry Top", "The Silverwastes", and "Mistlock Sanctuary").
*
* @since 0.2.0
* @since 1.0.0
*/
PUBLIC_MINI(16),
/**
Expand All @@ -149,7 +149,7 @@ public enum MapType {
* @apiNote This map type might be re-used by other WvW lounge maps in the
* future.
*
* @since 0.2.0
* @since 1.0.0
*/
WVW_LOUNGE(18);

Expand All @@ -162,7 +162,7 @@ public enum MapType {
*
* @return the appropriate {@code MapType} representation for the given numerical value
*
* @since 0.2.0
* @since 1.0.0
*/
public static MapType valueOf(long mapType) {
return Arrays.stream(MapType.values())
Expand All @@ -184,7 +184,7 @@ public static MapType valueOf(long mapType) {
*
* @return the numerical value of this map type
*
* @since 0.2.0
* @since 1.0.0
*/
public long numericalValue() {
return this.mapType;
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/com/github/gw2toolbelt/gw2ml/MumbleLink.java
Original file line number Diff line number Diff line change
Expand Up @@ -730,7 +730,7 @@ public long getMapType() {
*
* @apiNote This field has no known purpose for outside use.
*
* @since 0.2.0
* @since 1.0.0
*/
public int getShardID() {
MumbleLink.this.validateState();
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/com/github/gw2toolbelt/gw2ml/UIState.java
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ public static boolean isCompassRotationEnabled(int uiState) {
*
* @return whether or not the game is currently in a loading screen
*
* @since 0.2.0
* @since 1.0.0
*/
public static boolean isInLoadingScreen(int uiState) {
return (uiState & (1 << 3)) != 0;
Expand Down

0 comments on commit dae9e73

Please sign in to comment.