Skip to content

Commit

Permalink
[1.0.0] - 2024-03-01
Browse files Browse the repository at this point in the history
  • Loading branch information
fugerit79 committed Mar 1, 2024
1 parent 9fffdea commit fc2e719
Show file tree
Hide file tree
Showing 16 changed files with 846 additions and 2 deletions.
67 changes: 67 additions & 0 deletions .github/workflows/build_maven_compatibility.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# CI maven compatibility check
#
# version 1.0.0
#
# see : https://universe.fugerit.org/src/docs/conventions/workflows/build_maven_compatibility.html

name: CI maven compatibility check

on:
# Trigger analysis when pushing in master or pull requests, and when creating
# a pull request.
push:
branches:
- branch-compatibility

jobs:
check-main:
runs-on: ${{ matrix.os }}
strategy:
matrix:
distribution: [ 'corretto' ]
java: [ '11', '17', '21' ]
os: [ 'ubuntu-latest', 'macos-latest', 'windows-latest' ]
name: Java ${{ matrix.os }} ${{ matrix.java }} (${{ matrix.distribution }}) compatibility check
steps:
- uses: actions/checkout@main
- name: Setup java
uses: actions/setup-java@main
with:
distribution: ${{ matrix.distribution }}
java-version: ${{ matrix.java }}
- name: Maven build
run: mvn clean install -P full,coverage
check-alt:
runs-on: ${{ matrix.os }}
strategy:
matrix:
distribution: [ 'oracle', 'temurin' ]
java: [ '17' ]
os: [ 'ubuntu-latest' ]
name: Java ${{ matrix.os }} ${{ matrix.java }} (${{ matrix.distribution }}) compatibility check
steps:
- uses: actions/checkout@main
- name: Setup java
uses: actions/setup-java@main
with:
distribution: ${{ matrix.distribution }}
java-version: ${{ matrix.java }}
- name: Maven build
run: mvn clean install -P full,coverage
check-ms:
runs-on: ${{ matrix.os }}
strategy:
matrix:
distribution: [ 'microsoft' ]
java: [ '17' ]
os: [ 'windows-latest' ]
name: Java ${{ matrix.os }} ${{ matrix.java }} (${{ matrix.distribution }}) compatibility check
steps:
- uses: actions/checkout@main
- name: Setup java
uses: actions/setup-java@main
with:
distribution: ${{ matrix.distribution }}
java-version: ${{ matrix.java }}
- name: Maven build
run: mvn clean install -P full,coverage
32 changes: 32 additions & 0 deletions .github/workflows/build_maven_package.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# CI with maven build and scan
#
# version 1.1.0
#
# see : https://universe.fugerit.org/src/docs/conventions/workflows/build_maven_package.html

name: CI maven build and scan

on:
# Trigger analysis when pushing in master or pull requests, and when creating
# a pull request.
push:
branches:
- main
- develop
- branch-preview
pull_request:
types:
- opened
- synchronize
- reopened

jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- uses: fugerit-org/psychic-actions/maven-build-scan@stable
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
sonar-token: ${{ secrets.SONAR_TOKEN }}
disable-maven-dependency-submission: ${{ vars.DISABLE_MAVEN_DEPENDENCY_SUBMISSION }}
84 changes: 84 additions & 0 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
# CodeQL
#
# version 1.0.0
#
# see : https://universe.fugerit.org/src/docs/conventions/workflows/codeql-analysis.html

# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.

name: "CodeQL"

on:
push:
branches: [ "main" ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ "main" ]
schedule:
- cron: '29 3 * * 4'

jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write

strategy:
fail-fast: false
matrix:
language: [ 'java', 'javascript' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
# Use only 'java' to analyze code written in Java, Kotlin or both
# Use only 'javascript' to analyze code written in JavaScript, TypeScript or both
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support

steps:
- name: Checkout repository
uses: actions/checkout@main

- name: Set up JDK 17
uses: actions/setup-java@main
with:
java-version: '17'
distribution: 'corretto'
cache: 'maven'

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@main
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.

# Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# queries: security-extended,security-and-quality


# Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@main

# ℹ️ Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun

# If the Autobuild fails above, remove it and uncomment the following three lines.
# modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.

# - run: |
# echo "Run, Build Application using script"
# ./location_of_script_within_repo/buildscript.sh

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@main
with:
category: "/language:${{matrix.language}}"
38 changes: 38 additions & 0 deletions .github/workflows/deploy_maven_package.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# CI deploy maven package
#
# version 1.0.0
#
# see : https://universe.fugerit.org/src/docs/conventions/workflows/deploy_maven_package.html

name: CI deploy maven package

on:
push:
branches:
- branch-deploy

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@main
- name: Set up JDK 17
uses: actions/setup-java@main
with:
java-version: '17'
distribution: 'corretto'
cache: maven
server-id: ossrh
server-username: MAVEN_USERNAME
server-password: MAVEN_PASSWORD
- name: Import gpg
run: echo -e "${{ secrets.PASSPHRASE }}" | echo -e "${{ secrets.GPG_PRIVATE_KEY }}" | gpg --allow-secret-key-import --import
- name: Build package
run: mvn clean install -P full,coverage,metadata
- name: Publish package
run: mvn --batch-mode deploy -P doRelease
env:
MAVEN_USERNAME: ${{ secrets.OSS_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.OSS_PASSWORD }}
108 changes: 108 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
### Idea Intellij ###
.idea/
*.iml

### Eclipse ###

.DS_Store

.metadata
bin/
tmp/
*.tmp
*.bak
*.swp
*~.nib
local.properties
.settings/
.loadpath
.recommenders

.vscode/

# Eclipse Core
.project

# External tool builders
.externalToolBuilders/

# Locally stored "Eclipse launch configurations"
*.launch

# PyDev specific (Python IDE for Eclipse)
*.pydevproject

# CDT-specific (C/C++ Development Tooling)
.cproject

# JDT-specific (Eclipse Java Development Tools)
.classpath

# Java annotation processor (APT)
.factorypath

# PDT-specific (PHP Development Tools)
.buildpath

# sbteclipse plugin
.target

# Tern plugin
.tern-project

# TeXlipse plugin
.texlipse

# STS (Spring Tool Suite)
.springBeans

# Code Recommenders
.recommenders/

# Scala IDE specific (Scala & Java development for Eclipse)
.cache-main
.scala_dependencies
.worksheet

### Java ###
# Compiled class file
*.class

# Log file
*.log

# BlueJ files
*.ctxt

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.jar
*.war
*.ear
*.zip
*.tar.gz
*.rar

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*

### Maven ###
target/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties

# Avoid ignoring Maven wrapper jar file (.jar files are usually ignored)
!/.mvn/wrapper/maven-wrapper.jar

# End of https://www.gitignore.io/api/java,maven,eclipse

/.apt_generated/
/.apt_generated_tests/
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Changelog

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.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [1.0.0] - 2024-03-01

### Added

- GenerateReflectConfig API
3 changes: 3 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Code of conduct

refer to [fugerit-org](https://github.com/fugerit-org) [code of conduct](https://github.com/fugerit-org/fj-universe/blob/main/CODE_OF_CONDUCT.md).
Loading

0 comments on commit fc2e719

Please sign in to comment.