Skip to content

Commit

Permalink
Fixes #293, #294, #295
Browse files Browse the repository at this point in the history
  • Loading branch information
Pante committed Jan 18, 2024
1 parent 6ce7cb5 commit ab06f46
Show file tree
Hide file tree
Showing 14 changed files with 860 additions and 927 deletions.
Original file line number Diff line number Diff line change
@@ -1,16 +1,13 @@
name: Deploy to Nightly Self-hosted Nexus Repository
name: Build Elementary

on:
push:
branches:
- master

env:
SONATYPE_USERNAME: ${{secrets.SONATYPE_USERNAME}}
SONATYPE_PASSWORD: ${{secrets.SONATYPE_PASSWORD}}
pull_request: {}

jobs:
deploy-self-hosted:
build:
runs-on: ubuntu-latest
steps:
- uses: styfle/[email protected]
Expand All @@ -22,5 +19,5 @@ jobs:
java-version: 17
distribution: temurin
- run: chmod +x ./mvnw
- run: ./mvnw deploy site site-deploy --settings ci-settings.xml --no-transfer-progress
- run: ./mvnw install
- run: bash <(curl -s https://codecov.io/bash)
2 changes: 1 addition & 1 deletion .github/workflows/deploy_maven_central.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,4 @@ jobs:
JRELEASER_GPG_SECRET_KEY: ${{ secrets.GPG_SECRET_KEY }}
JRELEASER_GPG_PUBLIC_KEY: ${{ secrets.GPG_PUBLIC_KEY }}
JRELEASER_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: ./mvnw -Prelease deploy jreleaser:deploy -DaltDeploymentRepository=local::file:./target/staging-deploy --no-transfer-progress
run: ./mvnw -Prelease deploy jreleaser:deploy -DaltDeploymentRepository=local::file:./target/staging-deploy
2 changes: 1 addition & 1 deletion .github/workflows/deploy_self_hosted_stable.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,5 +22,5 @@ jobs:
java-version: 17
distribution: temurin
- run: chmod +x ./mvnw
- run: ./mvnw deploy site site:stage-deploy site-deploy -Drepository-head=latest --settings ci-settings.xml --no-transfer-progress
- run: ./mvnw deploy site site:stage-deploy site-deploy -Drepository-head=latest --settings ci-settings.xml
- run: bash <(curl -s https://codecov.io/bash)
1 change: 1 addition & 0 deletions .mvn/maven.config
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
--no-transfer-progress
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
## 2.0.1 - (18/01/2024)

This release fixes an issue with shaded artifacts not being deployed to Maven.


## 2.0.0 - (16/06/2023)

This release focuses on providing facilities for creating more precise and detailed diagnostic messages.
Expand Down
57 changes: 25 additions & 32 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,54 +1,49 @@
# Elementary is a suite of libraries that simplify creating and unit testing annotation processors.
# Elementary - Simplify creating and testing annotation processors.

[![Build & Test](https://github.com/Pante/elementary/actions/workflows/build.yml/badge.svg)](https://github.com/Pante/elementary/actions/workflows/build.yml)
[![Codecov](https://codecov.io/gh/Pante/elementary/branch/master/graph/badge.svg)](https://codecov.io/gh/Pante/elementary)
[![CI/CD](https://github.com/Pante/elementary/workflows/Elementary%20CI/CD/badge.svg)](https://github.com/Pante/elementary/actions?query=workflow%3ACI%2FCD)
[![Discord](https://img.shields.io/discord/140273735772012544.svg?style=flat-square)](https://discord.gg/uE4C9NQ)

**Elementary and Utilitary requires Java 11+. Satisfactory requires Java 17.**

**Read the [docs](https://github.com/Pante/elementary/tree/master/docs/elementary) or check out the [Gradle demo project](https://github.com/toolforger/elementary-demo) to get started!**

To get started, check out the [docs](https://github.com/Pante/elementary/tree/master/docs/elementary) & [Gradle example](https://github.com/toolforger/elementary-demo).

***
## Elementary - A suite of tools and JUnit extensions to test annotation processors and compilation
## Elementary - JUnit extensions to test compilation & annotation processors
[![releases-maven](https://img.shields.io/maven-central/v/com.karuslabs/elementary)](https://central.sonatype.com/artifact/com.karuslabs/elementary/)
[![snapshots-maven](https://img.shields.io/maven-metadata/v/https/repo.karuslabs.com/repository/elementary-snapshots/com/karuslabs/elementary/maven-metadata.xml.svg)](https://repo.karuslabs.com/service/rest/repository/browse/elementary-snapshots/com/karuslabs/elementary/)
[![javadoc](https://img.shields.io/badge/javadoc-stable-brightgreen.svg)](https://repo.karuslabs.com/repository/elementary/latest/elementary/apidocs/index.html)
[![javadoc](https://img.shields.io/badge/javadoc-nightly-brightgreen.svg)](https://repo.karuslabs.com/repository/elementary/nightly/elementary/apidocs/index.html)

**Project Status: Mature**

Migrating from Elementary 1? See [migrating to Elementary 2](./docs/elementary/migration/migrating-to-elementary-2.md).
This project is mature. It requires Java 11.

```XML
<!-- Requires JUnit 5.9.3 & above -->
<dependency>
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.9.3</version>
<scope>test</scope>
</dependency>
</dependency>

<dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<version>5.9.3</version>
<scope>test</scope>
</dependency>

<dependency>
<groupId>com.karuslabs</groupId>
<artifactId>elementary</artifactId>
<version>2.0.0</version>
<scope>test</scope>
</dependency>
<version>2.0.1</version>
<scope>test</scope>
</dependency>
</dependencies>
```

***
## Satisfactory - A composable `Element` matching library
## Satisfactory - Composable `Element` matching library
[![releases-maven](https://img.shields.io/maven-metadata/v/https/repo.karuslabs.com/repository/elementary-releases/com/karuslabs/satisfactory/maven-metadata.xml.svg)](https://repo.karuslabs.com/service/rest/repository/browse/elementary-releases/com/karuslabs/satisfactory/)
[![snapshots-maven](https://img.shields.io/maven-metadata/v/https/repo.karuslabs.com/repository/elementary-snapshots/com/karuslabs/satisfactory/maven-metadata.xml.svg)](https://repo.karuslabs.com/service/rest/repository/browse/elementary-snapshots/com/karuslabs/satisfactory/)
[![javadoc](https://img.shields.io/badge/javadoc-stable-brightgreen.svg)](https://repo.karuslabs.com/repository/elementary/latest/satisfactory/apidocs/index.html)
[![javadoc](https://img.shields.io/badge/javadoc-nightly-brightgreen.svg)](https://repo.karuslabs.com/repository/elementary/nightly/satisfactory/apidocs/index.html)

**Project Status: 1.X is mature, 2.X is on hold**

We believe that pattern matching is essential to what Satisfactory is trying to achieve. Unforunately, even Java 21 doesn't currently have fully fledged pattern matching. Therefore, we have elected to put the 2.X rewrite on hold until then.

Satisfactory is hosted the following repository.
This project is currently on hiatus until Java has fully fledged pattern matching.

```xml
<repositories>
Expand All @@ -68,18 +63,16 @@ Satisfactory is hosted the following repository.
```

***
## Utilitary - Utilities to simplify implementation of annotation processors.
## Utilitary - Utilities for annotation processors.
[![releases-maven](https://img.shields.io/maven-central/v/com.karuslabs/utilitary)](https://central.sonatype.com/artifact/com.karuslabs/utilitary/)
[![snapshots-maven](https://img.shields.io/maven-metadata/v/https/repo.karuslabs.com/repository/elementary-snapshots/com/karuslabs/utilitary/maven-metadata.xml.svg)](https://repo.karuslabs.com/service/rest/repository/browse/elementary-snapshots/com/karuslabs/utilitary/)
[![javadoc](https://img.shields.io/badge/javadoc-stable-brightgreen.svg)](https://repo.karuslabs.com/repository/elementary/latest/utilitary/apidocs/index.html)
[![javadoc](https://img.shields.io/badge/javadoc-nightly-brightgreen.svg)](https://repo.karuslabs.com/repository/elementary/nightly/utilitary/apidocs/index.html)

**Project Status: Mature**
This project is mature. It requires Java 11.

```XML
<dependency>
<groupId>com.karuslabs</groupId>
<artifactId>utilitary</artifactId>
<version>2.0.0</version>
<version>2.0.1</version>
</dependency>
```
17 changes: 9 additions & 8 deletions docs/elementary/migration/migrating-to-elementary-2.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# Migrating to Elementary 2

## TL;DR
- `@Case` renamed to `@Label`
- `Cases` renamed to `Labels`
- Replace `Cases.one(String)` with `Labels.get(String)`
- `@Label` values must be unique
- Retrieval by index is longer supported

## Detailed Explanation

This document covers the breaking changes made in Elementary 2.

Elementary 2 aims to provide an API with better ergonomics. This means code written with Elementary 2 will be both less error-prone and easier to understand.
Expand Down Expand Up @@ -75,11 +84,3 @@ of elements less ambiguous (which element am I retrieving?) and hence less error

Lastly, several method names has been renamed to better reflect their purpose/less confusing between the transition from `Cases` to `Labels`. The most prominent being
`Cases.one(String)` -> `Labels.get(String)`.


## TL;DR
- `@Case` renamed to `@Label`
- `Cases` renamed to `Labels`
- Replace `Cases.one(String)` with `Labels.get(String)`
- Label values must be unique
- Retrieval by index is longer supported
Loading

0 comments on commit ab06f46

Please sign in to comment.