From 995f95483cba358e43acaf433d6b3da6e4235d31 Mon Sep 17 00:00:00 2001 From: Ricardo Costa Date: Sun, 19 Oct 2025 14:46:04 +0100 Subject: [PATCH 1/8] Publish API on Maven Central --- liquidjava-api/pom.xml | 159 +++++++++++++++++++++++++++++++++-------- 1 file changed, 130 insertions(+), 29 deletions(-) diff --git a/liquidjava-api/pom.xml b/liquidjava-api/pom.xml index a0ff0e4b..66913a00 100644 --- a/liquidjava-api/pom.xml +++ b/liquidjava-api/pom.xml @@ -9,44 +9,145 @@ 1.0 - liquidjava-api + io.github.rcosta358 liquidjava-api - 0.0.2-SNAPSHOT + 0.0.2 liquidjava-api + LiquidJava API + https://github.com/CatarinaGamboa/liquidjava jar + + + MIT License + https://opensource.org/licenses/MIT + repo + + + + + + CatarinaGamboa + Catarina Gamboa + CatarinaGamboa@users.noreply.github.com + https://github.com/CatarinaGamboa + + + alcides + Alcides Fonseca + alcides@users.noreply.github.com + https://github.com/alcides + + + rcosta358 + Ricardo Costa + rcosta358@users.noreply.github.com + https://github.com/rcosta358 + + + + + scm:git:git://github.com/CatarinaGamboa/liquidjava.git + scm:git:ssh://github.com:CatarinaGamboa/liquidjava.git + https://github.com/CatarinaGamboa/liquidjava/tree/main + + - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.8.1 - - 20 - 20 - - - - + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + 20 + 20 + + + + + + org.apache.maven.plugins + maven-source-plugin + 3.3.0 + + + attach-sources + + jar-no-fork + + + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.6.0 + + + attach-javadocs + + jar + + + + + none + 20 + + + + + + org.apache.maven.plugins + maven-gpg-plugin + 3.1.0 + + + sign-artifacts + verify + + sign + + + + + + + + org.apache.maven.plugins + maven-deploy-plugin + 3.1.2 + + true + + + + + + org.sonatype.central + central-publishing-maven-plugin + 0.9.0 + true + + central + + + + + + + central + https://central.sonatype.com/api/v1/publisher + + + 20 20 20 - + \ No newline at end of file From 09906769a9941cf28704d9ad0bcbac710fbd5650 Mon Sep 17 00:00:00 2001 From: Ricardo Costa Date: Sun, 19 Oct 2025 14:55:04 +0100 Subject: [PATCH 2/8] Fix Maven for CI --- .github/workflows/maven.yml | 2 +- liquidjava-api/pom.xml | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 6bcc4b7e..2c494548 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -48,7 +48,7 @@ jobs: # Build the project (compiles and packages the code) - name: Build the project - run: mvn -B -X -e clean install --file pom.xml --batch-mode --fail-fast + run: mvn -B -X -e clean install --file pom.xml --batch-mode --fail-fast -Dgpg.skip=true -Dmaven.deploy.skip=true # Run tests - name: Run tests diff --git a/liquidjava-api/pom.xml b/liquidjava-api/pom.xml index 66913a00..60864ccc 100644 --- a/liquidjava-api/pom.xml +++ b/liquidjava-api/pom.xml @@ -103,6 +103,9 @@ org.apache.maven.plugins maven-gpg-plugin 3.1.0 + + ${gpg.skip} + sign-artifacts @@ -132,6 +135,7 @@ true central + ${maven.deploy.skip} From 54e4de559716f0aec990de15a1dcf92ba842ed50 Mon Sep 17 00:00:00 2001 From: Ricardo Costa Date: Sun, 19 Oct 2025 14:57:50 +0100 Subject: [PATCH 3/8] Fix pom.xml --- liquidjava-verifier/pom.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/liquidjava-verifier/pom.xml b/liquidjava-verifier/pom.xml index 21464fa3..6b1161cd 100644 --- a/liquidjava-verifier/pom.xml +++ b/liquidjava-verifier/pom.xml @@ -172,9 +172,9 @@ - liquidjava-api + io.github.rcosta358 liquidjava-api - 0.0.2-SNAPSHOT + 0.0.2 @@ -200,9 +200,9 @@ import - liquidjava-api + io.github.rcosta358 liquidjava-api - 0.0.2-SNAPSHOT + 0.0.2 From bb6a5f614277ba78fbc1444237297015493a13ee Mon Sep 17 00:00:00 2001 From: Ricardo Costa Date: Sun, 19 Oct 2025 15:02:47 +0100 Subject: [PATCH 4/8] Fix CI --- .github/workflows/maven.yml | 8 ++++---- liquidjava-example/pom.xml | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 2c494548..c34294ee 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -42,14 +42,14 @@ jobs: uses: actions/cache@v3 with: path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} # Cache dependencies based on pom.xml changes + key: ${{ runner.os }}-maven-v2-${{ hashFiles('**/pom.xml') }} # Cache dependencies based on pom.xml changes restore-keys: | - ${{ runner.os }}-maven- + ${{ runner.os }}-maven-v2- # Build the project (compiles and packages the code) - name: Build the project - run: mvn -B -X -e clean install --file pom.xml --batch-mode --fail-fast -Dgpg.skip=true -Dmaven.deploy.skip=true + run: mvn -B clean install --file pom.xml --batch-mode --fail-fast -Dgpg.skip=true -Dmaven.deploy.skip=true # Run tests - name: Run tests - run: mvn test -B -X -e --file pom.xml --batch-mode --fail-fast + run: mvn test -B --file pom.xml --batch-mode --fail-fast diff --git a/liquidjava-example/pom.xml b/liquidjava-example/pom.xml index 10b8aadf..844b1865 100644 --- a/liquidjava-example/pom.xml +++ b/liquidjava-example/pom.xml @@ -48,9 +48,9 @@ ${version.memcompiler} - liquidjava-api + io.github.rcosta358 liquidjava-api - 0.0.2-SNAPSHOT + 0.0.2 From cf4edce40b5abe5f2b6a61051b6961a4806db997 Mon Sep 17 00:00:00 2001 From: Ricardo Costa Date: Sun, 19 Oct 2025 15:06:02 +0100 Subject: [PATCH 5/8] Add Dependency to README --- README.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/README.md b/README.md index cf2aa782..ca3b1983 100644 --- a/README.md +++ b/README.md @@ -41,6 +41,28 @@ Before setting up LiquidJava, ensure you have the following installed: - Java 20+ - JDK for compiling and running Java programs - Maven 3.6+ - For building and dependency management +Additionally, you'll need the following dependency, which includes the LiquidJava API annotations: + +#### Maven +```xml + + io.github.rcosta358 + liquidjava-api + 0.0.2 + +``` + +#### Gradle +```groovy +repositories { + mavenCentral() +} + +dependencies { + implementation 'io.github.rcosta358:liquidjava-api:0.0.2' +} +``` + #### Setup 1. Clone the repository: `git clone https://github.com/CatarinaGamboa/liquidjava.git` From ba09888e37395e61181e646659336ad9baa06628 Mon Sep 17 00:00:00 2001 From: Ricardo Costa Date: Sun, 19 Oct 2025 19:20:32 +0100 Subject: [PATCH 6/8] Update README --- README.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index ca3b1983..6db0508a 100644 --- a/README.md +++ b/README.md @@ -18,17 +18,18 @@ This project contains the LiquidJava verifier and its API, as well as some examp You can find out more about LiquidJava in the following resources: -* [Try it](https://github.com/CatarinaGamboa/liquidjava-examples) with GitHub Codespaces or locally -* [VS Code extension for LiquidJava](https://github.com/CatarinaGamboa/vscode-liquidjava) -* [LiquidJava website](https://catarinagamboa.github.io/liquidjava.html) -* [LiquidJava specification examples for the Java standard library](https://github.com/CatarinaGamboa/liquid-java-external-libs) +* [LiquidJava Website](https://catarinagamboa.github.io/liquidjava.html) +* [VS Code Extension (Marketplace)](https://marketplace.visualstudio.com/items?itemName=AlcidesFonseca.liquid-java) +* [VS Code Extension (Source Code)](https://github.com/CatarinaGamboa/vscode-liquidjava) +* [LiquidJava Examples](https://github.com/CatarinaGamboa/liquidjava-examples) +* [LiquidJava External Libraries Examples](https://github.com/CatarinaGamboa/liquid-java-external-libs) ## Getting Started ### VS Code Extension -The easiest way to use LiquidJava is through its [VS Code extension](https://github.com/CatarinaGamboa/vscode-liquidjava), which uses the LiquidJava verifier directly inside VS Code, with error diagnostics and syntax highlighting for refinements. +The easiest way to use LiquidJava is through its [VS Code extension](https://marketplace.visualstudio.com/items?itemName=AlcidesFonseca.liquid-java), which uses the LiquidJava verifier directly inside VS Code, with real-time error diagnostics and syntax highlighting for refinements. ### Command Line From 56765b840d42c665ae560c9a95f746c9d6e285d7 Mon Sep 17 00:00:00 2001 From: Ricardo Costa Date: Sun, 19 Oct 2025 21:07:01 +0100 Subject: [PATCH 7/8] Remove Parent POM from API POM Otherwise we would need to publish the parent on maven central as well --- liquidjava-api/pom.xml | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/liquidjava-api/pom.xml b/liquidjava-api/pom.xml index 60864ccc..bddf1a36 100644 --- a/liquidjava-api/pom.xml +++ b/liquidjava-api/pom.xml @@ -3,15 +3,9 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - - liquidjava - liquidjava-umbrella - 1.0 - - io.github.rcosta358 liquidjava-api - 0.0.2 + 0.0.3 liquidjava-api LiquidJava API https://github.com/CatarinaGamboa/liquidjava @@ -150,6 +144,7 @@ + UTF-8 20 20 20 From 2f01e43c085f360dcd2e1fb04c86a6609633ee54 Mon Sep 17 00:00:00 2001 From: Ricardo Costa Date: Mon, 20 Oct 2025 10:57:59 +0100 Subject: [PATCH 8/8] Update API Version --- README.md | 4 ++-- liquidjava-example/pom.xml | 2 +- liquidjava-verifier/pom.xml | 7 +------ 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 6db0508a..bd40d963 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,7 @@ Additionally, you'll need the following dependency, which includes the LiquidJav io.github.rcosta358 liquidjava-api - 0.0.2 + 0.0.3 ``` @@ -60,7 +60,7 @@ repositories { } dependencies { - implementation 'io.github.rcosta358:liquidjava-api:0.0.2' + implementation 'io.github.rcosta358:liquidjava-api:0.0.3' } ``` diff --git a/liquidjava-example/pom.xml b/liquidjava-example/pom.xml index 844b1865..a019cc82 100644 --- a/liquidjava-example/pom.xml +++ b/liquidjava-example/pom.xml @@ -50,7 +50,7 @@ io.github.rcosta358 liquidjava-api - 0.0.2 + 0.0.3 diff --git a/liquidjava-verifier/pom.xml b/liquidjava-verifier/pom.xml index 6b1161cd..93a0dff2 100644 --- a/liquidjava-verifier/pom.xml +++ b/liquidjava-verifier/pom.xml @@ -174,7 +174,7 @@ io.github.rcosta358 liquidjava-api - 0.0.2 + 0.0.3 @@ -199,11 +199,6 @@ pom import - - io.github.rcosta358 - liquidjava-api - 0.0.2 -