Skip to content

Commit

Permalink
feat: add maven central repo support
Browse files Browse the repository at this point in the history
  • Loading branch information
r4tylmz committed Nov 11, 2024
1 parent 4c47b39 commit edcf0e9
Show file tree
Hide file tree
Showing 45 changed files with 248 additions and 153 deletions.
44 changes: 30 additions & 14 deletions .github/workflows/maven-publish.yml
Original file line number Diff line number Diff line change
@@ -1,27 +1,43 @@
name: Publish package to the Maven Central Repository
name: Deploy to Maven Central

on:
release:
types: [ created ]
workflow_dispatch:
inputs:
version:
description: 'Version to publish'
required: true

jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Maven Central Repository
uses: actions/setup-java@v4
- name: Step 1 - Checkout code
uses: actions/checkout@v3
with:
ref: ${{ github.ref_name }} # Dynamically use branch name

- name: Step 2 - Import GPG Key
run: |
echo "${{ secrets.GPG_PUBLIC_KEY }}" | gpg --import
echo "${{ secrets.GPG_SECRET_KEY }}" | gpg --import --no-tty --batch --yes
env:
GPG_PUBLIC_KEY: ${{ secrets.GPG_PUBLIC_KEY }}
GPG_SECRET_KEY: ${{ secrets.GPG_SECRET_KEY }}

- name: Step 3 - Set up Maven Central Repository
uses: actions/setup-java@v3
with:
java-version: '8'
distribution: 'temurin'
server-id: central
server-username: MAVEN_USERNAME
server-password: MAVEN_PASSWORD
gpg-private-key: ${{ secrets.GPG_SIGNING_KEY }}
gpg-private-key: ${{ secrets.GPG_SECRET_KEY }}
gpg-passphrase: MAVEN_GPG_PASSPHRASE
- name: Set version
run: mvn versions:set -DnewVersion=${{ github.event.release.tag_name }}
- name: Publish package
run: mvn -P release --batch-mode deploy -DskipTests

- name: Step 3 - Publish Package to Maven Central
env:
MAVEN_USERNAME: ${{ secrets.CENTRAL_TOKEN_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.CENTRAL_TOKEN_PASSWORD }}
MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_SIGNING_KEY_PASSWORD }}
MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }}
MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
run: mvn clean deploy -P release -DskipTests --batch-modeSetting Up Github Secrets
95 changes: 75 additions & 20 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,11 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.r4tylmz.betterpoi</groupId>
<groupId>io.github.r4tylmz</groupId>
<artifactId>better-poi</artifactId>
<version>0.0.1-SNAPSHOT</version>
<version>1.0.0</version>
<name>better-poi</name>
<url>https://github.com/r4tylmz/better-poi</url>
<description>A better Apache POI utility library</description>

<properties>
Expand All @@ -19,6 +20,29 @@
<maven.compiler.target>1.8</maven.compiler.target>
</properties>

<developers>
<developer>
<id>r4tylmz</id>
<name>Ahmed Yılmaz</name>
<email>ahmedylmz@hotmail.com</email>
</developer>
</developers>


<licenses>
<license>
<name>Apache License, Version 2.0</name>
<url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>

<scm>
<connection>scm:git:git://github.com/r4tylmz/better-poi.git</connection>
<developerConnection>scm:git:ssh://github.com:r4tylmz/better-poi.git</developerConnection>
<url>https://github.com/r4tylmz/better-poi/tree/main</url>
</scm>

<dependencies>
<dependency>
<groupId>org.apache.poi</groupId>
Expand Down Expand Up @@ -64,30 +88,65 @@
<version>${slf4j.version}</version>
</dependency>
</dependencies>
<!--Maven Plugin for Publishing-->
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.11.0</version>
<configuration>
<source>${maven.compiler.source}</source>
<target>${maven.compiler.target}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
<version>0.5.0</version>
<extensions>true</extensions>
<configuration>
<publishingServerId>central</publishingServerId>
<tokenAuth>true</tokenAuth>
</configuration>
</plugin>
<!-- GPG Signed Components -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
<configuration>
<gpgArguments>
<arg>--pinentry-mode</arg>
<arg>loopback</arg>
</gpgArguments>
</configuration>
</plugin>
</plugins>
</build>


<profiles>
<profile>
<id>release</id>
<build>
<plugins>
<plugin>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
<version>0.4.0</version>
<extensions>true</extensions>
<configuration>
<publishingServerId>central</publishingServerId>
<tokenAuth>true</tokenAuth>
<autoPublish>true</autoPublish>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.3.0</version>
<version>3.2.1</version>
<executions>
<execution>
<id>attach-sources</id>
<phase>verify</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
Expand All @@ -100,16 +159,12 @@
<version>3.6.3</version>
<executions>
<execution>
<id>attach-javadoc</id>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
<configuration>
<stylesheet>java</stylesheet>
<doclint>none</doclint>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
Expand Down
24 changes: 24 additions & 0 deletions settings.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"
xmlns="http://maven.apache.org/SETTINGS/1.0.0">
<servers>
<server>
<id>central</id>
<username>${env.MAVEN_USERNAME}</username>
<password>${env.MAVEN_PASSWORD}</password>
</server>
</servers>
<profiles>
<profile>
<id>central</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<gpg.executable>gpg</gpg.executable>
<gpg.passphrase>${env.MAVEN_GPG_PASSPHRASE}</gpg.passphrase>
</properties>
</profile>
</profiles>
</settings>
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package com.r4tylmz.betterpoi;
package io.github.r4tylmz.betterpoi;

import com.r4tylmz.betterpoi.annotation.BPColumn;
import com.r4tylmz.betterpoi.annotation.BPSheet;
import com.r4tylmz.betterpoi.utils.ColUtil;
import io.github.r4tylmz.betterpoi.annotation.BPColumn;
import io.github.r4tylmz.betterpoi.annotation.BPSheet;
import io.github.r4tylmz.betterpoi.utils.ColUtil;
import org.apache.commons.beanutils.PropertyUtils;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.r4tylmz.betterpoi;
package io.github.r4tylmz.betterpoi;

import com.r4tylmz.betterpoi.annotation.BPColumn;
import io.github.r4tylmz.betterpoi.annotation.BPColumn;
import org.apache.poi.ss.usermodel.Font;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFColor;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package com.r4tylmz.betterpoi;
package io.github.r4tylmz.betterpoi;

import com.r4tylmz.betterpoi.annotation.BPColumn;
import com.r4tylmz.betterpoi.annotation.BPExcelWorkbook;
import com.r4tylmz.betterpoi.annotation.BPSheet;
import com.r4tylmz.betterpoi.enums.ExcelType;
import com.r4tylmz.betterpoi.utils.CellUtil;
import com.r4tylmz.betterpoi.utils.ColUtil;
import com.r4tylmz.betterpoi.utils.ExcelUtils;
import io.github.r4tylmz.betterpoi.annotation.BPColumn;
import io.github.r4tylmz.betterpoi.annotation.BPExcelWorkbook;
import io.github.r4tylmz.betterpoi.annotation.BPSheet;
import io.github.r4tylmz.betterpoi.enums.ExcelType;
import io.github.r4tylmz.betterpoi.utils.CellUtil;
import io.github.r4tylmz.betterpoi.utils.ColUtil;
import io.github.r4tylmz.betterpoi.utils.ExcelUtils;
import org.apache.commons.beanutils.ConvertUtilsBean2;
import org.apache.commons.beanutils.Converter;
import org.apache.commons.beanutils.PropertyUtils;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package com.r4tylmz.betterpoi;
package io.github.r4tylmz.betterpoi;

import com.r4tylmz.betterpoi.annotation.BPColumn;
import com.r4tylmz.betterpoi.annotation.BPSheet;
import com.r4tylmz.betterpoi.annotation.BPWorkbook;
import io.github.r4tylmz.betterpoi.annotation.BPColumn;
import io.github.r4tylmz.betterpoi.annotation.BPSheet;
import io.github.r4tylmz.betterpoi.annotation.BPWorkbook;
import org.apache.commons.beanutils.PropertyUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package com.r4tylmz.betterpoi;
package io.github.r4tylmz.betterpoi;

import com.r4tylmz.betterpoi.annotation.BPColumn;
import com.r4tylmz.betterpoi.annotation.BPSheet;
import com.r4tylmz.betterpoi.validation.CellValidatorManager;
import com.r4tylmz.betterpoi.validation.ColValidatorManager;
import com.r4tylmz.betterpoi.validation.RowValidatorManager;
import io.github.r4tylmz.betterpoi.annotation.BPColumn;
import io.github.r4tylmz.betterpoi.annotation.BPSheet;
import io.github.r4tylmz.betterpoi.validation.CellValidatorManager;
import io.github.r4tylmz.betterpoi.validation.ColValidatorManager;
import io.github.r4tylmz.betterpoi.validation.RowValidatorManager;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.r4tylmz.betterpoi.annotation;
package io.github.r4tylmz.betterpoi.annotation;

import com.r4tylmz.betterpoi.constraint.DefaultConstraint;
import com.r4tylmz.betterpoi.validation.cell.CellValidator;
import io.github.r4tylmz.betterpoi.constraint.DefaultConstraint;
import io.github.r4tylmz.betterpoi.validation.cell.CellValidator;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.r4tylmz.betterpoi.annotation;
package io.github.r4tylmz.betterpoi.annotation;

import java.io.Serializable;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package com.r4tylmz.betterpoi.annotation;
package io.github.r4tylmz.betterpoi.annotation;

import com.r4tylmz.betterpoi.constraint.ColConstraint;
import com.r4tylmz.betterpoi.constraint.DefaultConstraint;
import com.r4tylmz.betterpoi.constraint.RowConstraint;
import io.github.r4tylmz.betterpoi.constraint.ColConstraint;
import io.github.r4tylmz.betterpoi.constraint.DefaultConstraint;
import io.github.r4tylmz.betterpoi.constraint.RowConstraint;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.r4tylmz.betterpoi.annotation;
package io.github.r4tylmz.betterpoi.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.r4tylmz.betterpoi.constraint;
package io.github.r4tylmz.betterpoi.constraint;

import com.r4tylmz.betterpoi.annotation.BPSheet;
import io.github.r4tylmz.betterpoi.annotation.BPSheet;
import org.apache.poi.ss.usermodel.Sheet;

import java.util.Map;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.r4tylmz.betterpoi.constraint;
package io.github.r4tylmz.betterpoi.constraint;

import org.apache.poi.ss.usermodel.Cell;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.r4tylmz.betterpoi.constraint;
package io.github.r4tylmz.betterpoi.constraint;

import com.r4tylmz.betterpoi.validation.cell.CellValidator;
import io.github.r4tylmz.betterpoi.validation.cell.CellValidator;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package com.r4tylmz.betterpoi.constraint;
package io.github.r4tylmz.betterpoi.constraint;

import com.r4tylmz.betterpoi.annotation.BPSheet;
import com.r4tylmz.betterpoi.validation.cell.CellHolder;
import com.r4tylmz.betterpoi.validation.cell.CellValidator;
import io.github.r4tylmz.betterpoi.annotation.BPSheet;
import io.github.r4tylmz.betterpoi.validation.cell.CellHolder;
import io.github.r4tylmz.betterpoi.validation.cell.CellValidator;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Sheet;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.r4tylmz.betterpoi.constraint;
package io.github.r4tylmz.betterpoi.constraint;

import com.r4tylmz.betterpoi.annotation.BPSheet;
import io.github.r4tylmz.betterpoi.annotation.BPSheet;
import org.apache.poi.ss.usermodel.Sheet;

import java.util.Map;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.r4tylmz.betterpoi.enums;
package io.github.r4tylmz.betterpoi.enums;

/**
* Enum representing the types of Excel files.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.r4tylmz.betterpoi.utils;
package io.github.r4tylmz.betterpoi.utils;

import org.apache.commons.beanutils.ConvertUtilsBean2;
import org.apache.commons.beanutils.converters.DateConverter;
Expand Down
Loading

0 comments on commit edcf0e9

Please sign in to comment.