Skip to content

Commit

Permalink
Merge branch 'release/0.1-BETA'
Browse files Browse the repository at this point in the history
  • Loading branch information
BrendonButler committed Aug 18, 2023
2 parents 7fc4c26 + b8be5cf commit 0e1f2cd
Show file tree
Hide file tree
Showing 60 changed files with 4,365 additions and 870 deletions.
25 changes: 25 additions & 0 deletions .github/workflows/create-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,16 @@ on:
tags:
- '*'
workflow_dispatch:
inputs:
releaseType:
description: 'Release Type'
required: true
default: release
type: choice
options:
- alpha
- beta
- release

jobs:
publish-release:
Expand All @@ -22,6 +32,7 @@ jobs:
with:
java-version: '17'
distribution: 'zulu'
cache: 'maven'

- name: Get Previous tag
id: previous-tag
Expand Down Expand Up @@ -61,3 +72,17 @@ jobs:
skipIfReleaseExists: true
artifacts: ~/shops-${{ needs.publish-release.outputs.previous-tag }}/shops-${{ needs.publish-release.outputs.previous-tag }}.jar
tag: ${{ needs.publish-release.outputs.previous-tag }}

- name: Upload to CurseForge
uses: itsmeow/curseforge-upload@v3
with:
file_path: ~/shops-${{ needs.publish-release.outputs.previous-tag }}/shops-${{ needs.publish-release.outputs.previous-tag }}.jar
game_endpoint: bukkit
relations: vault:requiredDependency,essentialsx:optionalDependency
game_versions: 'Minecraft 1.18:1.18.2,Minecraft 1.19:1.19.4,Minecraft 1.20:1.20.1,Java 17'
release_type: ${{ inputs.releaseType }}
display_name: Shops ${{ needs.publish-release.outputs.previous-tag }'
#changelog: TODO: ADD GENERATED CHANGELOG
#changelog_type: markdown
project_id: 873479
token: ${{ secrets.CF_API_TOKEN }}
47 changes: 22 additions & 25 deletions .github/workflows/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,38 +22,22 @@ jobs:
with:
java-version: '17'
distribution: 'zulu'
cache: 'maven'

- name: Build and run unit tests
run: mvn clean install

- name: Generate code coverage report
run: mvn jacoco:report

- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v3
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

integration-tests:
name: Integration Tests
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Set up Java
uses: actions/setup-java@v3
- name: Upload 'target' folder as an artifact
id: upload-target-folder
uses: actions/upload-artifact@v3
with:
java-version: '17'
distribution: 'zulu'

- name: Run integration tests
run: mvn verify
name: target
path: target/

documentation:
documentation-and-reporting:
name: Documentation and Reports
runs-on: ubuntu-latest
needs: build-and-test

steps:
- name: Checkout code
Expand All @@ -64,6 +48,19 @@ jobs:
with:
java-version: '17'
distribution: 'zulu'
cache: 'maven'

- name: Download the 'target' folder artifact
id: download-target-folder
uses: actions/download-artifact@v3
with:
name: target
path: target/

- name: Check documentation and publish reports
run: mvn validate site
run: mvn validate site -DskipTests

- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v3
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
51 changes: 28 additions & 23 deletions .idea/jarRepositories.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

63 changes: 63 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# Welcome to the Shops contributing guidelines

Thank you for investing your time in contributing to this project! Any contribution you make will be reflected in the [Shops contributors](https://github.com/BrendonButler/Shops/graphs/contributors).

Read our [Code of Conduct](CODE_OF_CONDUCT.md) to keep our community approachable and respectable.

In this guide you will get an overview of the contribution workflow from forking the repository, creating a PR, reviewing, and merging the PR.

To get an overview of the project, read the [README](README.md).

## Getting started

### Pre-requisites

1. Have [Git](https://github.com/git-guides/install-git) installed and [configured](https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup) on your machine
2. [Fork the Shops repository](https://github.com/BrendonButler/Shops/fork) into your own account
3. Optional: Utilize the Project codestyle for reformatting changes <br>_found here: `Shops/.idea/codeStyles/Project.xml`_

### Issues/Features

#### Create a new issue/feature request

If you identify an issue or want to make a suggestion, [search if an issue already exists](https://docs.github.com/en/github/searching-for-information-on-github/searching-on-github/searching-issues-and-pull-requests#search-by-the-title-body-or-comments). If a related issue doesn't exist, you can open a new issue using a relevant [issue form](https://github.com/BrendonButler/Shops/issues/new).

#### Solve an issue or implement a feature

If an issue doesn't exist for a feature you want to implement, please create an issue first for pre-review. Once it's determined that the feature should be implemented, and you get feedback from owners on the repo, feel free to work on the issue and create a PR.

Scan through the [existing issues](https://github.com/BrendonButler/Shops/issues) to find one that interests you. You can narrow down the search using `labels` as filters. See [Labels](/contributing/how-to-use-labels.md) for more information. As a general rule, we don’t assign issues to anyone. If you find an issue to work on, you are welcome to open a PR with a fix.

#### Make changes locally

1. Fork the repository.
- Using GitHub Desktop:
- [Getting started with GitHub Desktop](https://docs.github.com/en/desktop/installing-and-configuring-github-desktop/getting-started-with-github-desktop) will guide you through setting up Desktop.
- Once Desktop is set up, you can use it to [fork the repo](https://docs.github.com/en/desktop/contributing-and-collaborating-using-github-desktop/cloning-and-forking-repositories-from-github-desktop)!

- Using the command line:
- [Fork the repo](https://docs.github.com/en/github/getting-started-with-github/fork-a-repo#fork-an-example-repository) so that you can make your changes without affecting the original project until you're ready to merge them.

2. Create a working branch and start with your changes!
- Create a branch with the appropriate prefix for the issue type:
- `feature/GH-{ISSUE_NUM}` - use the "feature/GH-##" prefix to create the new feature branch
- `fix/GH-{ISSUE_NUM}` - use the "fix/GH-##" prefix to create a fix branch for bugs and other issues

### Commit your update

When creating commits, please use this format and if there are multiple updates that don't make sense to be added to the specific issue ID, you can create a new line for another issue:
- `GH-123 add CreateCommand to create stores`
- `GH-9999 fix command sender validation in CreateCommand`
- `update README links`

This will ensure fantastic traceability on issues and how the commits relate. For updates such as README enhancements, you can omit the issue tag. These tags will be clickable in the commit history to quickly bring up the issue.

### Pull Request

When you're finished with the changes, create a pull request, also known as a PR.
- Don't forget to [link PR to issue](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue) if you are solving one.
- Enable the checkbox to [allow maintainer edits](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/allowing-changes-to-a-pull-request-branch-created-from-a-fork) so the branch can be updated for a merge.
Once you submit your PR, a project admin will review your proposal. We may ask questions or request additional information.
- We may ask for changes to be made before a PR can be merged, either using [suggested changes](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/incorporating-feedback-in-your-pull-request) or pull request comments. You can apply suggested changes directly through the UI. You can make any other changes in your fork, then commit them to your branch.
- As you update your PR and apply changes, mark each conversation as [resolved](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/commenting-on-a-pull-request#resolving-conversations).
- If you run into any merge issues, checkout this [git tutorial](https://github.com/skills/resolve-merge-conflicts) to help you resolve merge conflicts and other issues.
47 changes: 44 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,52 @@
# Shops
[![CI Pipeline](https://github.com/MrSparkzz/Shops/actions/workflows/pipeline.yml/badge.svg)](https://github.com/MrSparkzz/Shops/actions/workflows/pipeline.yml)
![Codecov](https://img.shields.io/codecov/c/github/MrSparkzz/Shops?logo=codecov&logoColor=white&label=Coverage)
[![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/BrendonButler/Shops/pipeline.yml?logo=github&label=CI%20Pipeline)](https://github.com/BrendonButler/Shops/actions/workflows/pipeline.yml)
[![Codecov](https://img.shields.io/codecov/c/github/BrendonButler/Shops?logo=codecov&logoColor=white&label=Coverage)](https://app.codecov.io/github/BrendonButler/Shops)<br>
[![GitHub downloads](https://img.shields.io/github/downloads/BrendonButler/Shops/total?label=GitHub%20Downloads&logo=github)](https://github.com/BrendonButler/Shops/releases)
[![CurseForge Downloads](https://img.shields.io/curseforge/dt/873479?logo=curseforge&logoColor=white&label=CurseForge%20Downloads&color=f16436)](https://www.curseforge.com/minecraft/bukkit-plugins/command-shops)
<br>
<!--[![CurseForge Game Versions](https://img.shields.io/curseforge/game-versions/873479?label=Available%20for&color=f16436)](https://www.curseforge.com/minecraft/bukkit-plugins/command-shops/files)-->

Shops plugin for Bukkit/Spigot 2022+ [Built for Spigot 1.18]
Shops plugin for Bukkit/Spigot 2022+

![Shops social image](https://repository-images.githubusercontent.com/388618586/0d033997-0fcd-44db-a53d-c635f8bc38f5)

**Depends on:** [Vault](https://github.com/MilkBowl/Vault)

**Requires economy plugin (compatible with Vault) such as:** [EssentialsX](https://github.com/EssentialsX/Essentials)

### What is Shops?
_Shops is a vanilla-style, command-driven shopping plugin for Spigot Servers._

As a shopping plugin, you can create location based stores and add/remove/update items in the inventory for your (stores).
For _customers_, when in a store, you can buy items from the store, sell items to the store, and browse the store's catalog.

### Why Command Shops?
Really this stemmed from nostalgia when I used to play on my friend's cousin's Minecraft server where it used Towny and
some location-based shopping plugin to make for an ultimate survival multiplayer server. Back then, most of your
plugins would be controlled through commands instead of UI elements.

With _newer_ features such as tab complete to autofill suggested command arguments such as online players and
materials, it really makes these command shops even easier to interact with. Sure, pulling up an inventory UI may be
much more simple and intuitive for players, I'm sure there are still server operators that enjoy a more vanilla
approach, accomplished by commands.

I intend to use this on my personal server(s) with friends/family as well. So this was really created as a personal
project that I could learn from.

### What if there's a feature I feel is missing?
I believe I have thought of most of the features that I _want_ to implement, but I am definitely open to suggestions.
If you would like to make a new request, please visit the [issues page](https://github.com/BrendonButler/Shops/issues?q=is%3Aissue)
on GitHub and search for keywords in your feature/request. If you can't find an existing or closed issue, please feel
free to click "New Issue" and try to fill it out in detail with what you would like to see added or improved and why.

Being detailed in your request and explaining the need/want clearly will aid in my decision of whether I deem the
feature or request to be in accordance with my goals for this project.

### How can I contribute?
If you're looking to implement any of the [open issues](https://github.com/BrendonButler/Shops/issues) please review
the [Contributing Guidelines](https://github.com/BrendonButler/Shops/blob/develop/CONTRIBUTING.md).

This can be a great way to add projects and workflows to your portfolio and resumé.

I would like to restate the importance of following the [Contributing Guidelines](https://github.com/BrendonButler/Shops/blob/develop/CONTRIBUTING.md) carefully as to make the review process
smoother.
Loading

0 comments on commit 0e1f2cd

Please sign in to comment.